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

Philip Race philip.race at oracle.com
Sat May 28 16:48:09 UTC 2016


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


More information about the awt-dev mailing list