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.

Reply via email to