On 2013-10-10 11:45-0700 phil rosenberg wrote:

> With backend=0,freetype=0 (wxDC) wxWidgets fails to display the
peace on the middle column second row (next to English). However, that
is almost irrelevant because when I try with freetype I get a segfault
or something.

@Phil:

My guess is that segfault might be fixed if you installed freetype. 
But I don't think it matters since the plfreetype issues caused by
simplistic left-to-right text layout and using specific rather than
generic fonts are cross-platform in nature.  (Note the important
distinction I am making between freetype and plfreetype.  There is
nothing wrong with the former.  But there is something wrong with the
simplistic way that plfreetype uses freetype.) So if you did install
freetype, your plfreetype results would be similar to mine, i.e.,
worse than the native results you got above.

Anyhow, based on the relatively good results you got above, I conclude
that plfreetype is a bad choice on all platforms for the wxDC case so
I will disable it as the first step toward simplifying our wxwidgets
device driver (see further comments on that topic below).

> Using backend=2 (wxGraphicsContext) gives perfect results.

> To be honest I don't have much against dropping freetype or
AGG support for wxWidgets. I'm not really sure why either of them are
there - perhaps there use predates wxGraphicsContext with it's
anti-aliasing and alpha support. Given wxWidgets has it's own text and
graphics neither are needed. Plus, I don't know if you remember, but I
was looking at a bug a few months ago for which the only real solution
was to use multiple threads in wxWidgets. It turned out that the
freetype code was totally incompatible with multithreading so I ground
to a halt there.

My guess is that when Werner designed the wxwidgets device driver,
there were many deficiencies in the wxwidgets graphics support and
native unicode text support so he implemented three different variants
(wxDC, AGG, and wxGC) to get around the native issues with some
strengths and weaknesses for all of those variants.  But meanwhile,
native wxwidgets support has improved for both graphics and unicode
text. So my feeling is we should drop all variants except one just to
make it much easier to maintain the wxwidgets device driver.

I don't know (or care that much) about the AGG status, but here is the
status for wxDC and wxGC.  Example 24 without plfreetype shows native
wxwidgets unicode text support is perfect on Linux and near-perfect
(one peace word missing as stated above) on Windows for wxDC, and poor
(5 peace words missing) on Linux and perfect (as stated above) on
Windows for wxGC.  I assume because of perfect results on the
alternate platforms that there are good prospects (if a wxwidgets
developer is inspired to work on these issues) to make both the
Windows and Linux native text support perfect for both wxDC and wxGC.
If you also compare results for example 8, our 3D support on wxDC is
buggy (labels tilted at the wrong angles, but I assume that is an
issue that PLplot developers can fix rather than a native wxDC issue).
In contrast, 3D support on wcGC is fine (at least on Linux)

@Werner: 
Can you summarize your own feelings here about the way forward for the
wxwidgets device driver in light of the improvements in native
wxwidgets graphics and text support?  If you agree it would be good to
simplify the wxwidgets device driver code by eliminating all variants
except one, which variant would you choose as the one we should go
forward with?

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
__________________________

------------------------------------------------------------------------------
October Webinars: Code for Performance
Free Intel webinars can help you accelerate application performance.
Explore tips for MPI, OpenMP, advanced profiling, and more. Get the most from 
the latest Intel processors and coprocessors. See abstracts and register >
http://pubads.g.doubleclick.net/gampad/clk?id=60134071&iu=/4140/ostg.clktrk
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to