The wingcc device driver currently plots graphical elements (such as lines) using GDI http://en.wikipedia.org/wiki/Graphics_Device_Interface. However, GDI has a successor named Direct2D http://en.wikipedia.org/wiki/Direct2D which has several advantages (e.g., support for vector graphics) compared to GDI.
The wingcc device driver currently plots text using either Hershey fonts or (if freetype is available) the plfreetype approach. Hershey fonts are ugly and also only provide an extremely limited set of glyphs while the plfreetype approach has been deprecated primarily because of its clumsy access to system fonts (the user most specify those by directory and font file name). It also has the drawbacks of requiring an extra dependency (the freetype library) and using strict left-to-right layout which gives bad results for complex text layout (CTL) language scripts. To address these current wingcc text issues, the wingcc device driver should be updated to plot text using native Windows capabilities, i.e., Uniscribe http://en.wikipedia.org/wiki/Uniscribe or its successor, DirectWrite http://en.wikipedia.org/wiki/DirectWrite.
In sum, the current approach can be characterized as
GDI/plfreetype (or GDI/Hershey)
and that approach should be replaced by one or more of the following possibilities
GDI/Uniscribe
GDI/DirectWrite
Direct2D/DirectWrite
where we have included dated protocols such as GDI and Uniscribe in this list of possibilities because some of our Windows users will be using old versions of Windows such as XP where only GDI and Uniscribe are readily available. (Direct2D and DirectWrite were first made available in Windows 7.)
I will propagate the changes for drawing text from my wingdi driver (which I will put up as a beta driver) into wingcc.
Related
Feature Requests: #20