diff --git a/frontend/apps/reader/modules/readerpaging.lua b/frontend/apps/reader/modules/readerpaging.lua index 291c25028..7a77a7a8d 100644 --- a/frontend/apps/reader/modules/readerpaging.lua +++ b/frontend/apps/reader/modules/readerpaging.lua @@ -644,7 +644,9 @@ function ReaderPaging:onGotoPageRel(diff) elseif self.zoom_mode:find("width") then y_pan_off = self.visible_area.h * diff elseif self.zoom_mode:find("height") then - x_pan_off = self.visible_area.w * diff + -- negative x panning if writing direction is right to left + local direction = self.ui.document.configurable.writing_direction + x_pan_off = self.visible_area.w * diff * (direction == 1 and -1 or 1) else -- must be fit content or page zoom mode if self.visible_area.w == self.page_area.w then diff --git a/frontend/apps/reader/modules/readerview.lua b/frontend/apps/reader/modules/readerview.lua index d0dff2ac7..37ce322d4 100644 --- a/frontend/apps/reader/modules/readerview.lua +++ b/frontend/apps/reader/modules/readerview.lua @@ -459,11 +459,17 @@ function ReaderView:recalculate() self.state.page, self.state.zoom, self.state.rotation) - -- starts from left top of page_area - self.visible_area.x = self.page_area.x - self.visible_area.y = self.page_area.y -- reset our size self.visible_area:setSizeTo(self.dimen) + if self.ui.document.configurable.writing_direction == 0 then + -- starts from left top of page_area + self.visible_area.x = self.page_area.x + self.visible_area.y = self.page_area.y + else + -- start from right top of page_area + self.visible_area.x = self.page_area.x + self.page_area.w - self.visible_area.w + self.visible_area.y = self.page_area.y + end -- and recalculate it according to page size self.visible_area:offsetWithin(self.page_area, 0, 0) -- clear dim area diff --git a/frontend/ui/data/koptoptions.lua b/frontend/ui/data/koptoptions.lua index a1324615d..8c1b36306 100644 --- a/frontend/ui/data/koptoptions.lua +++ b/frontend/ui/data/koptoptions.lua @@ -195,7 +195,6 @@ local KoptOptions = { toggle = {S.LTR, S.RTL, S.TBRTL}, values = {0, 1, 2}, default_value = 0, - advanced = true, }, { name = "quality",