<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