One of the deficiencies of the deprecated plfreetype method of handling
unicode fonts (used by, e.g., the wxwidgets(agg) and wingcc device drivers)
is the fonts are inflexibly described by their file name which severely
limits glyph choice. This contrasts with the much more flexible generic font
approach in the psttf, cairo, qt, and wxwidgets(wxGC) device drivers that
puts no file limits on glyph choice. (That approach is implemented via
system libraries such as fontconfig which search all system font files for a
suitable glyph of the right generic font type (sans, serif, etc.)

I historically built into plP_text (in plcore.c) a momentary change to
generic "symbol" fonts for each unicode glyph that was designated by special
PLplot encoding methods for unicode (such as "#[0x????]"). The idea was that
we would use extra large "symbol" font files to give more font choice, but
in practice it meant (see cmake/modules/freetype.cmake) by default we
changed for the plfreetype method from whatever font file to the serif
choice of font file and this wasn't much of an advantage in finding glyphs
for the already deprecated plfreetype method. Furthermore, the idea was
applied inconsistently (a) because the momentary font change does not occur
if direct UTF-8 encoding is used instead of PLplot-specific encoding
methods, and (b) because amongst the generic font drivers, psttf, qt and
cairo used sans fonts for the "symbol" font while wxwidgets (wxGC) used
serif (until my commit today which changed that to sans to be consistent
with the rest of the generic font device drivers). Finally, the idea
obviously produces incorrect font results in both the plfreetype and generic
font cases unless the font being changed from was identical to symbol or
serif in the plfreetype case and identical to symbol or sans in the generic
font case.

Anyhow, in retrospect the momentary change to the "symbol" font that I
historically implemented does seem to be a bit lame, and I therefore plan to
remove that font change (using #ifdef's so it is easy to restore it).  Note,
this fix still allows use of symbol fonts if they are specifically asked for
by the user.  Of course, I will reconsider removal of the momentary font
change if my Debian tests or tests by those with access to other platforms
shows substantial glyph-finding problems as a result of that removal for
either plfreetype type or generic font type device drivers.

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
__________________________

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to