On 2014-01-28 12:50+0100 Elena Budnik wrote:

> Bonjour,
>
> Our installation is CentOS 64 bit, PLplot 5.9.10, cairo-devel v 1.8.8, 
> pango-devel v 1.28.1.
>
> x06c from PlPlot examples:
>
>   devices 1-3 - Xlib,  PostScript  - everything is OK.
>   devices 7-13 - SVG and all cairo drivers - cannot recognize some symbols
>
>  I've attached a PNG to explain the problem.
>
>  It seems to be some improper installation  -  what should we check?
>

Hi Elena:

Thanks for switching your PLplot questions to this list, and thanks
for a nice demonstration of the issue you have encountered with
standard example 6.  I just double-checked and cannot replicate it
here (Debian stable), but I think I know what the problem is on your
CentOS platform.

First, to give you some background, devices 1-3 use our internal
Hershey fonts to render those symbols.  Those fonts are normally quite
limited, but in their limited range (such as example 6) they are
reliable but ugly.  The cairo (and svg and qt) device drivers access
system fonts the modern way where the required glyph is specified by
unicode index.  Normally, the results are much more complete than the
Hershey fonts.  For example, compare results for -dev xwin and -dev
xcairo for standard examples 23 and 24.

But if you look carefully at the example 6 results you have sent, that
cairo device is telling you that glyphs are missing from your system
fonts for unicode index 25b3, 22c6, and 2299, and I expect you will
find a number of other missing glyphs (indicated for cairo devices by
a rectangular box with a unicode index inside) for examples 23 and 24
as well.  The likely explanation is you need to install additional
system fonts on your CentOS platform.

To give you some excellent information about what system fonts you
have currently installed, I strongly suggest you install the gucharmap
application (if you don't have it installed already).  That gives you
a very nice GUI demonstration of what glyphs are supplied by your
system fonts.  Here for gucharmap, if I use the search widget to find
25b3, 22c6, and 2299 (white up-pointing triangle, star operator, and
circled dot operator), they are displayed (as expected) for the
FreeSans, FreeSerif, and FreeMono system fonts.  Many other system
fonts I have installed also contain those glyphs.

What happens if you try the same search in gucharmap?  You should find
the same result (empty glyphs) as for the cairo device driver since
gucharmap also depends on libcairo, but I would like you to
double-check that to rule out the possibility there is some obscure or
subtle problem in the way that the PLplot cairo device driver is using
that library compared to gucharmap.

Note, that PLplot's modern devices such as the cairo devices never
look for a specific system font. Instead, they ask the cairo system
library to look for a generic system font (one of the sans, serif, or
mono families).  That library, in turn, asks fontconfig to
automatically find the best glyph choice for the specified unicode
index for any system font belonging to the specified sans, serif, or
mono broad category of font.  gucharmap works in a similar way
although in that case you can ask for specific fonts as well (which
falls back to the generic search for a glyph if the glyph is not
present in the non-generic font you have specified).

Assuming that your PLplot and gucharmap results are both telling you
there are no system fonts with those desired 25b3, 22c6, and 2299
glyphs, then the likely issue is that your CentOS box just does not
have many TrueType fonts installed (yet).

So as a next step in the font debugging process, what happens if you
try to install the FreeSans, FreeSerif, and FreeMono system fonts?
(Those are general unicode fonts with good looking glyphs that have a
very large coverage including 25b3, 22c6, and 2299 of the possible
unicode glyphs.) On Debian, the name of the package that contains
those system fonts is fonts-freefont-ttf, but on CentOS, the name of
the package will be different, and you might have to use the rpmfind
facilities to find what the package name is.  Once you have those system
fonts installed, then gucharmap should reveal very large numbers
of glyphs available in most of the unicode index blocks, and examples 6,
7, 23, and 24 should show few or no missing glyphs.

Let this list know whether installation of additional system fonts
solves the problem for you. If that step doesn't solve your system
font problems, then the possibility also exists that there is some bad
screwup (e.g., fontconfig not being configured properly) in how CentOS
installs system fonts.  But I think a lot of CentOS users would be
loudly complaining if that were the case so I view that possibility as
fairly unlikely.

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
__________________________

------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
_______________________________________________
Plplot-general mailing list
Plplot-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-general

Reply via email to