diff --git a/src/calibre/gui2/viewer/web_view.py b/src/calibre/gui2/viewer/web_view.py index 5a0b0de1ca..30e0f33574 100644 --- a/src/calibre/gui2/viewer/web_view.py +++ b/src/calibre/gui2/viewer/web_view.py @@ -9,8 +9,8 @@ import sys from itertools import count from PyQt5.Qt import ( - QApplication, QBuffer, QByteArray, QFontDatabase, QHBoxLayout, QSize, Qt, QTimer, - QUrl, QWidget, pyqtSignal + QApplication, QBuffer, QByteArray, QFontDatabase, QFontInfo, QHBoxLayout, QSize, + Qt, QTimer, QUrl, QWidget, pyqtSignal ) from PyQt5.QtWebEngineCore import QWebEngineUrlSchemeHandler from PyQt5.QtWebEngineWidgets import ( @@ -427,9 +427,10 @@ class WebView(RestartingWebEngineView): def on_bridge_ready(self): f = QApplication.instance().font() + fi = QFontInfo(f) self.bridge.create_view( vprefs['session_data'], QFontDatabase().families(), field_metadata.all_metadata(), - f.family(), f.pointSize()) + f.family(), '{}px'.format(fi.pixelSize())) for func, args in iteritems(self.pending_bridge_ready_actions): getattr(self.bridge, func)(*args) diff --git a/src/pyj/viewer-main.pyj b/src/pyj/viewer-main.pyj index 101453c963..b63e8a1908 100644 --- a/src/pyj/viewer-main.pyj +++ b/src/pyj/viewer-main.pyj @@ -188,12 +188,12 @@ def create_session_data(prefs): @from_python -def create_view(prefs, all_font_families, field_metadata, ui_font_family, ui_font_sz_in_pts): +def create_view(prefs, all_font_families, field_metadata, ui_font_family, ui_font_sz): nonlocal view runtime.all_font_families = all_font_families library_data.field_metadata = field_metadata document.documentElement.style.fontFamily = f'"{ui_font_family}", sans-serif' - document.documentElement.style.fontSize = f'{ui_font_sz_in_pts}pt' + document.documentElement.style.fontSize = ui_font_sz if view is None: create_session_data(prefs) view = View(document.getElementById('view'))