FWIW it appears that FX8 does (by default) call SetProcessDPIAwareness(true)
controlled by a system property which defaults to true.
But it is still a significant change for a fix that needs to go into an
update
release at a very late stage and I don't think we should do it now.
-phil.
On 5/27/16, 4:12 PM, Phil Race wrote:
-Phil.
On May 27, 2016, at 2:23 PM, Alexandr
Scherbatiy<alexandr.scherba...@oracle.com> 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.
That sounds wrong since we still have the api call.
It looks like that for platforms from Windows Windows 8 and higher the
Where do you read this comes into effect from Windows 8 ?
fix JDK-8076545 can be reverted because the Windows OS can automatically scale
an application.
For Windows XP the fix JDK-8076545 needs to be reverted to take the
personalized windows font into account.
.. And xp ..
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.
What does "nothing wrong mean" ?
It seems to contradict what you just said about w7 auto scaling your app.
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?
I already said we should not do that.
There may be surprises like fx not calling the api so now no one does and you
will regress that.
Phil
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.