[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: default fontname graphics property

From: Ben Abbott
Subject: Re: default fontname graphics property
Date: Sun, 08 Mar 2009 12:06:58 +0800

On Mar 8, 2009, at 6:04 AM, John W. Eaton wrote:

The default of "Helvetica" seems to cause a lot of trouble.  For
example, many people report problems when trying to generate png files
with gnuplot.  I only chose "Helvetica" because that's the default in
Matlab and I thought people would expect that.  But since it causes so
much trouble, maybe we should switch it to "*", which in Octave means
"use the default font".  If the gnuplot backend sees "*" for the font
name, it just skips trying to set an explicit name and gnuplot uses
its default.  Does anyone see a good reason not to make this change?



I'm currently working on a changeset that will allow

        print (gcf, "-dpng", "-r300", "page.png")

to print a 300dpi image with tick-labels, axes-labels, and title positioned properly.

If you try the two commands below you'll see the problem.

        print (0:10)
        print (gcf, "-dpng", "-r300", "page.png")

Presently, a fontname of "*" prevents the "fontsize" info from being passed to gnuplot. For example, in __go_draw_axes__.m

1508   if (strcmp (fontname, "*"))
1509     fontspec = "";
1510   else
1511     fontspec = sprintf ("font \"%s,%d\"",  fontname, fontsize);
1512   endif

I don't see it in the gnuplot manual .... but ... the following works for me running gnuplot 4.3.x

        $ gnuplot

        Terminal type set to 'x11'
        gnuplot> set terminal x11 font "*,10"
        Terminal type set to 'x11'
        Options are ' nopersist font "*,10"'
        gnuplot> plot sin(x)
        gnuplot> set terminal x11 font "*,20"
        Terminal type set to 'x11'
        Options are ' nopersist font "*,20"'
        gnuplot> plot sin(x)

This would be a trivial change to make, once all the instances are located. A quick grep indicates that all likely candidates appear to all be isolated to __go_draw_axes__

__go_draw_axes__.m:90:  if (strcmp (f, "*"))
__go_draw_axes__.m:110: if (strcmp (f, "*"))
__go_draw_axes__.m:142: if (strcmp (f, "*"))
__go_draw_axes__.m:173: if (strcmp (f, "*"))
__go_draw_axes__.m:706:            case "*"
__go_draw_axes__.m:946:   if (strcmp (f, "*"))
__go_draw_axes__.m:1308:      case "*"
__go_draw_axes__.m:1508:  if (strcmp (fontname, "*"))

I'm rushing to finish my fontscaling work, so that it can be tested well prior to the 3.2 release and before I return to the day to day grind in a week ;-)

If someone else look at making this change it would be helpful. If not I'll get to it once I have the fontscaling working completed.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]