From 77761554d954f95fcc55b77d4ed1be1f98622e87 Mon Sep 17 00:00:00 2001 From: Qingping Hou Date: Tue, 12 Jun 2012 14:52:35 +0800 Subject: [PATCH] add CreDocument:engineInit() method --- frontend/document/credocument.lua | 35 +++++++++++++++++++------------ frontend/document/document.lua | 8 +++---- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/frontend/document/credocument.lua b/frontend/document/credocument.lua index 848e176c2..f9c4c637f 100644 --- a/frontend/document/credocument.lua +++ b/frontend/document/credocument.lua @@ -1,10 +1,11 @@ -require "cache" require "ui/geometry" CreDocument = Document:new{ _document = false, + engine_initilized = false, + line_space_percent = 100, - --dc_null = DrawContext.new() + default_font = "Droid Sans Fallback", } -- NuPogodi, 20.05.12: inspect the zipfile content @@ -22,20 +23,28 @@ function CreDocument:zipContentExt(fname) return string.lower(string.match(s, ".+%.([^.]+)")) end -function CreDocument:init() - -- we need to initialize the CRE font list - local fonts = Font:getFontList() - for _k, _v in ipairs(fonts) do - local ok, err = pcall(cre.registerFont, Font.fontdir..'/'.._v) - if not ok then - DEBUG(err) +function CreDocument:engineInit() + if not engine_initilized then + -- we need to initialize the CRE font list + local fonts = Font:getFontList() + for _k, _v in ipairs(fonts) do + local ok, err = pcall(cre.registerFont, Font.fontdir..'/'.._v) + if not ok then + DEBUG(err) + end + end + + local default_font = G_reader_settings:readSetting("cre_font") + if default_font then + self.default_font = default_font end + + engine_initilized = true end +end - --local default_font = G_reader_settings:readSetting("cre_font") - --if default_font then - --self.default_font = default_font - --end +function CreDocument:init() + self:engineInit() local ok local file_type = string.lower(string.match(self.file, ".+%.([^.]+)")) diff --git a/frontend/document/document.lua b/frontend/document/document.lua index 3f8874b2c..9d2ddef3f 100644 --- a/frontend/document/document.lua +++ b/frontend/document/document.lua @@ -9,10 +9,6 @@ function DocumentRegistry:addProvider(extension, mimetype, provider) table.insert(self.providers, { extension = extension, mimetype = mimetype, provider = provider }) end -function DocumentRegistry:openDocument(file) - return self:getProvider(file):new{file = file} -end - function DocumentRegistry:getProvider(file) -- TODO: some implementation based on mime types? local extension = string.lower(string.match(file, ".+%.([^.]+)")) @@ -23,6 +19,10 @@ function DocumentRegistry:getProvider(file) end end +function DocumentRegistry:openDocument(file) + return self:getProvider(file):new{file = file} +end + --[[ This is an abstract interface to a document