I have a Windows 8.1 laptop (Dell XPS) with a high-DPI screen (15" 3840x2160), and two external monitors which are normal DPI (19" 1920x1200). (No font changes from defaults.)

Windows 8 seems to know about the varying DPI, and most things work very well. If I move a window from the high-DPI screen to a low-DPI screen, then the window will spontaneously change size so the text is readable on the current display.

Programs which work fine:

* "`gitk`", launched from a Cygwin terminal using X-Win.
* notepad
* Almost everything else

A few programs cause trouble. They have tiny, unreadable text, on both the high-DPI screen and the low-DPI monitors. Examples include:

* `JMeter`, launched from `maven` (a Java Swing application)
* "`git-gui`", launched from a Cygwin terminal using X-Win.
* The windows shell, "Command Prompt"

(Sometimes the problem comes and goes depending on whether the laptop booted up while connected to the low-DPI monitors or if I booted without them and then subsequently plugged them in (related to [How do I make Windows scale the taskbar correctly after I switch to monitors with different DPIs?](https://superuser.com/questions/835839) ).)

* Is there any way I can scale up the window for a specified application, when that app is not Windows DPI aware? The Windows magnifier is quite clunky for this.
* Is there any way I can override the declared DPI for a specified application without affecting other apps?

Here is a screenshot showing Command Prompt, Notepad, Git Gui and Gitk on the same screen:

[![screenshot showing Command Prompt, Notepad, Git Gui and Gitk on the same screen](https://i.stack.imgur.com/7IYN5.jpg)](https://i.stack.imgur.com/7IYN5.jpg)