aboutsummaryrefslogtreecommitdiffhomepage
path: root/win32/PlatWin.cxx
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2020-06-11 11:45:38 +1000
committerNeil <nyamatongwe@gmail.com>2020-06-11 11:45:38 +1000
commit7a1d35a4877726511f73fc2dc2b3f301224a4cfb (patch)
tree6cb30b1859bff152d3d9cc1c4594425f18300cea /win32/PlatWin.cxx
parenta2931677c6e28aad5ddd56d82e5a8814746dc5fd (diff)
downloadscintilla-mirror-7a1d35a4877726511f73fc2dc2b3f301224a4cfb.tar.gz
Bug [#2185]. Fix printing to use correct text size.
Diffstat (limited to 'win32/PlatWin.cxx')
-rw-r--r--win32/PlatWin.cxx4
1 files changed, 3 insertions, 1 deletions
diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx
index ad9bc78d1..b474c4552 100644
--- a/win32/PlatWin.cxx
+++ b/win32/PlatWin.cxx
@@ -615,7 +615,9 @@ void SurfaceGDI::Init(SurfaceID sid, WindowID wid) {
Release();
hdc = static_cast<HDC>(sid);
::SetTextAlign(hdc, TA_BASELINE);
- logPixelsY = DpiForWindow(wid);
+ // Windows on screen are scaled but printers are not.
+ const bool printing = ::GetDeviceCaps(hdc, TECHNOLOGY) != DT_RASDISPLAY;
+ logPixelsY = printing ? ::GetDeviceCaps(hdc, LOGPIXELSY) : DpiForWindow(wid);
}
void SurfaceGDI::InitPixMap(int width, int height, Surface *surface_, WindowID wid) {