From 2dea11799c3d39e12568ba6ca6b01723616364fd Mon Sep 17 00:00:00 2001 From: octocorvus Date: Fri, 17 Mar 2023 21:53:36 +0000 Subject: [PATCH] use --scale-factor variable to set text layer font size Newer pdf.js versions requires this variable to be set equal to the actual scale (zoom ratio), to properly set font size in text layer div. --- app/src/main/assets/viewer.css | 2 ++ app/src/main/assets/viewer.js | 3 +++ 2 files changed, 5 insertions(+) diff --git a/app/src/main/assets/viewer.css b/app/src/main/assets/viewer.css index 48bf80a..05c4f4f 100644 --- a/app/src/main/assets/viewer.css +++ b/app/src/main/assets/viewer.css @@ -12,6 +12,8 @@ body { } #container { + --scale-factor: 1; + width: 100%; height: 100%; display: grid; diff --git a/app/src/main/assets/viewer.js b/app/src/main/assets/viewer.js index f21b7c4..4d3a3d6 100644 --- a/app/src/main/assets/viewer.js +++ b/app/src/main/assets/viewer.js @@ -7,6 +7,7 @@ let pageRendering = false; let renderPending = false; let renderPendingZoom = 0; const canvas = document.getElementById('content'); +const container = document.getElementById("container"); let orientationDegrees = 0; let zoomRatio = 1; let textLayerDiv = document.getElementById("text"); @@ -82,6 +83,7 @@ function renderPage(pageNumber, zoom, prerender, prerenderTrigger=0) { textLayerDiv.replaceWith(cached.textLayerDiv); textLayerDiv = cached.textLayerDiv; + container.style.setProperty("--scale-factor", newZoomRatio.toString()); } pageRendering = false; @@ -153,6 +155,7 @@ function renderPage(pageNumber, zoom, prerender, prerenderTrigger=0) { if (useRender) { textLayerDiv.replaceWith(newTextLayerDiv); textLayerDiv = newTextLayerDiv; + container.style.setProperty("--scale-factor", newZoomRatio.toString()); } if (cache.length === maxCached) {