On 5/28/2016 12:23 AM, Alexandr Scherbatiy wrote:
The following article claims that DPI virtualization of not DPI–aware
applications is available from Windows Vista:
https://msdn.microsoft.com/en-us/library/windows/desktop/dn469266%28v=vs.85%29.aspx
I just tried to set dpiAware=false in the java.manifest file on my
Windows 7 and the whole Java application was scaled.
It looks like that for platforms from Windows Windows 8 and higher
the fix JDK-8076545 can be reverted because the Windows OS can
automatically scale an application.
The fix JDK-8076545 needs to be reverted for Windows Vista and
higher. In other case the Windows L&F font will be smaller in Java app
because the fix scales it size down.
Thanks,
Alexandr.
For Windows XP the fix JDK-8076545 needs to be reverted to take the
personalized windows font into account.
I run SwingSet2 on JDK 8u with the dpiAware=false option on Windows 7
with scale 150% and Windows 8.1 with scale 200% and found nothing
wrong with it.
As I understand, the fix JDK-6829055 Update application manifests
with new Windows 7 dpiAware section
was just an improvement.
Should I remove the dpiAware option from the java.manifiest file in
the current fix as well?
Thanks,
Alexandr.
On 5/27/2016 9:32 PM, Phil Race wrote:
But my point is that on Windows 8.1 the "125%" font setting is no
longer a font setting as such.
Either the *whole* app gets scaled, or *nothing* get scaled, so the
user complaining about
this bug would not have seen his request honoured in the same way as
is on Windows 7.
Or is setting dpiaware causing us to continue to get "XP Style"
scaling as it is known.
Disabling that manifest entry and reverting to using API is something
we should also be considering
but I don't know that this bug is the place to address that change
which may cause more problems
as well as fix some ..
-phil.
On 05/27/2016 11:14 AM, Alexandr Scherbatiy wrote:
On 5/27/2016 8:14 PM, Phil Race wrote:
From what I read on the web Windows Vista, 7, and 8, Windows uses
this setting to scale just
the fonts, but for 8.1 and 10 it is a whole application scale, so
perhaps rather than just
revert the fix, you can make it OS version dependent ?
To allow the Windows OS scale a java application we need to revert
the fix which sets dpiAvare=true in the java.manifest file. See
JDK-8080153 Cannot disable DPI awareness.
Thanks,
Alexandr.
Surface Pro devices are not going to be running Vista or 7 .. and I
expect most are running
Windows 8.1 or later by now.
Of course you will need to find a way to test this hypothesis :
probably on a windows 10
desktop with 125% scaling to see what happens with the Win L&F.
-phil.
On 05/27/2016 09:44 AM, Alexandr Scherbatiy wrote:
Hello,
Could you review the fix:
bug: https://bugs.openjdk.java.net/browse/JDK-8157838
webrev: http://cr.openjdk.java.net/~alexsch/8157838/webrev.00
This is the regression from the fix JDK-8076545 in the JDK 8u.
There was a request JDK-8152980 to backport the fix to JDK 8u
because a text size is very big on Windows 10 with UI scaling set
to 300% when the Windows L&F is used.
However, this leads to another issue that a personalized Windows
font size is not taken into account in Swing app with Windows L&F
on JDK 8u.
JDK 9 does not run into this issue because it contains support
for HiDPI displays which reads the system DPI and scales a whole
application with fonts according to system UI scale.
The proposed solution is just to revert back the initial
JDK-8076545 fix for JDK 8u only.
Thanks,
Alexandr.