James Dishaw - 2016-03-10

I will propagate the changes for drawing text from my wingdi driver (which I will put up as a beta driver) into wingcc.

On Mar 9, 2016, at 5:50 PM, Alan W. Irwin airwin@users.sf.net wrote:

[feature-requests:#20] https://sourceforge.net/p/plplot/feature-requests/20/ Update wingcc to use modern Windows graphics and text support

Status: open
Group:
Created: Wed Mar 09, 2016 10:49 PM UTC by Alan W. Irwin
Last Updated: Wed Mar 09, 2016 10:49 PM UTC
Owner: James Dishaw

The wingcc device driver currently plots graphical elements (such as lines) using GDI http://en.wikipedia.org/wiki/Graphics_Device_Interface http://en.wikipedia.org/wiki/Graphics_Device_Interface. However, GDI has a successor named Direct2D http://en.wikipedia.org/wiki/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 http://en.wikipedia.org/wiki/Uniscribe or its successor, DirectWrite http://en.wikipedia.org/wiki/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.)

Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/plplot/feature-requests/20/ https://sourceforge.net/p/plplot/feature-requests/20/
To unsubscribe from further messages, please visit https://sourceforge.net/auth/subscriptions/ https://sourceforge.net/auth/subscriptions/

 

Related

Feature Requests: #20