dpradov / keynote-nf

Tabbed notebook with RichText editor, multi-level notes and strong encryption.
Mozilla Public License 2.0
241 stars 56 forks source link

DPI #707

Open gregta opened 1 month ago

gregta commented 1 month ago

I read that on modern computer monitors, programs need DPI support to make the labels in the program interfaces clearer and easier to read. So I was curious if KeyNote would also support DPI. This would be a logical improvement for using the program. I tried to improve the labels using the Windows settings, but unfortunately, the toolbars and icons on them in the program window are greatly reduced and look worse, which is illustrated by screenshots of this setting:

BEFORE BEFORE AFTER AFTER

dpradov commented 1 month ago

Hello @gregta Since version 1.8.0 KeyNote supports High DPI, as reported in issue 602 (https://github.com/dpradov/keynote-nf/issues/602#issuecomment-1677627369)

In last version, 1.9.5.2, I handled the possible exception in Windows 8.1 when trying to open the Font dialog, that you reported in #618 The exception that you was suffering was caused precisely by the changes in response to issue #613:

Those changes relied on methods like SetThreadDpiAwarenessContext, which don't seem to work in Windows 8.1 That change works fine on W10 and W11, but not on W8.1, perhaps for the same reason that High DPI doesn't work for you.

If you cannot go to W10 or W11, the only thing I can indicate is that you try to see if modifying any of the options that I highlight in the following screenshot solves the problem in your case. This screenshot is from W11 (and is in Spanish) but surely something very similar must be in W8.1, Note that where "PPP" (Puntos por pulgada) appears, in English it should appear (DPI, Dot per inch)

imagen

gregta commented 1 month ago

Hello, Daniel! Thank you for your reply.

  1. Setting the font in the program does not apply to my question, because I did not mean the text in the editor, the inscriptions in the interface, on the subject of which I sent screenshots, including on the page https://github.com/dpradov/keynote-nf/issues/707 - if you haven't received them by email.
  2. In 8.1, this is "DPI, Dot per inch" I have written in words without the word DPI. But I won't use this setting because I like the simultaneous reduction of the panel and icons sizes with a decrease in their visibility.

Daniel Prado Velasco писал 2024-05-20 23:22:

Hello @gregta [1] Since version 1.8.0 KeyNote supports High DPI, as reported in issue 602 (#602 (comment) [2])

  • Fixed: High DPI displays. The application should scale correctly based on OS settings

In last version, 1.9.5.2, I handled the possible exception in Windows 8.1 when trying to open the Font dialog, that you reported in #618 [3] The exception that you was suffering was caused precisely by the changes in response to issue #613 [4]:

  • Setting the font size with the Font dialog when using scaling settings other than 100% results in a larger font than expected There was an issue with TFontDialog in Delphi when using scaling settings other than 100%. This issue could cause the selected font to appear larger than expected. The problem lied in how TFontDialog (and, in fact, the underlying Win32 ChooseFont API) handles DPI awareness.

Those changes relied on methods like SetThreadDpiAwarenessContext, which don't seem to work in Windows 8.1 That change works fine on W10 and W11, but not on W8.1, perhaps for the same reason that High DPI doesn't work for you.

If you cannot go to W10 or W11, the only thing I can indicate is that you try to see if modifying any of the options that I highlight in the following screenshot solves the problem in your case. This screenshot is from W11 (and is in Spanish) but surely something very similar must be in W8.1, Note that where "PPP" (Puntos por pulgada) appears, in English it should appear (DPI, Dot per inch)

imagen.png (view on web) [5]

-- Reply to this email directly, view it on GitHub [6], or unsubscribe [7]. You are receiving this because you were mentioned.Message ID: @.***>

Links:

[1] https://github.com/gregta [2] https://github.com/dpradov/keynote-nf/issues/602#issuecomment-1677627369 [3] https://github.com/dpradov/keynote-nf/issues/618 [4] https://github.com/dpradov/keynote-nf/issues/613 [5] https://github.com/dpradov/keynote-nf/assets/13932497/2f710033-72c8-448a-818d-906c57360700 [6] https://github.com/dpradov/keynote-nf/issues/707#issuecomment-2120782069 [7] https://github.com/notifications/unsubscribe-auth/BILPYDD7LHECHFV7FZTSE7LZDIPM5AVCNFSM6AAAAABH7LZUE2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRQG44DEMBWHE --=_ff660573817f9852678c8d26b666ad24 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8

Hello, Daniel!
Thank you for your reply.

1. Setting the font in the program does not apply to my question, becaus= e I did not mean the text in the editor, the inscriptions in the interface,= on the subject of which I sent screenshots, including on the page https://github.com/dp= radov/keynote-nf/issues/707 - if you haven't received them by emai= l.
2. In 8.1, this is "DPI, Dot per inch" I have written in words with= out the word DPI. But I won't use this setting because I like the simultane= ous reduction of the panel and icons sizes with a decrease in their visibil= ity.


Daniel Prado Velasco =D0=BF=D0=B8=D1=81=D0=B0=D0=BB 2= 024-05-20 23:22:

Hello
Since version 1.8.0 KeyNote supports High DPI, as reported in i= ssue 602 (
#602 (comment))

  • Fixed: High DPI displays. The application should scale correctly based = on OS settings

In last version, 1.9.5.2, I handled the possible exception = in Windows 8.1 when trying to open the Font dialog, that you reported in #618
The exception that you was suffering was caused precisely by the ch= anges in response to issue #613:

  • Setting the font size with the Font dialog when using scaling settings = other than 100% results in a larger font than expected
    There was an is= sue with TFontDialog in Delphi when using scaling settings other than 100%= =2E This issue could cause the selected font to appear larger than expected= =2E The problem lied in how TFontDialog (and, in fact, the underlying Win32= ChooseFont API) handles DPI awareness.

Those changes relied on methods like SetThreadDpiAwarenessC= ontext, which don't seem to work in Windows 8.1
That change works fine= on W10 and W11, but not on W8.1, perhaps for the same reason that High DPI= doesn't work for you.

If you cannot go to W10 or W11, the only thing I can indica= te is that you try to see if modifying any of the options that I highlight = in the following screenshot solves the problem in your case. This screensho= t is from W11 (and is in Spanish) but surely something very similar must be= in W8.1, Note that where "PPP" (Puntos por pulgada) appears, in English it= should appear (DPI, Dot per inch)

imagen.png (view on web)


Reply to this email directly, view it on GitHub, or unsubscribe.
You are rece= iving this because you were mentioned.Message ID: <dpradov/keynote-nf/issues/707/2120782069= @github.com><= /span>


--=_ff660573817f9852678c8d26b666ad24--

dpradov commented 1 month ago

Setting the font in the program does not apply to my question

I understand what you mean in this issue. What I point out with the fonts is that the problem you have is something that is showing up with Window 8.1, as it also did with the fonts (which was related to the scale and the DPI). In W10 and W11 the application is scaled uniformly, in text and icons.

But I won't use this setting because I like the simultaneous reduction of the panel and icons sizes with a decrease in their visibility.

¿? But have you tried the options offered? For example, have you tested the behavior when selecting any of these options?

imagen

The application is not managing the high DPI internally, that is, it is not scaling itself, but rather delegating it to Windows. The adaptation of the DPI scaling of the application should be done by Windows based on meta-information associated with the executable. If it does not recognize it, it is always possible to force it to do so. That's why I tell you to try using that options.

gregta commented 1 month ago

Daniel, I couldn't find the Windows setting you showed in the screenshot.

More about DPI - https://support.microsoft.com/en-us/topic/windows-scaling-issues-for-high-dpi-devices-508483cd-7c59-0d08-12b0-960b99aa347d (three excerpts A, B, C): (A) Use UWP applications. Use or deploy Universal Windows Platform (UWP) applications instead of Win32 applications. Modern (UWP) apps always scale correctly. If there is a comparable modern app available, you can substitute that app to mitigate the scaling issues. For example, Edge is a modern app that does not cause the DPI Scaling issues that Internet Explorer might experience. Similarly, Remote Desktop is an alternative to mstsc.exe. (B) Check whether applications are DPI-aware. To determine an application's support of DPI Scaling, follow these steps: Download and run Sysinternals Process Explorer. In Process Explorer, click the columns, and then add the DPI Awareness column to the view. Start the application that you want to check. In Process Explorer, locate the application, and then examine the DPI Awareness column.

(B) - In your the last letter you wrote:

Since version 1.8.0 KeyNote supports High DPI, as reported in issue 602 (#602 (comment)) Fixed: High DPI displays. The application should scale correctly based on OS settings

But this is not confirmed by checking the Sysinternals Process Explorer program (see screenshot). It says Unaware for the Keynote.

(C) Unaware: DPI-unaware. THESE APPLICATIONS DO NOT SCALE FOR DPI CHANGES. They are always assumed to have a scale factor of 100 percent (96 DPI). These applications are automatically scaled by the system at any other DPI settings.

However, the Keynote 1.9.5.2 TOOLBARS, as seen in the screenshots in my comment on the site, HAVE CHANGED THE SCALE when applying Windows settings.

P. S. Daniel, maybe this excerpt might also be helpful? _https://learn.microsoft.com/en-us/windows/win32/api/shellscalingapi/ne-shellscalingapi-process_dpi_awareness?redirectedfrom=MSDN (1 excerpt) :_ The DPI awareness for an application should be set through the application manifest so that it is determined before any actions are taken which depend on the DPI of the system. Alternatively, you can set the DPI awareness using SetProcessDpiAwareness, but if you do so, you need to make sure to set it before taking any actions dependent on the system DPI. Once you set the DPI awareness for a process, it cannot be changed.

Daniel Prado Velasco писал 2024-05-21 03:09:

Setting the font in the program does not apply to my question

I understand what you mean in this issue. What I point out with the fonts is that the problem you have is something that is showing up with Window 8.1, as it also did with the fonts (which was related to the scale and the DPI). In W10 and W11 the application is scaled uniformly, in text and icons.

But I won't use this setting because I like the simultaneous reduction of the panel and icons sizes with a decrease in their visibility.

¿? But have you tried the options offered? For example, have you tested the behavior when selecting any of these options?

imagen.png (view on web) [1]

The application is not managing the high DPI internally, that is, it is not scaling itself, but rather delegating it to Windows. The adaptation of the DPI scaling of the application should be done by Windows based on meta-information associated with the executable. If it does not recognize it, it is always possible to force it to do so. That's why I tell you to try using that options.

-- Reply to this email directly, view it on GitHub [2], or unsubscribe [3]. You are receiving this because you were mentioned.Message ID: @.***>

Links:

[1] https://github.com/dpradov/keynote-nf/assets/13932497/b17c3f99-4e87-4abe-bb18-79e073383128 [2] https://github.com/dpradov/keynote-nf/issues/707#issuecomment-2121126485 [3] https://github.com/notifications/unsubscribe-auth/BILPYDBK4HJPXVVCMI6A4IDZDJKBNAVCNFSM6AAAAABH7LZUE2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRRGEZDMNBYGU --=_ccd5c67ba1c9a2a8a9f4ac1da2c7c596 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8

Daniel, I couldn’t find the Win= dows setting you showed in the screenshot.
 
More about DPI - 
https://support.microsoft.com/en-= us/topic/windows-scaling-issues-for-high-dpi-devices-508483cd-7c59-0d08-12b= 0-960b99aa347d  (three excerpts A, B, C):
 
(A)
Use UWP applications. Use or depl= oy Universal Windows Platform (UWP) applications instead of Win32 applicati= ons.
Modern (UWP) apps always = scale correctly. If there is a comparable modern app available, yo= u can substitute that app to mitigate the scaling issues. For example, Edge= is a modern app that does not cause the DPI Scaling issues that Internet E= xplorer might experience. Similarly, Remote Desktop is an alternative to ms= tsc.exe.
 
(B)
Check whether applications are DP= I-aware. To determine an application's support of DPI Scaling, follow these= steps:
Download and run Sysinternals Process Explorer<= /span>.
In Process Explorer, click the co= lumns, and then add the DPI Awareness column to the view.
Start the application that you wa= nt to check.
In Process Explorer, locate the a= pplication, and then examine the DPI Awareness column.
 
(B) - In your the last letter you wrote:
  > Since ver= sion 1.8.0 KeyNote supports High DPI, as reported in issue 602 (#602 (comme= nt))
  > Fixed: Hi= gh DPI displays. The application should scale correctly based on OS setting= s
 
But this is not confirmed by checking the Sysinternals Proce= ss Explorer program (see screenshot). It = says Unaware for the Keynote.
 
(C)
Unaware: DPI-unaware. THESE APPLICATIONS DO NOT SCALE FOR DPI CH= ANGES. They are always assumed to have a scale factor of 100 percent= (96 DPI). These applications are automatically scaled by the system at any= other DPI settings.
 
However, the Keynote 1.9.5.2 = TOOLBARS, as seen in the screenshots in my comment on the site, HAVE CHANGED THE SCALE when applying Windows settings= =2E
 
P. S.
Daniel, maybe this excerpt might also= be helpful?
https://learn.microsoft.com/en-us/window= s/win32/api/shellscalingapi/ne-shellscalingapi-process_dpi_awareness?redire= ctedfrom=3DMSDN  (1 excerpt)
:
The DPI awareness for an applicat= ion should be set through the application manifest so that it is determined= before any actions are taken which depend on the DPI of the system. Altern= atively, you can set the DPI awareness using SetProcessDpiAwareness= , but if you do so, you need to make sure to set it before taking = any actions dependent on the system DPI. Once you set the DPI awareness for= a process, it cannot be changed.
 


Daniel Prado Velasco =D0=BF=D0=B8=D1=81=D0=B0=D0=BB 2= 024-05-21 03:09:

Setting the font in the program does not apply to my questi= on

I understand what you mean in this issue. What I point out = with the fonts is that the problem you have is something that is showing up= with Window 8.1, as it also did with the fonts (which was related to the s= cale and the DPI).
In W10 and W11 the application is scaled uniformly,= in text and icons.

But I won't use this setting because I like the simultaneou= s reduction of the panel and icons sizes with a decrease in
their visi= bility.

¿? But have you tried the options offered? For examp= le, have you tested the behavior when selecting any of these options?

imagen.png (view on web)

The application is not managing the high DPI internally, th= at is, it is not scaling itself, but rather delegating it to Windows.
= The adaptation of the DPI scaling of the application should be done by Wind= ows based on meta-information associated with the executable. If it does no= t recognize it, it is always possible to force it to do so. That's why I te= ll you to try using that options.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are rece= iving this because you were mentioned.Message ID: <dpradov/keynote-nf/issues/707/2121126485= @github.com><= /span>


--=_ccd5c67ba1c9a2a8a9f4ac1da2c7c596--

--=_af6c033e7e780b82dde8485edf0be010 Content-Transfer-Encoding: base64 Content-Type: image/jpeg; name=DPI.jpg Content-Disposition: attachment; filename=DPI.jpg; size=429399

/9j/4QDCRXhpZgAASUkqAAgAAAAHABIBAwABAAAAAQAAABoBBQABAAAAYgAAABsBBQABAAAAagAA ACgBAwABAAAAAgAAADEBAgAOAAAAcgAAADIBAgAUAAAAgAAAAGmHBAABAAAAlAAAAAAAAABgAAAA AQAAAGAAAAABAAAAUGhvdG9GaWx0cmUgNwAyMDI0OjA1OjIxIDA5OjQ2OjAxAAMAAJAHAAQAAAAw MjEwAqADAAEAAABPBAAAA6ADAAEAAADiAQAA/9sAQwABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/9sAQwEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB/8AAEQgB 4gRPAwEiAAIRAQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYn KCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeY mZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5 +v/EAB8BAAMBAQEBAQEBAQEAAAAAAAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwAB AgMRBAUhMQYSQVEHYXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpD REVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMR AD8A+s/HPxq+G/w41O20bxf4g/szUbqzW/htlsNQuybR5ZIUlZ7S2mjTdJDIqqzhztJ245riT+1d 8CwcHxkQfQ6PrOf/AEhr5o/aW8Baj8Rf2k/h54YWHULfR9V8PaZb6nrEFpM9vZ2sWpa1cXardGNr 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

dpradov commented 1 month ago

Hello @gregta

As I indicated in my previous comment:

The application is not managing the high DPI internally, that is, it is not scaling itself, but rather delegating it to Windows. The adaptation of the DPI scaling of the application should be done by Windows based on meta-information associated with the executable.

KeyNote NF relies in "GDI Scaling". imagen

imagen

For now I have no intention of implementing any of the other "true" High DPI options. I have other more important/urgent improvements to undertake. It is not enough to select those other options in the manifest. It has many more implications, such as the multiple resolutions that must be available for icons, etc. Many aspects of the user interface must be revised to fully support the other options Despite not being a pure scaling, done from the application, the result is quite decent from the tests I have done, both in W10 and W11. https://www.softacom.com/blog/windows-application-manifest-in-rad-studio/

From what I see, the GDI Scaling option is recognized starting with Windows 10. That is the reason why you see the main screen as shown as "AFTER", in W8.1. On W10 and W11 you should see the same as "BEFORE".

<<gdiScaling option was incorporate in Windows 10 Creators Update (1703)>> https://en.delphipraxis.net/topic/1012-add-support-for-high-dpi-gdiscaling/

(As of the date of that article, the GDI Scaling option was not available in Delphi. In current versions yes (I use Delphi 11.3))

gregta commented 1 month ago

Thank you very much, Daniel, for the explanation!

Interesting written on the pagehttps://www.softacom.com/blog/windows-application-manifest-in-rad-studio/ : "Unaware - An application does not support HiDPI. If HiDPI is actually enabled, this will trigger so-called "DPI Virtualization" mode. In this mode Windows will "lie" to the app, that HiDPI is not enabled (100% scaling, DPI=96). It will also calculate values of screen sizes, taskbar height and other UI elements for 100% scaling and pass to the app, when it asks. When an app finishes drawing its UI (processing WM_PAINT message), Windows will take that image, and scale it using regular image scaling techniques. For 125% <= scaling <= 175% this will result in blurred image".

I used to use two monitors and had the scaling set to 125% with the "Select same scaling for all monitors" option enabled. Now there is only one monitor, and I turned off this option (without changing the 125% scaling), and the ability to select the scaling percentage disappeared.

Yours sincerely, Greg.

Daniel Prado Velasco писал 2024-05-21 21:02:

Hello @gregta [1]

As I indicated in my previous comment:

The application is not managing the high DPI internally, that is, it is not scaling itself, but rather delegating it to Windows. The adaptation of the DPI scaling of the application should be done by Windows based on meta-information associated with the executable.

KeyNote NF relies in "GDI Scaling". imagen.png (view on web) [2]

imagen.png (view on web) [3]

For now I have no intention of implementing any of the other "true" High DPI options. I have other more important/urgent improvements to undertake. It is not enough to select those other options in the manifest. It has many more implications, such as the multiple resolutions that must be available for icons, etc. Many aspects of the user interface must be revised to fully support the other options Despite not being a pure scaling, done from the application, the result is quite decent from the tests I have done, both in W10 and W11. https://www.softacom.com/blog/windows-application-manifest-in-rad-studio/

From what I see, the GDI Scaling option is recognized starting with Windows 10. That is the reason why you see the main screen as shown as "AFTER", in W8.1. On W10 and W11 you should see the same as "BEFORE".

<<gdiScaling option was incorporate in Windows 10 Creators Update (1703)>> https://en.delphipraxis.net/topic/1012-add-support-for-high-dpi-gdiscaling/

(As of the date of that article, the GDI Scaling option was not available in Delphi. In current versions yes (I use Delphi 11.3))

-- Reply to this email directly, view it on GitHub [4], or unsubscribe [5]. You are receiving this because you were mentioned.Message ID: @.***>

Links:

[1] https://github.com/gregta [2] https://github.com/dpradov/keynote-nf/assets/13932497/637723f3-f2d0-43f4-8cb9-9476a9684220 [3] https://github.com/dpradov/keynote-nf/assets/13932497/106b9768-114e-4fba-9c34-16066d177fcb [4] https://github.com/dpradov/keynote-nf/issues/707#issuecomment-2122713620 [5] https://github.com/notifications/unsubscribe-auth/BILPYDAERMZWDT4RDWKYGR3ZDNHY3AVCNFSM6AAAAABH7LZUE2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMRSG4YTGNRSGA --=_7f5435f4dec8b65aabf73f6eadb8e06a Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=UTF-8

Thank you very much, Daniel, for the explanation!
 
Interesting written on the pagehttps://www.softacom.com/blog/win= dows-application-manifest-in-rad-studio/ :
"Unaware – An application does not support HiDPI. If HiDPI= is actually enabled, this will trigger so-called “DPI Virtualization= ” mode. In this mode Windows will “lie” to the app, that = HiDPI is not enabled (100% scaling, DPI=3D96). It will also calculate value= s of screen sizes, taskbar height and other UI elements for 100% scaling an= d pass to the app, when it asks. When an app finishes drawing its UI (proce= ssing WM_PAINT message), Windows will take that image, and scale it using r= egular image scaling techniques. For 125% <=3D scaling <=3D 175% this= will result in blurred image".
 
I used to use two monitors and had the scaling set to 125% with = the "Select same scaling for all monitors" option enabled. Now there is onl= y one monitor, and I turned off this option (without changing the 125% scal= ing), and the ability to select the scaling percentage disappeared.<= /div>
 
Yours sincerely, Greg.
 


Daniel Prado Velasco =D0=BF=D0=B8=D1=81=D0=B0=D0=BB 2= 024-05-21 21:02:

Hello

As I indicated in my previous comment:

The application is not managing the high DPI internally, th= at is, it is not scaling itself, but rather delegating it to Windows.
= The adaptation of the DPI scaling of the application should be done by Wind= ows based on meta-information associated with the executable.

KeyNote NF relies in "GDI Scaling".
imagen.png (view on= web)

imagen.png (view on web)

For now I have no intention of implementing any of the othe= r "true" High DPI options. I have other more important/urgent improvements = to undertake.
It is not enough to select those other options in the ma= nifest. It has many more implications, such as the multiple resolutions tha= t must be available for icons, etc. Many aspects of the user interface must= be revised to fully support the other options
Despite not being a pur= e scaling, done from the application, the result is quite decent from the t= ests I have done, both in W10 and W11.
https://www.softacom.com/blog/windows-applicati= on-manifest-in-rad-studio/

From what I see, the GDI Scaling option is recognized start= ing with Windows 10. That is the reason why you see the main screen as show= n as "AFTER", in W8.1. On W10 and W11 you should see the same as "BEFORE"= =2E

<<gdiScaling option was incorporate in Windows 10 Cre= ators Update (1703)>>
https://en.delphipraxis.net/topic/1012-add-support-for-hig= h-dpi-gdiscaling/

(As of the date of that article, the GDI Scaling option was= not available in Delphi. In current versions yes (I use Delphi 11.3))


Reply to this email directly, view it on GitHub, or unsubscribe.
You are rece= iving this because you were mentioned.Message ID: <dpradov/keynote-nf/issues/707/2122713620= @github.com><= /span>


--=_7f5435f4dec8b65aabf73f6eadb8e06a--