New text rendering in forms on Windows with DirectWrite

DirectWrite is the modern text rendering API on Windows. It improves text readability thanks to its subpixel quality, and is fully compatible with the most recent technologies. As such, it is a stepping stone to many improvements. Amongst them, the management of high-resolution screens (4K screens) we’re currently working on, and that many of you dearly expect. 4D list boxes moved to DirectWrite in v16 and we decided to make the switch for our text rendering inside forms in v19R3.

All new projects and structures created in v19R3 will automatically use DirectWrite. For the projects and structures created with earlier versions of 4D, there is a compatibility option in the database settings if you want to switch to DirectWrite for text rendering in forms:

Be careful as activating DirectWrite will slightly alter the appearance of the fonts you use, affecting the font size and character spacing. Check your forms after enabling the setting to be sure your texts are still correctly displayed.


This is a comparison between a GDI (Rich Text) form and its version in DirectWrite.
There are few differences but they can affect the way your forms are displayed.

If you have questions about this change, feel free to ask on the official 4D forum.

Nicolas Brachfogel
• Product Owner & Senior Developer • Nicolas Brachfogel joined 4D in 2017 as a Senior Developer (4D Server and networking). As Product Owner to manage the release of Apple Silicon, he's in charge of writing user stories and translating them into functional specifications, as well as making sure that feature implementations meet customer needs. A graduate of the Institut Supérieur d'Informatique Appliquée (INSIA), Nicolas began his career as a software developer in 2001. Following several years coding in Java and C++, he went on to specialize in client-server development for video game companies. As a server developer/architect, he successfully worked on the server architectures of many games (Dofus Arena, Drakerz, Trivial Pursuit Go!).