From 035be38430a126e7b75e4ea97a74271e49c4d3a2 Mon Sep 17 00:00:00 2001 From: yparitcher Date: Thu, 16 Dec 2021 15:31:22 -0500 Subject: [PATCH] Dispatcher: Set font Closes: #8531 --- frontend/apps/reader/modules/readerfont.lua | 4 ++-- frontend/dispatcher.lua | 2 ++ frontend/fontlist.lua | 10 ++++++++++ 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/frontend/apps/reader/modules/readerfont.lua b/frontend/apps/reader/modules/readerfont.lua index 91f4e59e0..8c86215dc 100644 --- a/frontend/apps/reader/modules/readerfont.lua +++ b/frontend/apps/reader/modules/readerfont.lua @@ -82,7 +82,7 @@ function ReaderFont:init() end end, callback = function() - self:setFont(v) + self:onSetFont(v) end, hold_callback = function(touchmenu_instance) self:makeDefault(v, touchmenu_instance) @@ -283,7 +283,7 @@ function ReaderFont:onSaveSettings() self.ui.doc_settings:saveSetting("gamma_index", self.gamma_index) end -function ReaderFont:setFont(face) +function ReaderFont:onSetFont(face) if face and self.font_face ~= face then self.font_face = face self.ui.document:setFontFace(face) diff --git a/frontend/dispatcher.lua b/frontend/dispatcher.lua index a4ea822ba..2d79b76da 100644 --- a/frontend/dispatcher.lua +++ b/frontend/dispatcher.lua @@ -133,6 +133,7 @@ local settingsList = { panel_zoom_toggle = {category="none", event="TogglePanelZoomSetting", title=_("Toggle panel zoom"), paging=true, separator=true}, -- rolling reader settings + set_font = {category="string", event="SetFont", title=_("Set font"), rolling=true, args_func=require("fontlist").getFontArgFunc,}, increase_font = {category="incrementalnumber", event="IncreaseFontSize", min=0.5, max=255, step=0.5, title=_("Increase font size by %1"), rolling=true}, decrease_font = {category="incrementalnumber", event="DecreaseFontSize", min=0.5, max=255, step=0.5, title=_("Decrease font size by %1"), rolling=true}, @@ -288,6 +289,7 @@ local dispatcher_menu_order = { "book_description", "book_cover", + "set_font", "increase_font", "decrease_font", "font_size", diff --git a/frontend/fontlist.lua b/frontend/fontlist.lua index c48658e8b..53a292d75 100644 --- a/frontend/fontlist.lua +++ b/frontend/fontlist.lua @@ -233,4 +233,14 @@ function FontList:getLocalizedFontName(file, index) return altname end +function FontList:getFontArgFunc() + require("document/credocument"):engineInit() + local toggle = {} + local face_list = cre.getFontFaces() + for k,v in ipairs(face_list) do + table.insert(toggle, FontList:getLocalizedFontName(cre.getFontFaceFilenameAndFaceIndex(v)) or v) + end + return face_list, toggle +end + return FontList