<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:37:26 UTC 2016

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.

>  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