|
From: Ben A. <bpa...@ma...> - 2009-04-05 17:13:29
|
On Apr 5, 2009, at 3:47 AM, Petr Mikulik wrote: > Printing to pdf (via gnuplot backend) is broken in Octave 3.1.55 > even though > gnuplot accepts "set term pdf" via "pdfcairo" terminal. > > >> plot(1:100); print a.pdf -dpdf > > error: gnuplot_drawnow: the gnuplot terminal, "pdf", is not available. > error: called from: > error: > /opt/octave/octave-3.1.55/share/octave/3.1.55/m/plot/ > gnuplot_drawnow.m at > line 72, column 7 > > > It seems that gnuplot_drawnow.m requires exact match of terminal > names in > 3.1.55. However, gnuplot names the pdf terminal "pdf" or "pdfcairo" > according to the library it was compiled against. In both cases "set > term > pdf" works. > > I think gnuplot_drawnow.m should test presence of "pdfcairo" if > "pdf" has > not been found. > > If I try > print zz.png -dpngcairo > print zz.pdf -dpdfcairo > it produces these two files: > pngcairo:zz.png > pdfcairo:zz.pdf > Why the prefix there? > > --- > PM Petr, For "set term png" if there is no "png" present does gnuplot substitute "pngcairo" as well? I notice the cairo terminals default options are different from the non-cairo terminals. Specifically, there is no default font-name specified, in GPVAL_TERMOPTIONS, for the cairo terminals. This will interfere with the rendering of different font-sizes when the anonymous font-name "*" is associated to an Octave text object. The prefixes "pngcairo" and "pdfcairo" prefixes are due to how print.m has been implemented. When the specified device does not match an explicit list, Octave assumes that "convert" is to be used to convert the image to the specified format. Octave uses eps as the basis for converting to other formats. As "pdfcairo" and "pngcairo" are not presently among the devices supported by Ocave, the current implementation relies upon "convert" ... which is obviously not what you intend, and does not produce a sensible result. In any event, I'm planning to add support the Lua/TikZ terminal soon. It would make sense for me to include the cairo terminals as well. Ben |