<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to 20: Update wingcc to use modern Windows graphics and text support</title><link>https://sourceforge.net/p/plplot/feature-requests/20/</link><description>Recent changes to 20: Update wingcc to use modern Windows graphics and text support</description><atom:link href="https://sourceforge.net/p/plplot/feature-requests/20/feed.rss" rel="self"/><language>en</language><lastBuildDate>Wed, 09 Mar 2016 22:49:58 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/plplot/feature-requests/20/feed.rss" rel="self" type="application/rss+xml"/><item><title>Update wingcc to use modern Windows graphics and text support</title><link>https://sourceforge.net/p/plplot/feature-requests/20/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The wingcc device driver currently plots graphical elements (such as lines) using GDI &lt;a href="http://en.wikipedia.org/wiki/Graphics_Device_Interface" rel="nofollow"&gt;http://en.wikipedia.org/wiki/Graphics_Device_Interface&lt;/a&gt;.  However, GDI has a successor named Direct2D &lt;a href="http://en.wikipedia.org/wiki/Direct2D" rel="nofollow"&gt;http://en.wikipedia.org/wiki/Direct2D&lt;/a&gt; which has several advantages (e.g., support for vector graphics) compared to GDI.&lt;/p&gt;
&lt;p&gt;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 &lt;a href="http://en.wikipedia.org/wiki/Uniscribe" rel="nofollow"&gt;http://en.wikipedia.org/wiki/Uniscribe&lt;/a&gt; or its successor, DirectWrite &lt;a href="http://en.wikipedia.org/wiki/DirectWrite" rel="nofollow"&gt;http://en.wikipedia.org/wiki/DirectWrite&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In sum, the current approach can be characterized as&lt;/p&gt;
&lt;p&gt;GDI/plfreetype (or GDI/Hershey)&lt;/p&gt;
&lt;p&gt;and that approach should be replaced by one or more of the following possibilities&lt;/p&gt;
&lt;p&gt;GDI/Uniscribe&lt;br/&gt;
GDI/DirectWrite&lt;br/&gt;
Direct2D/DirectWrite&lt;/p&gt;
&lt;p&gt;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.)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Alan W. Irwin</dc:creator><pubDate>Wed, 09 Mar 2016 22:49:58 -0000</pubDate><guid>https://sourceforge.netf3846980466b8316dde393c4e88473c8b86b659c</guid></item></channel></rss>