Hi Aaron:

I am putting this further discussion on the plplot-devel mailing list
since some developers there have more device expertise than I do (and
also a lot more Windows expertise) and therefore will likely want to
contribute to the discussion.

On 2015-05-13 07:37-0500 Aaron Hexamer wrote:

> [....] I've been wondering is if it
> would be feasible to make a driver that uses more of Window's raw API for
> shapes and text, thus avoiding the need for libs like Qt, Cairo-Pango, etc.
> - one would still get portability through other drivers on other platforms.
> It looks like wingcc is somewhat like that, but preferred to use Freetype.
> I gather from looking at the history that text rendering is challenging,
> especially around vertical alignment topics.

For your information, the plfreetype approach is strongly deprecated. 
The primary reason for this is the user can only control the selection
of the needed font files at cmake time or else at run-time via
environment variables which is a very clumsy approach.  A secondary
reason is the plfreetype approach only works for simple text layout
(left-to-right) languages.  Instead, our preferred approach is to rely
on external libraries such as pango/cairo/fontconfig, Qt, or wxwidgets
to automatically select the best system font (of the sans, serif,
normal weight, bold, etc., generic classes of fonts that PLplot
supports) to render each unicode glyph encountered (which
automatically allows multi-language plots such as example 24) and to
do the required (complex) text layout.

Thus, I agree that the plfreetype approach used by wingcc (the last
device driver that still uses that approach) should be completely
replaced by calling the appropriate native Windows API for selecting
the best system font to render each unicode glyph that is encountered
and to do the text layout.

I think in the past that Arjen Markus has commented this approach
should be possible, but he has not had time to pursue it further.
Also, my understanding is that Jim Dishaw has worked on implementing a
Windows device driver.  I am not sure what the status of that project
is, but he might have some comments also about the feasibility of
modifying wingcc this way.

Anyhow, if you feel such modification of wingcc is possible, I would
encourage you to give it a try following, say, the broad outline of
the alt_unicode text handling that is done in drivers/cairo.c.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.sf.net); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__________________________

Linux-powered Science
__________________________

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to