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