VMWare Fusion allows you to run Windows on a Mac, and one of the issues with it is that both deal with high resolution text scaling differently. Windows uses ClearType to adjust the glyphs to look best on the physical display. This gives excellent results on 1x scaling with 110 dpi or less, but only if the output is not scaled afterwards. MacOS on the other hand no longer does subpixel trickery and only does standard antialiasing. This approach provides worse results at 1x, but it preserves more information for a scaled display, and looks better with scaling.
When your external display is 1x, you should use ClearType and 1x on Windows. Make sure that you center a full screen window, and not scale it automatically. Automatic scaling has an unfortunate bug where the display dimensions are somehow off by a pixel, and so stretches the pixel a bit, making text look terrible. Pretty much the same for 2x, only that you activate retina resolution for your VM, and do 200% text scaling in Windows.
If you have something in-between, like 140dpi or 160dpi, you have two options:
-
dedicate your external monitor to Windows, run it at a native resolution in macOS, and use 125% or 150% display scaling on Windows. This gives nice text, but fixes the monitor to be used for Windows only
-
use a scaled resolution in macOS, activate retina resolution in VMWare, run Windows with 200% scaling, and deactivate ClearType in Windows. This gives better letters for scaling, and it gives reasonable text in Windows. The text is worse than the alternative above, but it makes it possible use macOS with a similar text size in parallel.