<AWT Dev> [8u] Review request for 8157838 Personalized Windows Font Size is not taken into account in Java8u102

Alexandr Scherbatiy alexandr.scherbatiy at oracle.com
Fri May 27 21:23:10 UTC 2016


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.
  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.
>>>>
>>>
>>
>



More information about the awt-dev mailing list