Hi Alban:

It seemed highly desirable to me to split the epspdfqt device into
independent epsqt and pdfqt devices with corresponding cmake configuration
parameters PLD_epsqt and PLD_pdfqt replacing PLD_epspdfqt, and with output
PostScript of PDF file type completely determined by the choice of device
rather than the suffix of the output file name.  This makes -dev epsqt and
-dev pdfqt compatible with what PLplot does for other file devices).

I have implemented this change as of revision 9678 and -dev epsqt and -dev
pdfqt work as expected regardless of file suffix.

As most on this list know, my C++ skills are not as good as my C skills.
:-)

Therefore, I would appreciate you reviewing my changes in drivers/qt.h and
drivers/qt.cpp to make sure there is no more elegant way to make the change.

Would it be possible to do a similar change to split -dev rasterqt into -dev
jpgqt, etc.?  My motivation here is to avoid choosing the various raster
file formats with the file suffix for the same reason I made the epspdfqt
split.  I would be willing to do the editing work, if you pointed me in the
right direction, but I cannot find documentation of how Qt4 controls its
output file format for formats other than PostScript or PDF.

I also believe I have done all the build-system changes as part of revision
9678 so that one can use any subset of the cmake parameters
-DPLD_rasterqt=ON -DPLD_svgqt=ON -DPLD_epsqt=ON -DPLD_pdfqt=ON
-DPLD_qtwidget=ON.  However, so far I have only tested building with the
full list of options.

Another issue I have noticed for the Qt devices is they all seem to use the
Hershey fonts.  Do you have any present plans to use the powerful Qt font
and text layout facilities (e.g. for Complex text layout languages like
Arabic, Hebrew, Hindi, Thai, etc.) to render text?  These facilities are
notorious (see remarks on Ed Trager's "The Penguin and Unicode: The State of
Unicode and Internationalization in Linux." accessible from
http://www.unifont.org/index.html) for being as good as or better than those
in the pango/cairo stack that we use for the cairo device driver so it seems
a shame to limit the qt device driver to just the Hershey fonts.  The
Hershey fonts are acceptable for paper plots, but they are
unhinted/unantialiased so they look bad on display devices. Hershey fonts
also have a small range of glyphs (both for Math symbols and non-European
languages) compared to, say, the system TrueType fonts that are accessible
with our cairo device driver.

If you do decide to take advantage of the font and text layout facilities of
the Qt4 library for the qt device driver, be sure to follow generally what
has been implemented in our cairo device driver rather than relying on the
plfreetype interface.  That interface was implemented in our first
post-Hershey generation, and it does not deal with Complex text layout
issues at all and its font-selection mechanism is done crudely by directory
name and file name.  That technique works, but it is not nearly as
convenient as the cairo device driver where you specify, e.g., "sans", and
the cairo stack finds the best possible choice of sans serif glyph for the
particular unicode value you have specified.  With this approach you don't
have to do anything special for the various languages we use in our "peace
flag" example (example 24).  The font choice just keeps being changed
automatically for the cairo stack as the various unicode values are
encountered in that example. (Qt apparently has a similar automatic glyph
selection mechanism.) You can see the nice looking pngcairo results for this
example at http://plplot.sourceforge.net/examples-data/demo24/x24.01.png.
I hope to see the qt device driver results for that example
with a similar quality some day.

I have asked a lot of questions above and in previous posts to the list
today.  I am looking forward to your responses because I believe the qt
device driver has tremendous potential for PLplot which we should be
able to realize with some additional work.

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); PLplot scientific plotting software
package (plplot.org); 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
__________________________

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to