Added Embedded Fonts config toggle

Just under the existing "Embedded Styles". Support for this
was already there in crengine, and interfacing is similar to
what is done with Embedded Styles.
pull/3166/head
poire-z 7 years ago committed by Frans de Jonge
parent 40ec848098
commit 774d2345e0

@ -26,6 +26,21 @@ function ReaderTypeset:onReadSettings(config)
self.css = self.ui.document.default_css
end
self.embedded_fonts = config:readSetting("embedded_fonts")
if self.embedded_fonts == nil then
-- default to enable embedded fonts
-- note that it's a bit confusing here:
-- global settins store 0/1, while document settings store false/true
-- we leave it that way for now to maintain backwards compatibility
local global = G_reader_settings:readSetting("copt_embedded_fonts")
self.embedded_fonts = (global == nil or global == 1) and true or false
end
-- As this is new, call it only when embedded_fonts are explicitely disabled
-- self.ui.document:setEmbeddedFonts(self.embedded_fonts and 1 or 0)
if not self.embedded_fonts then
self.ui.document:setEmbeddedFonts(0)
end
self.embedded_css = config:readSetting("embedded_css")
if self.embedded_css == nil then
-- default to enable embedded css
@ -61,6 +76,7 @@ function ReaderTypeset:onSaveSettings()
self.ui.doc_settings:saveSetting("css", self.css)
self.ui.doc_settings:saveSetting("embedded_css", self.embedded_css)
self.ui.doc_settings:saveSetting("floating_punctuation", self.floating_punctuation)
self.ui.doc_settings:saveSetting("embedded_fonts", self.embedded_fonts)
end
function ReaderTypeset:onToggleEmbeddedStyleSheet(toggle)
@ -68,6 +84,11 @@ function ReaderTypeset:onToggleEmbeddedStyleSheet(toggle)
return true
end
function ReaderTypeset:onToggleEmbeddedFonts(toggle)
self:toggleEmbeddedFonts(toggle)
return true
end
function ReaderTypeset:genStyleSheetMenu()
local style_table = {}
local file_list = {
@ -88,6 +109,7 @@ function ReaderTypeset:genStyleSheetMenu()
})
end
end
table.sort(file_list, function(v1,v2) return v1.text < v2.text end) -- sort by name
for i,file in ipairs(file_list) do
table.insert(style_table, {
text = file["text"],
@ -136,6 +158,17 @@ function ReaderTypeset:toggleEmbeddedStyleSheet(toggle)
self.ui:handleEvent(Event:new("UpdatePos"))
end
function ReaderTypeset:toggleEmbeddedFonts(toggle)
if not toggle then
self.embedded_fonts = false
self.ui.document:setEmbeddedFonts(0)
else
self.embedded_fonts = true
self.ui.document:setEmbeddedFonts(1)
end
self.ui:handleEvent(Event:new("UpdatePos"))
end
function ReaderTypeset:toggleFloatingPunctuation(toggle)
-- for some reason the toggle value read from history files may stay boolean
-- and there seems no more elegant way to convert boolean values to numbers
@ -165,7 +198,7 @@ function ReaderTypeset:addToMainMenu(menu_items)
callback = function()
self.floating_punctuation = self.floating_punctuation == 1 and 0 or 1
self:toggleFloatingPunctuation(self.floating_punctuation)
end,
end,
hold_callback = function() self:makeDefaultFloatingPunctuation() end,
}
end

@ -415,6 +415,11 @@ function CreDocument:setEmbeddedStyleSheet(toggle)
self._document:setIntProperty("crengine.doc.embedded.styles.enabled", toggle)
end
function CreDocument:setEmbeddedFonts(toggle)
logger.dbg("CreDocument: set embedded fonts", toggle)
self._document:setIntProperty("crengine.doc.embedded.fonts.enabled", toggle)
end
function CreDocument:setPageMargins(left, top, right, bottom)
logger.dbg("CreDocument: set page margins", left, top, right, bottom)
self._document:setIntProperty("crengine.page.margin.left", left)

@ -14,6 +14,10 @@ local Aa = setmetatable({"Aa"}, {
end
})
local function enable_if_equals(configurable, option, value)
return configurable[option] == value
end
local CreOptions = {
prefix = 'copt',
{
@ -158,6 +162,19 @@ local CreOptions = {
default_arg = nil,
event = "ToggleEmbeddedStyleSheet",
},
{
name = "embedded_fonts",
name_text = S.EMBEDDED_FONTS,
toggle = {S.ON, S.OFF},
values = {1, 0},
default_value = 1,
args = {true, false},
default_arg = nil,
event = "ToggleEmbeddedFonts",
enabled_func = function(configurable)
return enable_if_equals(configurable, "embedded_css", 1)
end,
},
},
},
}

@ -25,6 +25,7 @@ S.FONT_WEIGHT = _("Font Weight")
S.GAMMA = _("Gamma")
S.VIEW_MODE = _("View Mode")
S.EMBEDDED_STYLE = _("Embedded Style")
S.EMBEDDED_FONTS = _("Embedded Fonts")
S.WRITING_DIR = _("Writing Direction")
S.PROGRESS_BAR = _("Progress Bar")
S.FORCED_OCR = _("Forced OCR")

Loading…
Cancel
Save