annotate scripts/plot/util/print.m @ 30564:796f54d4ddbf stable

update Octave Project Developers copyright for the new year In files that have the "Octave Project Developers" copyright notice, update for 2021. In all .txi and .texi files except gpl.txi and gpl.texi in the doc/liboctave and doc/interpreter directories, change the copyright to "Octave Project Developers", the same as used for other source files. Update copyright notices for 2022 (not done since 2019). For gpl.txi and gpl.texi, change the copyright notice to be "Free Software Foundation, Inc." and leave the date at 2007 only because this file only contains the text of the GPL, not anything created by the Octave Project Developers. Add Paul Thomas to contributors.in.
author John W. Eaton <jwe@octave.org>
date Tue, 28 Dec 2021 18:22:40 -0500
parents 363fb10055df
children 5d3faba0342e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
1 ########################################################################
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
2 ##
30564
796f54d4ddbf update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents: 30379
diff changeset
3 ## Copyright (C) 2008-2022 The Octave Project Developers
27918
b442ec6dda5c use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents: 27801
diff changeset
4 ##
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
5 ## See the file COPYRIGHT.md in the top-level directory of this
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
6 ## distribution or <https://octave.org/copyright/>.
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
7 ##
5362
ef053d682e42 [project @ 2005-05-23 19:21:54 by jwe]
jwe
parents: 5361
diff changeset
8 ## This file is part of Octave.
ef053d682e42 [project @ 2005-05-23 19:21:54 by jwe]
jwe
parents: 5361
diff changeset
9 ##
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24423
diff changeset
10 ## Octave is free software: you can redistribute it and/or modify it
5362
ef053d682e42 [project @ 2005-05-23 19:21:54 by jwe]
jwe
parents: 5361
diff changeset
11 ## under the terms of the GNU General Public License as published by
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24423
diff changeset
12 ## the Free Software Foundation, either version 3 of the License, or
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22578
diff changeset
13 ## (at your option) any later version.
5362
ef053d682e42 [project @ 2005-05-23 19:21:54 by jwe]
jwe
parents: 5361
diff changeset
14 ##
ef053d682e42 [project @ 2005-05-23 19:21:54 by jwe]
jwe
parents: 5361
diff changeset
15 ## Octave is distributed in the hope that it will be useful, but
ef053d682e42 [project @ 2005-05-23 19:21:54 by jwe]
jwe
parents: 5361
diff changeset
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of
22755
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22578
diff changeset
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3a2b891d0b33 maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents: 22578
diff changeset
18 ## GNU General Public License for more details.
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
19 ##
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
20 ## You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 6965
diff changeset
21 ## along with Octave; see the file COPYING. If not, see
24534
194eb4bd202b maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents: 24423
diff changeset
22 ## <https://www.gnu.org/licenses/>.
27923
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
23 ##
bd51beb6205e update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents: 27919
diff changeset
24 ########################################################################
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
25
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
26 ## -*- texinfo -*-
20852
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 20778
diff changeset
27 ## @deftypefn {} {} print ()
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 20778
diff changeset
28 ## @deftypefnx {} {} print (@var{options})
516bb87ea72e 2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents: 20778
diff changeset
29 ## @deftypefnx {} {} print (@var{filename}, @var{options})
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
30 ## @deftypefnx {} {} print (@var{hfig}, @dots{})
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
31 ## @deftypefnx {} {@var{rgb} =} print (@qcode{"-RGBImage"}, @dots{})
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
32 ## Format a figure for printing and either save it to a file, send it to a
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
33 ## printer, or return an RGB image.
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
34 ##
20713
2469d78a1d8b Consistently use 'filename' rather than 'file name' throughout code base.
Rik <rik@octave.org>
parents: 20231
diff changeset
35 ## @var{filename} defines the name of the output file. If the filename has
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
36 ## no suffix then one is inferred from the specified device and appended to the
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
37 ## filename. When neither a filename nor the @qcode{"-RGBImage"} option is
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
38 ## present, the output is sent to the printer. The various options and
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
39 ## filename arguments may be given in any order, except for the figure handle
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
40 ## argument @var{hfig} which must be first if it is present.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
41 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
42 ## Example: Print to a file using PDF and JPEG formats.
14456
05635e4c605a Improve documentation for print().
Ben Abbott <bpabbott@mac.com>
parents: 14382
diff changeset
43 ##
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
44 ## @example
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
45 ## @group
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
46 ## figure (1);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
47 ## clf ();
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
48 ## surf (peaks);
26043
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
49 ## print figure1.pdf # The extension specifies the format
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
50 ## print -djpg figure1 # Will produce "figure1.jpg" file
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
51 ## @end group
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
52 ## @end example
15301
3d05b55c91c7 doc: Clean up docstring for print.m.
Rik <rik@octave.org>
parents: 15214
diff changeset
53 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
54 ## If the first argument is a handle @var{hfig} to a figure object then it
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
55 ## specifies the figure to print. By default, the current figure returned
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
56 ## by @code{gcf} is printed.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
57 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
58 ## For outputs to paged formats, for example, PostScript and PDF, the page size
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
59 ## is specified by the figure's @code{papersize} property together with the
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
60 ## @code{paperunits} property. The location and size of the plot on the page
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
61 ## are specified by the figure's @code{paperposition} property. The
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
62 ## orientation of the page is specified by the figure's @code{paperorientation}
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
63 ## property.
14456
05635e4c605a Improve documentation for print().
Ben Abbott <bpabbott@mac.com>
parents: 14382
diff changeset
64 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
65 ## For non-page formats---for example, image formats like JPEG---the width and
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
66 ## height of the output are specified by the figure's @code{paperposition(3:4)}
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
67 ## property values.
14456
05635e4c605a Improve documentation for print().
Ben Abbott <bpabbott@mac.com>
parents: 14382
diff changeset
68 ##
15301
3d05b55c91c7 doc: Clean up docstring for print.m.
Rik <rik@octave.org>
parents: 15214
diff changeset
69 ## The @code{print} command supports many @var{options}:
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
70 ##
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
71 ## @table @code
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
72 ## @item -f@var{h}
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
73 ## Specify the handle, @var{h}, of the figure to be printed.
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
74 ##
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
75 ## Example: Print figure 1.
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
76 ##
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
77 ## @example
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
78 ## @group
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
79 ## figure (1);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
80 ## clf ();
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
81 ## surf (peaks);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
82 ## figure (2);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
83 ## print -f1 figure1.pdf
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
84 ## ## Equivalent functional form:
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
85 ## print (1, "figure1.pdf")
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
86 ## @end group
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
87 ## @end example
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
88 ##
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
89 ## @item -P@var{printer}
26043
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
90 ## Set the @var{printer} name to which the plot is sent if no @var{filename}
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
91 ## is specified.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
92 ##
26043
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
93 ## Example: Print to printer named PS_printer using PostScript format.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
94 ##
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
95 ## @example
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
96 ## @group
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
97 ## clf ();
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
98 ## surf (peaks);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
99 ## print -dpswrite -PPS_printer
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
100 ## @end group
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
101 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
102 ##
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
103 ## @item -RGBImage
26043
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
104 ## Return an M-by-N-by-3 RGB image of the figure. The size of the image
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
105 ## depends on the formatting options. This is similar to taking a screen
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
106 ## capture of the plot, but formatting options may be changed such as the
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
107 ## resolution or monochrome/color.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
108 ##
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
109 ## Example: Get the pixels of a figure image.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
110 ##
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
111 ## @example
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
112 ## @group
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
113 ## clf ();
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
114 ## surf (peaks);
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
115 ## @var{rgb} = print ("-RGBImage");
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
116 ## @end group
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
117 ## @end example
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
118 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
119 ## @item -opengl
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
120 ## @itemx -painters
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
121 ## Specifies whether the opengl (pixel-based) or painters (vector-based)
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
122 ## renderer is used. This is equivalent to changing the figure's
29669
101d1d8df273 doc: Spellcheck documentation ahead of 6.3 release.
Rik <rik@octave.org>
parents: 29358
diff changeset
123 ## @qcode{"Renderer"} property. When the figure
101d1d8df273 doc: Spellcheck documentation ahead of 6.3 release.
Rik <rik@octave.org>
parents: 29358
diff changeset
124 ## @nospell{@qcode{"RendererMode"}} property is @qcode{"auto"} (the default)
101d1d8df273 doc: Spellcheck documentation ahead of 6.3 release.
Rik <rik@octave.org>
parents: 29358
diff changeset
125 ## Octave will use the @qcode{"opengl"} renderer for raster formats (e.g.,
101d1d8df273 doc: Spellcheck documentation ahead of 6.3 release.
Rik <rik@octave.org>
parents: 29358
diff changeset
126 ## JPEG) and @qcode{"painters"} for vector formats (e.g., PDF). Those options
101d1d8df273 doc: Spellcheck documentation ahead of 6.3 release.
Rik <rik@octave.org>
parents: 29358
diff changeset
127 ## are only supported for the "qt" graphics toolkit.
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
128 ##
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
129 ## @item -svgconvert
29008
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
130 ## When using the @option{-painters} renderer, this enables a different
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
131 ## backend toolchain with enhanced characteristics:
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
132 ##
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
133 ## @table @asis
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
134 ## @item Font handling:
29470
2ae4764180c6 Initial implementation of a LaTeX interpreter (bug #59546).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 29359
diff changeset
135 ## For interpreters "none" and "tex", the actual font is embedded in the output
2ae4764180c6 Initial implementation of a LaTeX interpreter (bug #59546).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 29359
diff changeset
136 ## file which allows for printing arbitrary characters and fonts in all vector
2ae4764180c6 Initial implementation of a LaTeX interpreter (bug #59546).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 29359
diff changeset
137 ## formats.
2ae4764180c6 Initial implementation of a LaTeX interpreter (bug #59546).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 29359
diff changeset
138 ##
2ae4764180c6 Initial implementation of a LaTeX interpreter (bug #59546).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 29359
diff changeset
139 ## Strings using the @qcode{"latex"} interpreter, are rendered using path
30353
212461a26e9c doc: grammarcheck m-files in scripts/ directory ahead of 7.1 release.
Rik <rik@octave.org>
parents: 29670
diff changeset
140 ## objects. This looks good but note that textual info (font,
212461a26e9c doc: grammarcheck m-files in scripts/ directory ahead of 7.1 release.
Rik <rik@octave.org>
parents: 29670
diff changeset
141 ## characters@dots{}) are lost.
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
142 ##
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
143 ## @item Output Simplification:
29008
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
144 ## By default, the option @option{-painters} renders patch and surface objects
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
145 ## using assemblies of triangles. This may lead to anti-aliasing artifacts
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
146 ## when viewing the file. The @option{-svgconvert} option reconstructs
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
147 ## polygons in order to avoid those artifacts (particularly for 2-D figures).
27794
45ad2127582b doc: grammarcheck scripts before 6.1 release.
Rik <rik@octave.org>
parents: 27622
diff changeset
148 ##
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
149 ## @item Transparency:
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
150 ## Allows for printing transparent graphics objects in PDF format.
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
151 ## For PostScript formats the presence of any transparent object will cause the
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
152 ## output to be rasterized.
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
153 ## @end table
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
154 ##
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
155 ## Caution: @option{-svgconvert} may lead to inaccurate rendering of image
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
156 ## objects.
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
157 ##
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 16933
diff changeset
158 ## @item -portrait
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
159 ## @itemx -landscape
20173
777f26aa8e3e doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19990
diff changeset
160 ## Specify the orientation of the plot for printed output.
777f26aa8e3e doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19990
diff changeset
161 ## For non-printed output the aspect ratio of the output corresponds to the
777f26aa8e3e doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19990
diff changeset
162 ## plot area defined by the @qcode{"paperposition"} property in the
777f26aa8e3e doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19990
diff changeset
163 ## orientation specified. This option is equivalent to changing the figure's
777f26aa8e3e doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19990
diff changeset
164 ## @qcode{"paperorientation"} property.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
165 ##
26103
9cfbe7688368 Add -fillpage and -bestfit print options (bug #52838).
Jun Wang <jstzwj@aliyun.com>
parents: 26102
diff changeset
166 ## @item -fillpage
9cfbe7688368 Add -fillpage and -bestfit print options (bug #52838).
Jun Wang <jstzwj@aliyun.com>
parents: 26102
diff changeset
167 ## @itemx -bestfit
9cfbe7688368 Add -fillpage and -bestfit print options (bug #52838).
Jun Wang <jstzwj@aliyun.com>
parents: 26102
diff changeset
168 ## When using a page-based format (PDF, PostScript, printer) ignore the
9cfbe7688368 Add -fillpage and -bestfit print options (bug #52838).
Jun Wang <jstzwj@aliyun.com>
parents: 26102
diff changeset
169 ## @qcode{"paperposition"} property and have the plot occupy the entire page.
9cfbe7688368 Add -fillpage and -bestfit print options (bug #52838).
Jun Wang <jstzwj@aliyun.com>
parents: 26102
diff changeset
170 ## The option @option{-fillpage} will stretch the plot to occupy the page with
9cfbe7688368 Add -fillpage and -bestfit print options (bug #52838).
Jun Wang <jstzwj@aliyun.com>
parents: 26102
diff changeset
171 ## 0.25 inch margins all around. The option @option{-bestfit} will expand the
9cfbe7688368 Add -fillpage and -bestfit print options (bug #52838).
Jun Wang <jstzwj@aliyun.com>
parents: 26102
diff changeset
172 ## plot to take up as much room as possible on the page @strong{without}
9cfbe7688368 Add -fillpage and -bestfit print options (bug #52838).
Jun Wang <jstzwj@aliyun.com>
parents: 26102
diff changeset
173 ## distorting the original aspect ratio of the plot.
9cfbe7688368 Add -fillpage and -bestfit print options (bug #52838).
Jun Wang <jstzwj@aliyun.com>
parents: 26102
diff changeset
174 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
175 ## @item -color
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
176 ## @itemx -mono
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
177 ## Color or monochrome output.
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
178 ##
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
179 ## @item -solid
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
180 ## @itemx -dashed
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
181 ## Force all lines to be solid or dashed, respectively.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
182 ##
26104
0e4b9df85361 Don't issue a warning when -noui option used with print.
Rik <rik@octave.org>
parents: 26103
diff changeset
183 ## @item -noui
0e4b9df85361 Don't issue a warning when -noui option used with print.
Rik <rik@octave.org>
parents: 26103
diff changeset
184 ## Don't print uicontrol objects such as pushbuttons which may overlay the
0e4b9df85361 Don't issue a warning when -noui option used with print.
Rik <rik@octave.org>
parents: 26103
diff changeset
185 ## plot. This is the default behavior and it is not possible to include
0e4b9df85361 Don't issue a warning when -noui option used with print.
Rik <rik@octave.org>
parents: 26103
diff changeset
186 ## uicontrol objects in the output without using an external screen capture
0e4b9df85361 Don't issue a warning when -noui option used with print.
Rik <rik@octave.org>
parents: 26103
diff changeset
187 ## tool.
0e4b9df85361 Don't issue a warning when -noui option used with print.
Rik <rik@octave.org>
parents: 26103
diff changeset
188 ##
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
189 ## @item -r@var{NUM}
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
190 ## Resolution of bitmaps in dots per inch (DPI). For both metafiles and SVG
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
191 ## the default is the screen resolution; for other formats the default is 150
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
192 ## DPI@. To specify screen resolution, use @qcode{"-r0"}.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
193 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
194 ## Example: high resolution raster output.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
195 ##
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
196 ## @example
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
197 ## @group
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
198 ## clf ();
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
199 ## surf (peaks (), "facelighting", "gouraud");
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
200 ## light ();
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
201 ## print ("-r600", "lit_peaks.png");
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
202 ## @end group
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
203 ## @end example
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
204 ##
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
205 ## @item -S@var{xsize},@var{ysize}
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
206 ## Plot size in pixels for raster formats including PNG, JPEG, PNG, and
29008
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
207 ## @emph{unusually} SVG@. For all vector formats, including PDF, PS, and EPS,
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
208 ## the plot size is specified in points. This option is equivalent to changing
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
209 ## the width and height of the output by setting the figure property
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
210 ## @code{paperposition(3:4)}. When using the command form of the print
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
211 ## function you must quote the @var{xsize},@var{ysize} option to prevent the
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
212 ## Octave interpreter from recognizing the embedded comma (','). For example,
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
213 ## by writing @w{"-S640,480"}.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
214 ##
26739
0c18acaa8b58 Revert changeset 3a10bdbe6839 which is only for stable branch.
Rik <rik@octave.org>
parents: 26738
diff changeset
215 ## @item -tight
0c18acaa8b58 Revert changeset 3a10bdbe6839 which is only for stable branch.
Rik <rik@octave.org>
parents: 26738
diff changeset
216 ## @itemx -loose
0c18acaa8b58 Revert changeset 3a10bdbe6839 which is only for stable branch.
Rik <rik@octave.org>
parents: 26738
diff changeset
217 ## Force a tight or loose bounding box for EPS files. The default is tight.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
218 ##
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
219 ## @item -@var{preview}
26043
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
220 ## Add a preview to EPS files. Supported formats are:
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
221 ##
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
222 ## @table @code
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
223 ## @item -interchange
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
224 ## Provide an interchange preview.
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
225 ##
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
226 ## @item -metafile
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
227 ## Provide a metafile preview.
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
228 ##
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
229 ## @item -pict
26043
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
230 ## Provide a pict preview.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
231 ##
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
232 ## @item -tiff
26043
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
233 ## Provide a TIFF preview.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
234 ## @end table
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
235 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
236 ## @item -append
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
237 ## Append PostScript or PDF output to an existing file of the same type.
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
238 ##
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
239 ## @item -F@var{fontname}
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
240 ## @itemx -F@var{fontname}:@var{size}
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
241 ## @itemx -F:@var{size}
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
242 ## Use @var{fontname} and/or @var{fontsize} for all text.
26934
1771bed38482 Remove some formats from the list of supported formats (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26933
diff changeset
243 ## @var{fontname} is ignored for some devices: fig, etc.
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
244 ##
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
245 ## @item -d@var{device}
20173
777f26aa8e3e doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19990
diff changeset
246 ## The available output format is specified by the option @var{device}, and
27931
0fa21907e54c doc: grammarcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents: 27923
diff changeset
247 ## is one of the following (devices marked with a @qcode{'*'} are only
0fa21907e54c doc: grammarcheck documentation ahead of 6.1 release.
Rik <rik@octave.org>
parents: 27923
diff changeset
248 ## available with the Gnuplot toolkit):
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
249 ##
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
250 ## Vector Formats
14366
b76f0740940e doc: Periodic grammar check of documentation.
Rik <octave@nomad.inbox5.com>
parents: 14356
diff changeset
251 ##
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
252 ## @table @code
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
253 ## @item svg
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
254 ## Scalable Vector Graphics.
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
255 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
256 ## @item pdf
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
257 ## @itemx pdfcrop
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
258 ## Portable Document Format. The @code{pdf} device formats the figure for
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
259 ## printing on paper. The size of the surrounding page and the position of the
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
260 ## figure inside the page are defined by the
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
261 ## @ref{XREFfigurepaperorientation,, paper* figure properties}.
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
262 ##
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
263 ## Use @code{pdfcrop} if you don't want the surrounding page.
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
264 ##
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
265 ## By default, PDF inherits the same limitations as PostScript.
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
266 ## For an enhanced output with complete text support and basic transparency,
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
267 ## use the @option{-svgconvert} option.
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
268 ##
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
269 ## @item eps(2)
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
270 ## @itemx epsc(2)
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
271 ## Encapsulated PostScript (level 1 and 2, mono and color).
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
272 ##
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
273 ## The OpenGL-based graphics toolkits always generate PostScript level 3.0.
27794
45ad2127582b doc: grammarcheck scripts before 6.1 release.
Rik <rik@octave.org>
parents: 27622
diff changeset
274 ## They have limited support for text unless using the @option{-svgconvert}
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
275 ## option.
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
276 ## Limitations include using only ASCII characters (e.g., no Greek letters)
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
277 ## and support for just three base PostScript fonts: Helvetica (the default),
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
278 ## Times, or Courier. Any other font will be replaced by Helvetica.
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
279 ##
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
280 ## @item ps(2)
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
281 ## @itemx psc(2)
27971
ec769a7ab9fb fix more spelling errors (bug #57613)
John W. Eaton <jwe@octave.org>
parents: 27931
diff changeset
282 ## Same as @code{eps} except that the figure is formatted for printing on
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
283 ## paper. The size of the surrounding page and position of the figure inside
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
284 ## the page are defined by the
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
285 ## @ref{XREFfigurepaperorientation,, paper* figure properties}.
10841
1577accf2ed8 print.m: Update documentation string. Change to active voice.
Rik <octave@nomad.inbox5.com>
parents: 10834
diff changeset
286 ##
19026
d6f1f46e5b8f Fix double '-P' in print command to printer (bug #41957).
Michael Godfrey <michaeldgodfrey@gmail.com>
parents: 17751
diff changeset
287 ## @item pslatex
6739
db0a05a61d09 [project @ 2007-06-15 21:59:16 by jwe]
jwe
parents: 6727
diff changeset
288 ## @itemx epslatex
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
289 ## @itemx pdflatex
19026
d6f1f46e5b8f Fix double '-P' in print command to printer (bug #41957).
Michael Godfrey <michaeldgodfrey@gmail.com>
parents: 17751
diff changeset
290 ## @itemx pslatexstandalone
d6f1f46e5b8f Fix double '-P' in print command to printer (bug #41957).
Michael Godfrey <michaeldgodfrey@gmail.com>
parents: 17751
diff changeset
291 ## @itemx epslatexstandalone
d6f1f46e5b8f Fix double '-P' in print command to printer (bug #41957).
Michael Godfrey <michaeldgodfrey@gmail.com>
parents: 17751
diff changeset
292 ## @itemx pdflatexstandalone
26043
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
293 ## Generate a @LaTeX{} file @file{@var{filename}.tex} for the text portions
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
294 ## of a plot and a file @file{@var{filename}.(ps|eps|pdf)} for the remaining
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
295 ## graphics. The graphics file suffix .ps|eps|pdf is determined by the
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
296 ## specified device type. The @LaTeX{} file produced by the @samp{standalone}
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
297 ## option can be processed directly by @LaTeX{}. The file generated without
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
298 ## the @samp{standalone} option is intended to be included from another
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
299 ## @LaTeX{} document. In either case, the @LaTeX{} file contains an
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
300 ## @code{\includegraphics} command so that the generated graphics file is
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
301 ## automatically included when the @LaTeX{} file is processed. The text that
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
302 ## is written to the @LaTeX{} file contains the strings @strong{exactly} as
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
303 ## they were specified in the plot. If any special characters of the @TeX{}
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
304 ## mode interpreter were used, the file must be edited before @LaTeX{}
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
305 ## processing. Specifically, the special characters must be enclosed with
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
306 ## dollar signs @w{(@code{$ @dots{} $})}, and other characters that are
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
307 ## recognized by @LaTeX{} may also need editing (e.g., braces). The
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
308 ## @samp{pdflatex} device, and any of the @samp{standalone} formats, are not
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
309 ## available with the Gnuplot toolkit.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
310 ##
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
311 ## @item epscairo*
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
312 ## @itemx pdfcairo*
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
313 ## @itemx epscairolatex*
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
314 ## @itemx pdfcairolatex*
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
315 ## @itemx epscairolatexstandalone*
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
316 ## @itemx pdfcairolatexstandalone*
29008
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
317 ## Generate output with Cairo renderer. The devices @code{epscairo} and
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
318 ## @code{pdfcairo} are synonymous with the @code{epsc} device. The @LaTeX{}
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
319 ## variants generate a @LaTeX{} file, @file{@var{filename}.tex}, for the text
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
320 ## portions of a plot, and an image file, @file{@var{filename}.(eps|pdf)}, for
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
321 ## the graph portion of the plot. The @samp{standalone} variants behave as
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
322 ## described for @samp{epslatexstandalone} above.
20964
6ac3d299c5ad Add support for cairo based gnuplot terminals: "cairolatex", "epscairo",
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20936
diff changeset
323 ##
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
324 ## @item canvas*
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
325 ## Javascript-based drawing on an HTML5 canvas viewable in a web browser.
20971
22318eeaca3b Add gnuplot "canvas" terminal to the print.m doc-string.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20970
diff changeset
326 ##
17122
eaab03308c0b doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents: 16933
diff changeset
327 ## @item emf
9107
d0d507cbd123 Improvements to printing functionality.
Ben Abbott <bpabbott@mac.com>
parents: 9056
diff changeset
328 ## @itemx meta
6965
c962cc09067a [project @ 2007-10-06 04:54:36 by jwe]
jwe
parents: 6895
diff changeset
329 ## Microsoft Enhanced Metafile
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
330 ##
6965
c962cc09067a [project @ 2007-10-06 04:54:36 by jwe]
jwe
parents: 6895
diff changeset
331 ## @item fig
11576
8ac9687dbe9f rename backend to graphics_toolkit
John W. Eaton <jwe@octave.org>
parents: 11563
diff changeset
332 ## XFig. For the Gnuplot graphics toolkit, the additional options
29008
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
333 ## @option{-textspecial} or @option{-textnormal} (default) can be used to
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
334 ## control whether the special flag should be set for the text in the figure.
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
335 ##
26043
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
336 ## @item latex*
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
337 ## @itemx eepic*
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
338 ## @LaTeX{} picture environment and extended picture environment.
20969
984678f19352 Impproved support gnuplot terminals "eepic", "latex", "pstricks", & "texdraw".
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20968
diff changeset
339 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
340 ## @item tikz
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
341 ## @itemx tikzstandalone*
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
342 ## Generate a @LaTeX{} file using PGF/TikZ format. The OpenGL-based
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
343 ## toolkits create a PGF file while Gnuplot creates a TikZ file. The
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
344 ## @samp{tikzstandalone} device produces a @LaTeX{} document which includes the
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
345 ## TikZ file.
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
346 ##
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
347 ## @end table
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
348 ##
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
349 ## Raster Formats
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
350 ##
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
351 ## @table @code
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
352 ## @item png
25582
0df6454f58ea print.m: Allow 'tif' to indicate 'tiff' format (bug #54282).
Rik <rik@octave.org>
parents: 25307
diff changeset
353 ## Portable Network Graphics
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
354 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
355 ## @item jpg
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
356 ## @itemx jpeg
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
357 ## JPEG image
25582
0df6454f58ea print.m: Allow 'tif' to indicate 'tiff' format (bug #54282).
Rik <rik@octave.org>
parents: 25307
diff changeset
358 ##
0df6454f58ea print.m: Allow 'tif' to indicate 'tiff' format (bug #54282).
Rik <rik@octave.org>
parents: 25307
diff changeset
359 ## @item tif
0df6454f58ea print.m: Allow 'tif' to indicate 'tiff' format (bug #54282).
Rik <rik@octave.org>
parents: 25307
diff changeset
360 ## @itemx tiff
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
361 ## @itemx tiffn
26048
d02e4b1df697 doc: Spellcheck documentation.
Rik <rik@octave.org>
parents: 26043
diff changeset
362 ## TIFF image with LZW compression (@nospell{tif}, tiff) or uncompressed
d02e4b1df697 doc: Spellcheck documentation.
Rik <rik@octave.org>
parents: 26043
diff changeset
363 ## (@nospell{tiffn}).
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
364 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
365 ## @item gif
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
366 ## GIF image
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
367 ##
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
368 ## @item pbm
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
369 ## PBMplus
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
370 ##
26191
f41494a4977f Add "dumb" terminal to produce ASCII art with gnuplot (patch #8203).
Rüdiger Sonderfeld <ruediger@c-plusplus.de>
parents: 26173
diff changeset
371 ## @item dumb*
f41494a4977f Add "dumb" terminal to produce ASCII art with gnuplot (patch #8203).
Rüdiger Sonderfeld <ruediger@c-plusplus.de>
parents: 26173
diff changeset
372 ## ASCII art
f41494a4977f Add "dumb" terminal to produce ASCII art with gnuplot (patch #8203).
Rüdiger Sonderfeld <ruediger@c-plusplus.de>
parents: 26173
diff changeset
373 ##
24207
f3d754deb41d print.m: fix device table formating in docstring
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 24139
diff changeset
374 ## @end table
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
375 ##
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
376 ## If the device is omitted, it is inferred from the file extension,
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
377 ## or if there is no filename then it is sent to the printer as PostScript.
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
378 ##
10423
dfc662a47b7a print.m: Add '-append' option.
Ben Abbott <bpabbott@mac.com>
parents: 10422
diff changeset
379 ## @item -d@var{ghostscript_device}
10854
d5a7db05d591 Add PS and PDF output for the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10841
diff changeset
380 ## Additional devices are supported by Ghostscript.
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
381 ## Some examples are:
9152
4c9aff0c9a61 print.m: Use Ghostscript rather than ImageMagick's 'convert'.
Ben Abbott <bpabbott@mac.com>
parents: 9107
diff changeset
382 ##
4c9aff0c9a61 print.m: Use Ghostscript rather than ImageMagick's 'convert'.
Ben Abbott <bpabbott@mac.com>
parents: 9107
diff changeset
383 ## @table @code
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11576
diff changeset
384 ## @item ljet2p
16826
a4969508008e doc: Periodic spellcheck of the documentation.
Rik <rik@octave.org>
parents: 16766
diff changeset
385 ## HP LaserJet @nospell{IIP}
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
386 ##
9152
4c9aff0c9a61 print.m: Use Ghostscript rather than ImageMagick's 'convert'.
Ben Abbott <bpabbott@mac.com>
parents: 9107
diff changeset
387 ## @item pcx24b
4c9aff0c9a61 print.m: Use Ghostscript rather than ImageMagick's 'convert'.
Ben Abbott <bpabbott@mac.com>
parents: 9107
diff changeset
388 ## 24-bit color PCX file format
10821
693e22af08ae Grammarcheck documentation of m-files
Rik <octave@nomad.inbox5.com>
parents: 10793
diff changeset
389 ##
9152
4c9aff0c9a61 print.m: Use Ghostscript rather than ImageMagick's 'convert'.
Ben Abbott <bpabbott@mac.com>
parents: 9107
diff changeset
390 ## @item ppm
4c9aff0c9a61 print.m: Use Ghostscript rather than ImageMagick's 'convert'.
Ben Abbott <bpabbott@mac.com>
parents: 9107
diff changeset
391 ## Portable Pixel Map file format
4c9aff0c9a61 print.m: Use Ghostscript rather than ImageMagick's 'convert'.
Ben Abbott <bpabbott@mac.com>
parents: 9107
diff changeset
392 ## @end table
4c9aff0c9a61 print.m: Use Ghostscript rather than ImageMagick's 'convert'.
Ben Abbott <bpabbott@mac.com>
parents: 9107
diff changeset
393 ##
26102
15ebd65f18c9 print.m: Rewrite complex docstring in an attempt to be clearer.
Rik <rik@octave.org>
parents: 26063
diff changeset
394 ## For a complete list of available formats and devices type
29008
24cb3f34a8c5 print.m: Improve documentation.
Rik <rik@octave.org>
parents: 28648
diff changeset
395 ## @kbd{system ("gs -h")}.
9152
4c9aff0c9a61 print.m: Use Ghostscript rather than ImageMagick's 'convert'.
Ben Abbott <bpabbott@mac.com>
parents: 9107
diff changeset
396 ##
20173
777f26aa8e3e doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19990
diff changeset
397 ## When Ghostscript output is sent to a printer the size is determined by
777f26aa8e3e doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19990
diff changeset
398 ## the figure's @qcode{"papersize"} property. When the output is sent to a
777f26aa8e3e doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19990
diff changeset
399 ## file the size is determined by the plot box defined by the figure's
777f26aa8e3e doc: Update more docstrings to have one sentence summary as first line.
Rik <rik@octave.org>
parents: 19990
diff changeset
400 ## @qcode{"paperposition"} property.
9152
4c9aff0c9a61 print.m: Use Ghostscript rather than ImageMagick's 'convert'.
Ben Abbott <bpabbott@mac.com>
parents: 9107
diff changeset
401 ##
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
402 ## @item -G@var{ghostscript_command}
26043
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
403 ## Specify the command for calling Ghostscript. For Unix the default is
5cef57130cb9 doc: grammar check m-files in scripts/ directory.
Rik <rik@octave.org>
parents: 26027
diff changeset
404 ## @qcode{"gs"} and for Windows it is @qcode{"gswin32c"}.
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
405 ##
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
406 ## @item -TextAlphaBits=@var{n}
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
407 ## @itemx -GraphicsAlphaBits=@var{n}
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
408 ## Octave is able to produce output for various printers, bitmaps, and
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
409 ## vector formats by using Ghostscript. For bitmap and printer output
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
410 ## anti-aliasing is applied using Ghostscript's TextAlphaBits and
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
411 ## GraphicsAlphaBits options. The default number of bits are 4 and 1
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
412 ## respectively. Allowed values for @var{N} are 1, 2, or 4.
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
413 ## @end table
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
414 ##
28082
8ddecbd15a88 doc: Add "savefig" to @seealso list for print().
Rik <rik@octave.org>
parents: 27987
diff changeset
415 ## @seealso{saveas, getframe, savefig, hgsave, orient, figure}
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
416 ## @end deftypefn
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
417
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
418 function rgbout = print (varargin)
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
419
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
420 opts = __print_parse_opts__ (varargin{:});
7550
bffb1e2ab732 print.m: Figure handle as argument.
Ben Abbott <bpabbott@mac.com>
parents: 7543
diff changeset
421
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
422 ## Check the requested file is writable
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
423 if (! opts.rgb_output)
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
424 folder = fileparts (opts.name);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
425 if (! isempty (folder) && ! isfolder (folder))
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
426 error ("print: directory %s does not exist", folder);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
427 endif
23118
46b914a213db Workaround segfault when an error occurs while printing (bug #49779)
Avinoam Kalma <a.kalma@gmail.com>
parents: 23083
diff changeset
428
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
429 do_unlink = (exist (opts.name, "file") != 2);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
430 fid = fopen (opts.name, "a");
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
431 if (fid == -1)
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
432 error ("print: cannot open file %s for writing", opts.name);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
433 endif
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
434 fclose (fid);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
435 if (do_unlink)
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
436 unlink (opts.name);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
437 endif
23189
0c9195baea1a print.m: fix regression with -append option (bug #50318)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23139
diff changeset
438 endif
23139
900ae902aa90 maint: strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 23118
diff changeset
439
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
440 opts.pstoedit_cmd = @pstoedit;
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
441 opts.fig2dev_cmd = @fig2dev;
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
442 opts.latex_standalone = @latex_standalone;
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
443 opts.lpr_cmd = @lpr;
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
444 opts.epstool_cmd = @epstool;
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
445 opts.svgconvert_cmd = @svgconvert;
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
446
19026
d6f1f46e5b8f Fix double '-P' in print command to printer (bug #41957).
Michael Godfrey <michaeldgodfrey@gmail.com>
parents: 17751
diff changeset
447 if (isempty (opts.figure) || ! isfigure (opts.figure))
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
448 error ("print: no figure to print");
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
449 endif
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
450
22099
4c0f78b3c86f print.m: Fix typo "1" (char) to 1 (integer) as argument to findall -depth (bug #48478).
Rik <rik@octave.org>
parents: 21859
diff changeset
451 if (isempty (findall (opts.figure, "-depth", 1, "type", "axes")))
19990
9a2d8b1f931e Issue error when trying to print a figure with no axes object (bug #44655).
Rik <rik@octave.org>
parents: 19833
diff changeset
452 error ("print: no axes object in figure to print");
9a2d8b1f931e Issue error when trying to print a figure with no axes object (bug #44655).
Rik <rik@octave.org>
parents: 19833
diff changeset
453 endif
9a2d8b1f931e Issue error when trying to print a figure with no axes object (bug #44655).
Rik <rik@octave.org>
parents: 19833
diff changeset
454
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
455 orig_figure = get (0, "currentfigure");
17146
bbda4d952eb5 Fix pop-up of invisible figures during printing.
Rik <rik@octave.org>
parents: 17129
diff changeset
456 set (0, "currentfigure", opts.figure);
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
457
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
458 if (opts.append_to_file)
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
459 [~, ~, ext] = fileparts (opts.ghostscript.output);
19278
6ca096827123 Use tempname() rather than tmpnam() in core Octave.
Rik <rik@octave.org>
parents: 19078
diff changeset
460 opts.ghostscript.prepend = [tempname() ext];
11014
92bb25c0da9e When appending, delete temporary files at the end of the ghostscript pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 11009
diff changeset
461 copyfile (opts.ghostscript.output, opts.ghostscript.prepend);
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
462 endif
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
463
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
464 unwind_protect
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
465
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
466 ## Modify properties as specified by options
24139
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
467 tk = get (opts.figure, "__graphics_toolkit__");
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
468 props = [];
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
469 nfig = 0;
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
470
14355
a6a5c5008e39 Print() function requires figure units to be "pixels".
Ben Abbott <bpabbott@mac.com>
parents: 14335
diff changeset
471 drawnow ();
a6a5c5008e39 Print() function requires figure units to be "pixels".
Ben Abbott <bpabbott@mac.com>
parents: 14335
diff changeset
472
26728
f034b29320ad Use OpenGl textures to render image objects (bug #55632).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26689
diff changeset
473 ## Set the __printing__ property first
f034b29320ad Use OpenGl textures to render image objects (bug #55632).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26689
diff changeset
474 props(1).h = opts.figure;
f034b29320ad Use OpenGl textures to render image objects (bug #55632).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26689
diff changeset
475 props(1).name = "__printing__";
f034b29320ad Use OpenGl textures to render image objects (bug #55632).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26689
diff changeset
476 props(1).value = {"off"};
f034b29320ad Use OpenGl textures to render image objects (bug #55632).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26689
diff changeset
477 set (opts.figure, "__printing__", "on");
f034b29320ad Use OpenGl textures to render image objects (bug #55632).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26689
diff changeset
478 nfig += 1;
f034b29320ad Use OpenGl textures to render image objects (bug #55632).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26689
diff changeset
479
28678
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
480 ## print() requires children of axes to have units = "normalized" or "data"
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
481 ## FIXME: Bug #59015. The only graphics object type to which this
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
482 ## requirement applies seems to be 'text' objects. It is simpler, and
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
483 ## clearer, to just select those objects. The old code is left commented
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
484 ## out until sufficient testing has been done.
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
485 ## Change made: 2020/09/02.
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
486 ##hobj = findall (opts.figure, "-not", "type", "figure", ...
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
487 ## "-not", "type", "axes", "-not", "type", "hggroup", ...
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
488 ## "-property", "units", ...
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
489 ## "-not", "units", "normalized", "-not", "units", "data");
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
490 ##hobj(strncmp (get (hobj, "type"), "ui", 2)) = [];
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
491
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
492 hobj = findall (opts.figure, "type", "text",
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
493 "-not", "units", "normalized", "-not", "units", "data");
28678
e44ab1089f61 print.m: Fix printing when some "units" properties are not "data" (bug #59015).
Rik <rik@octave.org>
parents: 28649
diff changeset
494 for n = 1:numel (hobj)
28648
60d2b3d903d4 Fix indexing error in print.m (bug #58998).
Valdas <zmogas@hotmail.com>
parents: 28208
diff changeset
495 props(end+1).h = hobj(n);
60d2b3d903d4 Fix indexing error in print.m (bug #58998).
Valdas <zmogas@hotmail.com>
parents: 28208
diff changeset
496 props(end).name = "units";
60d2b3d903d4 Fix indexing error in print.m (bug #58998).
Valdas <zmogas@hotmail.com>
parents: 28208
diff changeset
497 props(end).value = {get(hobj(n), "units")};
21323
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
498 set (hobj(n), "units", "data");
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
499 nfig += 1;
20936
80dd7b3529ee Convert figure's descendants units to "normalized" during printing (Bug #46292).
Ben Abbott <bpabbott@mac.com>
parents: 20852
diff changeset
500 endfor
80dd7b3529ee Convert figure's descendants units to "normalized" during printing (Bug #46292).
Ben Abbott <bpabbott@mac.com>
parents: 20852
diff changeset
501
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
502 if (strcmp (opts.renderer, "opengl"))
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
503 ## Scale the figure to reach the required resolution
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
504 scale = opts.ghostscript.resolution / 72;
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
505 if (scale != 1)
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
506 props(end+1).h = opts.figure;
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
507 props(end).name = "__device_pixel_ratio__";
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
508 props(end).value{1} = get (opts.figure, "__device_pixel_ratio__");
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
509 set (opts.figure, "__device_pixel_ratio__", scale);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
510 nfig += 1;
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
511 endif
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
512 elseif (strcmp (tk, "qt"))
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
513 ## Don't account for the actual pixel density
25884
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25787
diff changeset
514 props(end+1).h = opts.figure;
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25787
diff changeset
515 props(end).name = "__device_pixel_ratio__";
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25787
diff changeset
516 props(end).value = {get(opts.figure, "__device_pixel_ratio__")};
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25787
diff changeset
517 set (opts.figure, "__device_pixel_ratio__", 1);
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25787
diff changeset
518 nfig += 1;
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25787
diff changeset
519 endif
4e108574385c Improve OpenGL rendering on high resolution screens with Qt 5 (bug #49053)
John Swensen <jpswensen@gmail.com>
parents: 25787
diff changeset
520
20936
80dd7b3529ee Convert figure's descendants units to "normalized" during printing (Bug #46292).
Ben Abbott <bpabbott@mac.com>
parents: 20852
diff changeset
521 ## print() requires axes units = "normalized"
80dd7b3529ee Convert figure's descendants units to "normalized" during printing (Bug #46292).
Ben Abbott <bpabbott@mac.com>
parents: 20852
diff changeset
522 hax = findall (opts.figure, "-depth", 1, "type", "axes", ...
80dd7b3529ee Convert figure's descendants units to "normalized" during printing (Bug #46292).
Ben Abbott <bpabbott@mac.com>
parents: 20852
diff changeset
523 "-not", "units", "normalized");
24139
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
524 for n = 1:numel (hax)
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
525 props(end+1).h = hax(n);
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
526 props(end).name = "units";
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
527 props(end).value = {get(hax(n), "units")};
21323
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
528 set (hax(n), "units", "normalized");
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
529 nfig += 1;
20936
80dd7b3529ee Convert figure's descendants units to "normalized" during printing (Bug #46292).
Ben Abbott <bpabbott@mac.com>
parents: 20852
diff changeset
530 endfor
80dd7b3529ee Convert figure's descendants units to "normalized" during printing (Bug #46292).
Ben Abbott <bpabbott@mac.com>
parents: 20852
diff changeset
531
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
532 ## With the -painters (gl2ps) renderer, line transparency is only
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
533 ## handled for svg and pdf outputs using svgconvert.
26063
4407b315339d print.m: Fix localization of the default font file (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26055
diff changeset
534 ## Otherwise, switch grid lines color to light gray so that the image
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
535 ## output approximately matches on-screen experience.
24139
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
536 hax = findall (opts.figure, "type", "axes");
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
537 if (! strcmp (tk, "gnuplot") && ! strcmp (opts.renderer, "opengl")
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
538 && ! (opts.svgconvert && strcmp (opts.devopt, "pdfwrite"))
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
539 && ! strcmp (opts.devopt, "svg"))
24139
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
540 for n = 1:numel (hax)
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
541 if (strcmp (get (hax(n), "gridcolormode"), "auto"))
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
542 props(end+1).h = hax(n);
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
543 props(end).name = "gridcolormode";
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
544 props(end).value = {"auto"};
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
545 props(end+1).h = hax(n);
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
546 props(end).name = "gridcolor";
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
547 props(end).value = {get(hax(n), "gridcolor")};
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
548 set (hax(n), "gridcolor", [0.85 0.85 0.85]);
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
549 nfig += 2;
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
550 endif
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
551 if (strcmp (get (hax(n), "gridalphamode"), "auto"))
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
552 props(end+1).h = hax(n);
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
553 props(end).name = "gridalphamode";
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
554 props(end).value = {"auto"};
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
555 props(end+1).h = hax(n);
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
556 props(end).name = "gridalpha";
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
557 props(end).value = {get(hax(n), "gridalpha")};
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
558 set (hax(n), "gridalpha", 1);
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
559 nfig += 2;
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
560 endif
24139
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
561
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
562 if (strcmp (get (hax(n), "minorgridcolormode"), "auto"))
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
563 props(end+1).h = hax(n);
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
564 props(end).name = "minorgridcolormode";
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
565 props(end).value = {"auto"};
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
566 props(end+1).h = hax(n);
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
567 props(end).name = "minorgridcolor";
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
568 props(end).value = {get(hax(n), "minorgridcolor")};
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
569 set (hax(n), "minorgridcolor", [0.75 0.75 0.75]);
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
570 nfig += 2;
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
571 endif
27343
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
572 if (strcmp (get (hax(n), "minorgridalphamode"), "auto"))
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
573 props(end+1).h = hax(n);
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
574 props(end).name = "minorgridalphamode";
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
575 props(end).value = {"auto"};
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
576 props(end+1).h = hax(n);
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
577 props(end).name = "minorgridalpha";
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
578 props(end).value = {get(hax(n), "minorgridalpha")};
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
579 set (hax(n), "minorgridalpha", 1);
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
580 nfig += 2;
2c9795736894 print.m: Allow "-svgconvert" to be used for EPS output (bug #52764)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27069
diff changeset
581 endif
24139
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
582 endfor
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
583 endif
24208
eec262017c6a maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 24207
diff changeset
584
14355
a6a5c5008e39 Print() function requires figure units to be "pixels".
Ben Abbott <bpabbott@mac.com>
parents: 14335
diff changeset
585 ## print() requires figure units to be "pixels"
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
586 props(end+1).h = opts.figure;
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
587 props(end).name = "units";
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
588 props(end).value = {get(opts.figure, "units")};
14355
a6a5c5008e39 Print() function requires figure units to be "pixels".
Ben Abbott <bpabbott@mac.com>
parents: 14335
diff changeset
589 set (opts.figure, "units", "pixels");
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
590 nfig += 1;
14355
a6a5c5008e39 Print() function requires figure units to be "pixels".
Ben Abbott <bpabbott@mac.com>
parents: 14335
diff changeset
591
17742
4e225f952885 Fix shrinking axes when printing plots with legends (bug #40333).
Rik <rik@octave.org>
parents: 17723
diff changeset
592 ## graphics toolkit translates figure position to eps bbox (points)
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
593 fpos = get (opts.figure, "position");
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
594 props(end+1).h = opts.figure;
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
595 props(end).name = "position";
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
596 props(end).value = {fpos};
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
597 fpos(3:4) = opts.canvas_size;
26728
f034b29320ad Use OpenGl textures to render image objects (bug #55632).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26689
diff changeset
598 set (opts.figure, "position", fpos);
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
599 nfig += 1;
7550
bffb1e2ab732 print.m: Figure handle as argument.
Ben Abbott <bpabbott@mac.com>
parents: 7543
diff changeset
600
21323
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
601 ## Implement InvertHardCopy option
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
602 do_hardcopy = strcmp (get (opts.figure, "inverthardcopy"), "on");
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
603
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
604 if (do_hardcopy)
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
605 ## Set figure background to white.
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
606 props(end+1).h = opts.figure;
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
607 props(end).name = "color";
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
608 props(end).value{1} = get (opts.figure, "color");
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
609 set (opts.figure, "color", "white");
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
610 nfig += 1;
21323
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
611 endif
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
612
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
613 if (do_hardcopy)
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
614 ## Set background to white for all top-level axes objects
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
615 hax = findall (opts.figure, "-depth", 1, "type", "axes",
21859
ec3adcec1337 Fix "inverthardcopy" for transparent axes and plotyy (bug #48161).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 21759
diff changeset
616 "-not", "tag", "legend",
ec3adcec1337 Fix "inverthardcopy" for transparent axes and plotyy (bug #48161).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 21759
diff changeset
617 "-not", "color", "none");
22578
956f5c71dc3c Fix printing when axes has color "none" (bug #49243).
Rik <rik@octave.org>
parents: 22571
diff changeset
618 if (! isempty (hax))
956f5c71dc3c Fix printing when axes has color "none" (bug #49243).
Rik <rik@octave.org>
parents: 22571
diff changeset
619 for n = 1:numel (hax)
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
620 props(end+1).h = hax(n);
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
621 props(end).name = "color";
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
622 props(end).value{1} = get(hax(n), "color");
22578
956f5c71dc3c Fix printing when axes has color "none" (bug #49243).
Rik <rik@octave.org>
parents: 22571
diff changeset
623 set (hax(n), "color", "white");
22783
219c70d2ba28 print.m: Don't change ui* objects units (bug #49600).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 22755
diff changeset
624 nfig += 1;
22578
956f5c71dc3c Fix printing when axes has color "none" (bug #49243).
Rik <rik@octave.org>
parents: 22571
diff changeset
625 endfor
956f5c71dc3c Fix printing when axes has color "none" (bug #49243).
Rik <rik@octave.org>
parents: 22571
diff changeset
626 endif
21323
030d4d6c2b58 Implement figure property "InvertHardCopy" for printing (bug #47230).
Rik <rik@octave.org>
parents: 21122
diff changeset
627 endif
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
628
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
629 if (opts.force_solid != 0)
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
630 h = findall (opts.figure, "-property", "linestyle");
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
631 m = numel (props);
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14852
diff changeset
632 for n = 1:numel (h)
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
633 props(m+n).h = h(n);
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
634 props(m+n).name = "linestyle";
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
635 props(m+n).value = {get(h(n), "linestyle")};
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
636 endfor
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
637 if (opts.force_solid > 0)
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
638 linestyle = "-";
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
639 else
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
640 linestyle = "--";
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
641 endif
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
642 set (h, "linestyle", linestyle);
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
643 endif
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
644
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21323
diff changeset
645 if (opts.use_color < 0)
10866
045558999570 print.m: Include 'colormap' when converting RGB to mono.
Ben Abbott <bpabbott@mac.com>
parents: 10860
diff changeset
646 color_props = {"color", "facecolor", "edgecolor", "colormap"};
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14852
diff changeset
647 for c = 1:numel (color_props)
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
648 h = findall (opts.figure, "-property", color_props{c});
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
649 hnone = findall (opts.figure, color_props{c}, "none");
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
650 h = setdiff (h, hnone);
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
651 m = numel (props);
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14852
diff changeset
652 for n = 1:numel (h)
24423
1d52db450db4 Change ishandle to return true for Java objects for Matlab compatibility.
Rik <rik@octave.org>
parents: 24370
diff changeset
653 if (ishghandle (h(n)))
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
654 ## Need to verify objects exist since callbacks may delete objects
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
655 ## as the colors for others are modified.
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
656 rgb = get (h(n), color_props{c});
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
657 props(end+1).h = h(n);
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
658 props(end).name = color_props{c};
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
659 props(end).value = {get(h(n), color_props{c})};
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
660 if (isnumeric (rgb))
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
661 ## convert RGB color to RGB gray scale
14872
c2dbdeaa25df maint: use rows() and columns() to clarify m-files.
Rik <octave@nomad.inbox5.com>
parents: 14868
diff changeset
662 xfer = repmat ([0.30, 0.59, 0.11], rows (rgb), 1);
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
663 ggg = repmat (sum (xfer .* rgb, 2), 1, 3);
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
664 set (h(n), color_props{c}, ggg);
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
665 endif
10866
045558999570 print.m: Include 'colormap' when converting RGB to mono.
Ben Abbott <bpabbott@mac.com>
parents: 10860
diff changeset
666 endif
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
667 endfor
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
668 endfor
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
669 endif
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
670
27007
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
671 do_font = ! isempty (opts.font);
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
672 do_scalefontsize = ! isempty (opts.scalefontsize) && opts.scalefontsize != 1;
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
673 do_fontsize = ! isempty (opts.fontsize) || do_scalefontsize;
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
674 if (do_font || do_fontsize)
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
675 h = findall (opts.figure, "-property", "fontname");
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
676 m = numel (props);
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14852
diff changeset
677 for n = 1:numel (h)
24423
1d52db450db4 Change ishandle to return true for Java objects for Matlab compatibility.
Rik <rik@octave.org>
parents: 24370
diff changeset
678 if (ishghandle (h(n)))
27007
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
679 if (do_font)
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
680 props(end+1).h = h(n);
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
681 props(end).name = "fontname";
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
682 props(end).value = {get(h(n), "fontname")};
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
683 endif
27007
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
684 if (do_fontsize)
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
685 props(end+1).h = h(n);
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
686 props(end).name = "fontsize";
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
687 props(end).value = {get(h(n), "fontsize")};
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
688 endif
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
689 endif
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
690 endfor
27007
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
691 if (do_font)
24423
1d52db450db4 Change ishandle to return true for Java objects for Matlab compatibility.
Rik <rik@octave.org>
parents: 24370
diff changeset
692 set (h(ishghandle (h)), "fontname", opts.font);
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
693 endif
27007
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
694 if (do_fontsize)
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
695 if (! isempty (opts.fontsize))
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
696 ## Changing all fontsizes to a fixed value
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
697 if (ischar (opts.fontsize))
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
698 fontsize = str2double (opts.fontsize);
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
699 else
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
700 fontsize = opts.fontsize;
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
701 endif
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
702 if (do_scalefontsize)
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
703 ## This is done to work around the bbox being whole numbers.
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
704 fontsize *= opts.scalefontsize;
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
705 endif
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
706
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
707 ## FIXME: legend child objects need to be acted on first.
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
708 ## or legend fontsize callback will destroy them.
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
709 hlist = h(ishghandle (h));
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
710 haxes = strcmp (get (hlist, "type"), "axes");
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
711 set (hlist(! haxes), "fontsize", fontsize);
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
712 set (hlist(haxes), "fontsize", fontsize);
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
713
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
714 else
27007
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
715 ## Scaling fonts
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
716 ## FIXME: legend child objects need to be acted on first.
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
717 ## or legend fontsize callback will destroy them.
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
718 hlist = h(ishghandle (h));
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
719 haxes = strcmp (get (hlist, "type"), "axes");
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
720 for h = hlist(! haxes).'
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
721 fontsz = get (h, "fontsize");
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
722 set (h, "fontsize", fontsz * opts.scalefontsize);
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
723 endfor
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
724 for h = hlist(haxes).'
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
725 fontsz = get (h, "fontsize");
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
726 set (h, "fontsize", fontsz * opts.scalefontsize);
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
727 endfor
dd31206c87c0 Fix scaling of fonts when printing with -Sxsz,ysz option (bug #55907).
Rik <rik@octave.org>
parents: 26994
diff changeset
728
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
729 endif
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
730 endif
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
731 endif
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
732
26055
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
733 ## When exporting latex files use "latex" for the ticklabelinterpreter.
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
734 ## It will format tick labels in log axes correctly
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
735 if (strfind (opts.devopt, "latex"))
26935
d17eecaf4a14 Don't issue warning about unsupported latex when printing with -dpdflatexstandalone (bug #55946).
Rik <rik@octave.org>
parents: 26934
diff changeset
736 ## Disable warnings about Latex being unsupported since Octave will be
d17eecaf4a14 Don't issue warning about unsupported latex when printing with -dpdflatexstandalone (bug #55946).
Rik <rik@octave.org>
parents: 26934
diff changeset
737 ## passing Latex code directly to interpreter with no rendering.
d17eecaf4a14 Don't issue warning about unsupported latex when printing with -dpdflatexstandalone (bug #55946).
Rik <rik@octave.org>
parents: 26934
diff changeset
738 warning ("off", "Octave:text_interpreter", "local");
26055
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
739 h = findall (opts.figure, "type", "axes");
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
740 for n = 1:numel (h)
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
741 if (ishghandle (h(n)))
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
742 props(end+1).h = h(n);
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
743 props(end).name = "ticklabelinterpreter";
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
744 props(end).value = {get(h(n), "ticklabelinterpreter")};
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
745 set (h(n), "ticklabelinterpreter", "latex");
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
746 endif
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
747 endfor
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
748 endif
8b9e6a39e0a2 Allow log axes to be exported correctly in tex formats (bug #50130).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26048
diff changeset
749
19026
d6f1f46e5b8f Fix double '-P' in print command to printer (bug #41957).
Michael Godfrey <michaeldgodfrey@gmail.com>
parents: 17751
diff changeset
750 ## call the graphics toolkit print script
24139
5d2d0e570e46 print.m: fake grid transparency with gray color (bug #49705)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 23991
diff changeset
751 switch (tk)
17174
c3c1ebfaa7dc maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents: 17146
diff changeset
752 case "gnuplot"
c3c1ebfaa7dc maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents: 17146
diff changeset
753 opts = __gnuplot_print__ (opts);
c3c1ebfaa7dc maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents: 17146
diff changeset
754 otherwise
25998
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
755 if (strcmp (opts.renderer, "opengl"))
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
756 if (opts.rgb_output)
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
757 rgbout = __get_frame__ (opts.figure);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
758 else
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
759 compression = "none";
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
760
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
761 if (strcmp (opts.devopt, "tiff"))
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
762 compression = "lzw";
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
763 elseif (strcmp (opts.devopt, "tiffn"))
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
764 opts.devopt = "tiff";
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
765 endif
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
766
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
767 imwrite (__get_frame__ (opts.figure), opts.name, ...
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
768 opts.devopt, "Compression", compression);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
769 endif
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
770 else
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
771 opts = __opengl_print__ (opts);
8d2b3e3ff182 print.m: Implement "-opengl", "-painters" and "-RGBImage" options (bug #52866)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25884
diff changeset
772 endif
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
773 endswitch
19706
18fd412c7dc3 Remove erroneously added "keyboard" in cset ef3cdadc2a08
Andreas Weber <andy.weber.aw@gmail.com>
parents: 19705
diff changeset
774
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
775 unwind_protect_cleanup
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
776 ## restore modified properties
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
777 if (isstruct (props))
17751
e2f83152e64a print.m: Restore figure position first (in pixels) and then original units.
Rik <rik@octave.org>
parents: 17744
diff changeset
778 ## Restore figure position and units first
20936
80dd7b3529ee Convert figure's descendants units to "normalized" during printing (Bug #46292).
Ben Abbott <bpabbott@mac.com>
parents: 20852
diff changeset
779 for n = nfig:-1:1
24423
1d52db450db4 Change ishandle to return true for Java objects for Matlab compatibility.
Rik <rik@octave.org>
parents: 24370
diff changeset
780 if (ishghandle (props(n).h))
17751
e2f83152e64a print.m: Restore figure position first (in pixels) and then original units.
Rik <rik@octave.org>
parents: 17744
diff changeset
781 set (props(n).h, props(n).name, props(n).value{1});
e2f83152e64a print.m: Restore figure position first (in pixels) and then original units.
Rik <rik@octave.org>
parents: 17744
diff changeset
782 endif
e2f83152e64a print.m: Restore figure position first (in pixels) and then original units.
Rik <rik@octave.org>
parents: 17744
diff changeset
783 endfor
20936
80dd7b3529ee Convert figure's descendants units to "normalized" during printing (Bug #46292).
Ben Abbott <bpabbott@mac.com>
parents: 20852
diff changeset
784 for n = numel (props):-1:(nfig + 1)
24423
1d52db450db4 Change ishandle to return true for Java objects for Matlab compatibility.
Rik <rik@octave.org>
parents: 24370
diff changeset
785 if (ishghandle (props(n).h))
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
786 set (props(n).h, props(n).name, props(n).value{1});
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
787 endif
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
788 endfor
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
789 endif
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
790
26728
f034b29320ad Use OpenGl textures to render image objects (bug #55632).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26689
diff changeset
791 ## Avoid a redraw since the figure should not have changed
28189
5624fd0c5efb Fix inconsistent marker size between screen and printout (bug #57552)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 28082
diff changeset
792 ## FIXME: Bug #57552, marker sizes, requires that redraw be done.
5624fd0c5efb Fix inconsistent marker size between screen and printout (bug #57552)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 28082
diff changeset
793 ##set (gcf, "__modified__", "off");
26728
f034b29320ad Use OpenGl textures to render image objects (bug #55632).
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26689
diff changeset
794
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
795 ## Unlink temporary files
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14852
diff changeset
796 for n = 1:numel (opts.unlink)
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
797 [status, output] = unlink (opts.unlink{n});
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
798 if (status != 0)
26936
72fab319b47d Capitalize "Octave" in warning IDs.
Rik <rik@octave.org>
parents: 26935
diff changeset
799 warning ("Octave:print:unlinkerror", ...
72fab319b47d Capitalize "Octave" in warning IDs.
Rik <rik@octave.org>
parents: 26935
diff changeset
800 "print: %s, '%s'", output, opts.unlink{n});
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
801 endif
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10866
diff changeset
802 endfor
10860
3a5f5c99cc39 print.m: Modify texinfo. Add unwind_protect block.
Ben Abbott <bpabbott@mac.com>
parents: 10854
diff changeset
803 end_unwind_protect
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
804
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
805 if (isfigure (orig_figure))
17146
bbda4d952eb5 Fix pop-up of invisible figures during printing.
Rik <rik@octave.org>
parents: 17129
diff changeset
806 set (0, "currentfigure", orig_figure);
10834
05ba991794d4 Improvements for fltk printing.
Ben Abbott <bpabbott@mac.com>
parents: 10821
diff changeset
807 endif
28945
6e460773bdda maint: Use newlines after "function" and before "endfunction" for clarity.
Rik <rik@octave.org>
parents: 28892
diff changeset
808
5361
0ac38aea9f76 [project @ 2005-05-23 19:08:36 by jwe]
jwe
parents:
diff changeset
809 endfunction
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
810
30379
363fb10055df maint: Style check m-files ahead of 7.1 release.
Rik <rik@octave.org>
parents: 30362
diff changeset
811
30362
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
812 %!error <a graphics handle>
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
813 %! hf = figure ("visible", "off");
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
814 %! unwind_protect
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
815 %! x = 0:0.1:1;
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
816 %! y1 = x;
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
817 %! y2 = 2*x;
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
818 %! ax = plotyy (x, y1, x, y2);
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
819 %! saveas (ax, [tempname(), ".png"]);
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
820 %! unwind_protect_cleanup
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
821 %! close (hf);
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
822 %! end_unwind_protect
512f3d68bb49 print: Use clearer error message on invalid input (bug #61557).
Markus Mützel <markus.muetzel@gmx.de>
parents: 30353
diff changeset
823
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
824 function cmd = epstool (opts, filein, fileout)
30379
363fb10055df maint: Style check m-files ahead of 7.1 release.
Rik <rik@octave.org>
parents: 30362
diff changeset
825
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
826 ## As epstool does not work with pipes, a subshell is used to
21751
b571fc85953f maint: Use two spaces after period to indicate sentence break.
Rik <rik@octave.org>
parents: 21578
diff changeset
827 ## permit piping. Since this solution does not work with the DOS
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
828 ## command shell, the -tight and -preview options are disabled if
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
829 ## output must be piped.
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
830
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
831 ## DOS Shell:
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
832 ## gs.exe [...] -sOutputFile=<filein> - & epstool -bbox -preview-tiff <filein> <fileout> & del <filein>
28892
3cac3ceb9629 maint: Use coding style with parentheses after function name to distinguish from a variable.
Rik <rik@octave.org>
parents: 28678
diff changeset
833 ## Unix Shell:
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
834 ## cat > <filein> ; epstool -bbox -preview-tiff <filein> <fileout> ; rm <filein>
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
835
27057
986128cf1e07 print.m: Fix error when using -tight but Ghostscript is not available (bug #56193).
Rik <rik@octave.org>
parents: 27007
diff changeset
836 dos_shell = (ispc () && ! isunix ());
986128cf1e07 print.m: Fix error when using -tight but Ghostscript is not available (bug #56193).
Rik <rik@octave.org>
parents: 27007
diff changeset
837
19724
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
838 ## HACK: Keep track of whether ghostscript supports epswrite or eps2write.
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
839 persistent epsdevice;
27057
986128cf1e07 print.m: Fix error when using -tight but Ghostscript is not available (bug #56193).
Rik <rik@octave.org>
parents: 27007
diff changeset
840 if (dos_shell && isempty (epsdevice))
986128cf1e07 print.m: Fix error when using -tight but Ghostscript is not available (bug #56193).
Rik <rik@octave.org>
parents: 27007
diff changeset
841 if (isempty (opts.ghostscript.binary))
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
842 error ("Octave:print:nogs",
27059
2bf6dcb1563c Clean up error messages in print subsystem.
Rik <rik@octave.org>
parents: 27057
diff changeset
843 "print: 'gs' (Ghostscript) is required for specified output format, but binary is not available in PATH");
27057
986128cf1e07 print.m: Fix error when using -tight but Ghostscript is not available (bug #56193).
Rik <rik@octave.org>
parents: 27007
diff changeset
844 endif
986128cf1e07 print.m: Fix error when using -tight but Ghostscript is not available (bug #56193).
Rik <rik@octave.org>
parents: 27007
diff changeset
845
19724
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
846 [status, devlist] = system (sprintf ("%s -h", opts.ghostscript.binary));
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
847 if (isempty (strfind (devlist, "eps2write")))
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
848 epsdevice = "epswrite";
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
849 else
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
850 epsdevice = "eps2write";
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
851 endif
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
852 endif
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
853
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
854 cleanup = "";
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
855 if (nargin < 3)
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
856 fileout = opts.name;
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
857 elseif (isempty (fileout))
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
858 fileout = "-";
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
859 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
860
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
861 if (nargin < 2 || strcmp (filein, "-") || isempty (filein))
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
862 pipein = true;
19278
6ca096827123 Use tempname() rather than tmpnam() in core Octave.
Rik <rik@octave.org>
parents: 19078
diff changeset
863 filein = [tempname() ".eps"];
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
864 if (dos_shell)
27622
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
865 cleanup = sprintf ('& del "%s" ', strrep (filein, '/', '\'));
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
866 else
27622
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
867 cleanup = sprintf ('; rm "%s" ', filein);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
868 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
869 else
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
870 pipein = false;
20778
8513c84a13cb Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents: 20713
diff changeset
871 filein = ["'" strtrim(filein) "'"];
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
872 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
873 if (strcmp (fileout, "-"))
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
874 pipeout = true;
19278
6ca096827123 Use tempname() rather than tmpnam() in core Octave.
Rik <rik@octave.org>
parents: 19078
diff changeset
875 fileout = [tempname() ".eps"];
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
876 if (dos_shell)
27622
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
877 cleanup = [cleanup, sprintf('& del "%s" ', strrep (fileout, '/', '\'))];
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
878 else
27622
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
879 cleanup = [cleanup, sprintf('; rm "%s" ', fileout)];
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
880 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
881 else
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
882 pipeout = false;
20778
8513c84a13cb Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents: 20713
diff changeset
883 fileout = ["'" strtrim(fileout) "'"];
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
884 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
885
26173
0a145a1600e3 Use -tight option by default when printing EPS files (bug #53535).
Rik <rik@octave.org>
parents: 26104
diff changeset
886 if (! isempty (opts.preview) && opts.tight)
26936
72fab319b47d Capitalize "Octave" in warning IDs.
Rik <rik@octave.org>
parents: 26935
diff changeset
887 warning ("Octave:print:previewandtight",
72fab319b47d Capitalize "Octave" in warning IDs.
Rik <rik@octave.org>
parents: 26935
diff changeset
888 "print: eps preview may not be combined with -tight");
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
889 endif
26173
0a145a1600e3 Use -tight option by default when printing EPS files (bug #53535).
Rik <rik@octave.org>
parents: 26104
diff changeset
890 if (! isempty (opts.preview) || opts.tight)
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
891
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
892 if (isempty (opts.epstool_binary))
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
893 error ("Octave:print:noepstool", "print: 'epstool' is required for specified output format, but binary is not available in PATH");
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
894 endif
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
895
26173
0a145a1600e3 Use -tight option by default when printing EPS files (bug #53535).
Rik <rik@octave.org>
parents: 26104
diff changeset
896 if (opts.tight)
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
897 cmd = "--copy --bbox";
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
898 elseif (! isempty (opts.preview))
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
899 switch (opts.preview)
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
900 case "tiff"
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
901 cmd = sprintf ("--add-%s-preview --device tiffg3", opts.preview);
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
902 case {"tiff6u", "tiff6p", "metafile"}
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
903 cmd = sprintf ("--add-%s-preview --device bmpgray", opts.preview);
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
904 case {"tiff4", "interchange"}
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
905 cmd = sprintf ("--add-%s-preview", opts.preview);
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
906 case "pict"
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
907 cmd = sprintf ("--add-%s-preview --mac-single", opts.preview);
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
908 otherwise
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
909 error ("Octave:print:invalidpreview",
27059
2bf6dcb1563c Clean up error messages in print subsystem.
Rik <rik@octave.org>
parents: 27057
diff changeset
910 "print: epstool cannot include preview for format '%s'",
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
911 opts.preview);
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
912 endswitch
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
913 if (! isempty (opts.ghostscript.resolution))
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
914 cmd = sprintf ("%s --dpi %d", cmd, fix (opts.ghostscript.resolution));
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
915 endif
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
916 else
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
917 cmd = "";
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
918 endif
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
919 if (! isempty (cmd))
28208
c3dd445fcc2f print.m: Fix printing eps files with -tight option on Windows (bug #57143).
Rik <rik@octave.org>
parents: 28189
diff changeset
920 if (dos_shell)
c3dd445fcc2f print.m: Fix printing eps files with -tight option on Windows (bug #57143).
Rik <rik@octave.org>
parents: 28189
diff changeset
921 ## ghostscript expects double, not single, quotes
c3dd445fcc2f print.m: Fix printing eps files with -tight option on Windows (bug #57143).
Rik <rik@octave.org>
parents: 28189
diff changeset
922 fileout(fileout == "'") = '"';
c3dd445fcc2f print.m: Fix printing eps files with -tight option on Windows (bug #57143).
Rik <rik@octave.org>
parents: 28189
diff changeset
923 ## epstool implicitly uses ghostscript and it needs the command name
c3dd445fcc2f print.m: Fix printing eps files with -tight option on Windows (bug #57143).
Rik <rik@octave.org>
parents: 28189
diff changeset
924 cmd = sprintf ("%s --gs %s --quiet %s %s %s ", opts.epstool_binary,
c3dd445fcc2f print.m: Fix printing eps files with -tight option on Windows (bug #57143).
Rik <rik@octave.org>
parents: 28189
diff changeset
925 opts.ghostscript.binary, cmd, filein, fileout);
c3dd445fcc2f print.m: Fix printing eps files with -tight option on Windows (bug #57143).
Rik <rik@octave.org>
parents: 28189
diff changeset
926 else
c3dd445fcc2f print.m: Fix printing eps files with -tight option on Windows (bug #57143).
Rik <rik@octave.org>
parents: 28189
diff changeset
927 cmd = sprintf ("%s --quiet %s %s %s ", opts.epstool_binary,
c3dd445fcc2f print.m: Fix printing eps files with -tight option on Windows (bug #57143).
Rik <rik@octave.org>
parents: 28189
diff changeset
928 cmd, filein, fileout);
c3dd445fcc2f print.m: Fix printing eps files with -tight option on Windows (bug #57143).
Rik <rik@octave.org>
parents: 28189
diff changeset
929 endif
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
930 endif
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
931 if (pipein)
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
932 if (dos_shell)
24370
b1d1229d9e83 maint: Use single quotes to simplify excessive backslash escapes in code.
Rik <rik@octave.org>
parents: 24208
diff changeset
933 filein(filein=="'") = '"';
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
934 gs_cmd = __ghostscript__ ("binary", opts.ghostscript.binary,
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
935 "device", epsdevice,
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
936 "source", "-",
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
937 "output", filein);
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
938 cmd = sprintf ("%s %s & %s", gs_cmd, filein, cmd);
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
939 else
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
940 cmd = sprintf ("cat > %s ; %s", filein, cmd);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
941 endif
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
942 endif
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
943 if (pipeout)
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
944 if (dos_shell)
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
945 cmd = sprintf ("%s & type %s", cmd, fileout);
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
946 else
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
947 cmd = sprintf ("%s ; cat %s", cmd, fileout);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
948 endif
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
949 endif
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
950 if (! isempty (cleanup))
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
951 if (pipeout && dos_shell)
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
952 error ("Octave:print:epstoolpipe",
27059
2bf6dcb1563c Clean up error messages in print subsystem.
Rik <rik@octave.org>
parents: 27057
diff changeset
953 "print: cannot pipe output of 'epstool' for DOS shell");
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
954 elseif (pipeout)
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
955 cmd = sprintf ("( %s %s )", cmd, cleanup);
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
956 else
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
957 cmd = sprintf ("%s %s", cmd, cleanup);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
958 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
959 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
960 else
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
961 if (pipein && pipeout)
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
962 if (dos_shell)
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
963 cmd = __ghostscript__ ("binary", opts.ghostscript.binary,
19724
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
964 "device", epsdevice,
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
965 "source", "-",
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
966 "output", "-");
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
967 else
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
968 cmd = " cat ";
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
969 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
970 elseif (pipein && ! pipeout)
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
971 if (dos_shell)
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
972 ## ghostscript expects double, not single, quotes
24370
b1d1229d9e83 maint: Use single quotes to simplify excessive backslash escapes in code.
Rik <rik@octave.org>
parents: 24208
diff changeset
973 fileout(fileout=="'") = '"';
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
974 cmd = __ghostscript__ ("binary", opts.ghostscript.binary,
19724
abc158e7122e Use epswrite/eps2write depending on capabilities of ghostscript (bug #44186).
Rik <rik@octave.org>
parents: 19706
diff changeset
975 "device", epsdevice,
11551
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
976 "source", "-",
84fa2ba414ee print.m: Fix printing to eps for DOS.
Ben Abbott <bpabbott@mac.com>
parents: 11523
diff changeset
977 "output", fileout);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
978 else
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
979 cmd = sprintf (" cat > %s ", fileout);
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
980 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
981 elseif (! pipein && pipeout)
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
982 if (dos_shell)
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
983 cmd = sprintf (" type %s ", filein);
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
984 else
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
985 cmd = sprintf (" cat %s ", filein);
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
986 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
987 else
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
988 if (dos_shell)
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
989 cmd = sprintf (" copy %s %s ", filein, fileout);
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
990 else
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
991 cmd = sprintf (" cp %s %s ", filein, fileout);
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
992 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
993 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
994 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
995 if (opts.debug)
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
996 fprintf ("epstool command: '%s'\n", cmd);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
997 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
998
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
999 endfunction
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1000
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1001 function cmd = fig2dev (opts, devopt)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1002
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1003 if (nargin < 2)
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1004 devopt = opts.devopt;
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1005 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1006
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1007 if (isempty (opts.fig2dev_binary))
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
1008 error ("Octave:print:nofig2dev", "print: 'fig2dev' is required for specified output format, but binary is not available in PATH");
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1009 endif
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1010
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1011 dos_shell = (ispc () && ! isunix ());
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1012 if (dos_shell)
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1013 ## FIXME: Is this the right thing to do for DOS?
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1014 cmd = sprintf ("%s -L %s 2> NUL", opts.fig2dev_binary, devopt);
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1015 else
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1016 cmd = sprintf ("%s -L %s 2> /dev/null", opts.fig2dev_binary, devopt);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1017 endif
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1018
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1019 if (opts.debug)
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
1020 fprintf ("fig2dev command: '%s'\n", cmd);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1021 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1022
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1023 endfunction
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1024
12199
3fc07861449b Fix {eps,ps,pdf}latexstandalone printing for fltk, bug 32262.
Ben Abbott <bpabbott@mac.com>
parents: 11589
diff changeset
1025 function latex_standalone (opts)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1026
12199
3fc07861449b Fix {eps,ps,pdf}latexstandalone printing for fltk, bug 32262.
Ben Abbott <bpabbott@mac.com>
parents: 11589
diff changeset
1027 n = find (opts.name == ".", 1, "last");
3fc07861449b Fix {eps,ps,pdf}latexstandalone printing for fltk, bug 32262.
Ben Abbott <bpabbott@mac.com>
parents: 11589
diff changeset
1028 if (! isempty (n))
3fc07861449b Fix {eps,ps,pdf}latexstandalone printing for fltk, bug 32262.
Ben Abbott <bpabbott@mac.com>
parents: 11589
diff changeset
1029 opts.name = opts.name(1:n-1);
3fc07861449b Fix {eps,ps,pdf}latexstandalone printing for fltk, bug 32262.
Ben Abbott <bpabbott@mac.com>
parents: 11589
diff changeset
1030 endif
20778
8513c84a13cb Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents: 20713
diff changeset
1031 latexfile = [opts.name ".tex"];
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1032
16933
e39f00a32dc7 maint: Use parentheses around condition for switch(),while(),if() statements.
Rik <rik@octave.org>
parents: 16826
diff changeset
1033 switch (opts.devopt)
17174
c3c1ebfaa7dc maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents: 17146
diff changeset
1034 case {"pdflatexstandalone"}
c3c1ebfaa7dc maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents: 17146
diff changeset
1035 packages = "\\usepackage{graphicx,color}";
c3c1ebfaa7dc maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents: 17146
diff changeset
1036 case {"pslatexstandalone"}
c3c1ebfaa7dc maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents: 17146
diff changeset
1037 packages = "\\usepackage{epsfig,color}";
c3c1ebfaa7dc maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents: 17146
diff changeset
1038 otherwise
c3c1ebfaa7dc maint: Use common indentation for switch statement.
Rik <rik@octave.org>
parents: 17146
diff changeset
1039 packages = "\\usepackage{epsfig,color}";
12199
3fc07861449b Fix {eps,ps,pdf}latexstandalone printing for fltk, bug 32262.
Ben Abbott <bpabbott@mac.com>
parents: 11589
diff changeset
1040 endswitch
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1041
27344
8ff5628d8b55 print.m: Assume .tex files are always encoded in UTF-8 (bug #49338)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27343
diff changeset
1042 packages = {packages "\\usepackage[utf8]{inputenc}"};
8ff5628d8b55 print.m: Assume .tex files are always encoded in UTF-8 (bug #49338)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27343
diff changeset
1043
12199
3fc07861449b Fix {eps,ps,pdf}latexstandalone printing for fltk, bug 32262.
Ben Abbott <bpabbott@mac.com>
parents: 11589
diff changeset
1044 papersize = sprintf ("\\usepackage[papersize={%.2fbp,%.2fbp},text={%.2fbp,%.2fbp}]{geometry}",
19725
5f2c0ca0ef51 Ensure that numbers passed to integer *printf format codes are integers (bug #44245).
Rik <rik@octave.org>
parents: 19724
diff changeset
1045 fix (opts.canvas_size), fix (opts.canvas_size));
27344
8ff5628d8b55 print.m: Assume .tex files are always encoded in UTF-8 (bug #49338)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27343
diff changeset
1046
8ff5628d8b55 print.m: Assume .tex files are always encoded in UTF-8 (bug #49338)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27343
diff changeset
1047 prepend = {"\\documentclass{minimal}", packages{:}, papersize, ...
8ff5628d8b55 print.m: Assume .tex files are always encoded in UTF-8 (bug #49338)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27343
diff changeset
1048 "\\begin{document}", "\\centering"};
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1049 postpend = {"\\end{document}"};
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1050
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1051 fid = fopen (latexfile, "r");
21759
b002b4331a12 maint: Use two newlines after endfunction and start of BIST tests.
Rik <rik@octave.org>
parents: 21758
diff changeset
1052 if (fid < 0)
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
1053 error ("Octave:print:erroropeningfile",
27059
2bf6dcb1563c Clean up error messages in print subsystem.
Rik <rik@octave.org>
parents: 27057
diff changeset
1054 "print: error opening file '%s'", latexfile);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1055 endif
21759
b002b4331a12 maint: Use two newlines after endfunction and start of BIST tests.
Rik <rik@octave.org>
parents: 21758
diff changeset
1056 latex = fscanf (fid, "%c", Inf);
b002b4331a12 maint: Use two newlines after endfunction and start of BIST tests.
Rik <rik@octave.org>
parents: 21758
diff changeset
1057 status = fclose (fid);
b002b4331a12 maint: Use two newlines after endfunction and start of BIST tests.
Rik <rik@octave.org>
parents: 21758
diff changeset
1058 if (status != 0)
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
1059 error ("Octave:print:errorclosingfile",
27059
2bf6dcb1563c Clean up error messages in print subsystem.
Rik <rik@octave.org>
parents: 27057
diff changeset
1060 "print: error closing file '%s'", latexfile);
21759
b002b4331a12 maint: Use two newlines after endfunction and start of BIST tests.
Rik <rik@octave.org>
parents: 21758
diff changeset
1061 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1062
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1063 fid = fopen (latexfile, "w");
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1064 if (fid >= 0)
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1065 fprintf (fid, "%s\n", prepend{:});
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1066 fprintf (fid, "%s", latex);
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1067 fprintf (fid, "%s\n", postpend{:});
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1068 status = fclose (fid);
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1069 if (status != 0)
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
1070 error ("Octave:print:errorclosingfile",
27059
2bf6dcb1563c Clean up error messages in print subsystem.
Rik <rik@octave.org>
parents: 27057
diff changeset
1071 "print: error closing file '%s'", latexfile);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1072 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1073 else
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
1074 error ("Octave:print:erroropeningfile",
27059
2bf6dcb1563c Clean up error messages in print subsystem.
Rik <rik@octave.org>
parents: 27057
diff changeset
1075 "print: error opening file '%s'", latexfile);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1076 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1077
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1078 endfunction
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1079
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1080 function cmd = lpr (opts)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1081
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1082 if (nargin < 2)
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1083 devopt = opts.devopt;
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1084 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1085
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1086 if (! isempty (opts.lpr_binary))
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1087 cmd = opts.lpr_binary;
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1088 if (! isempty (opts.lpr_options))
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1089 cmd = sprintf ("%s %s", cmd, opts.lpr_options);
11113
a8ac114ec9ab Stylefixes, replace end by endif.
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 11107
diff changeset
1090 endif
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1091 if (! isempty (opts.printer))
19026
d6f1f46e5b8f Fix double '-P' in print command to printer (bug #41957).
Michael Godfrey <michaeldgodfrey@gmail.com>
parents: 17751
diff changeset
1092 cmd = sprintf ("%s %s", cmd, opts.printer);
11113
a8ac114ec9ab Stylefixes, replace end by endif.
Thorsten Meyer <thorsten.meyier@gmx.de>
parents: 11107
diff changeset
1093 endif
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1094 elseif (isempty (opts.lpr_binary))
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
1095 error ("Octave:print:nolpr", "print: 'lpr' not found in PATH");
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1096 endif
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1097 if (opts.debug)
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
1098 fprintf ("lpr command: '%s'\n", cmd);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1099 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1100
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1101 endfunction
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1102
26932
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1103 function cmd = pstoedit (opts, devopt, do_svg = true)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1104
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1105 if (nargin < 2)
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1106 devopt = opts.devopt;
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1107 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1108
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1109 if (isempty (opts.pstoedit_binary))
27069
0a62d9a6aa2d Place Octave's warning and error IDs in to the "Octave" namespace (bug #56213).
Rik <rik@octave.org>
parents: 27059
diff changeset
1110 error ("Octave:print:nopstoedit", ...
27059
2bf6dcb1563c Clean up error messages in print subsystem.
Rik <rik@octave.org>
parents: 27057
diff changeset
1111 "print: 'pstoedit' is required for specified output format, but binary is not available in PATH");
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1112 endif
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1113
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1114 dos_shell = (ispc () && ! isunix ());
26993
119353eb6b38 maint: Strip trailing whitespace from source files.
John W. Eaton <jwe@octave.org>
parents: 26932
diff changeset
1115
26932
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1116 if (! do_svg)
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1117 if (dos_shell)
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1118 cmd = sprintf ("%s -f %s 2> NUL", opts.pstoedit_binary, devopt);
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1119 else
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1120 cmd = sprintf ("%s -f %s 2> /dev/null", opts.pstoedit_binary, devopt);
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1121 endif
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1122 else
26932
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1123 cmd = svgconvert (opts, devopt);
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1124 if (dos_shell)
27622
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
1125 cmd = sprintf ('%s & %s -ssp -f %s "%%s" 2> NUL', cmd, ...
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
1126 undo_string_escapes (opts.pstoedit_binary), ...
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
1127 undo_string_escapes (devopt));
26932
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1128 else
27622
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
1129 cmd = sprintf ('%s ; %s -ssp -f %s "%%s" 2> /dev/null', cmd, ...
26932
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1130 opts.pstoedit_binary, devopt);
aa9745a1114a Feed fig2dev with PDF files converted from svg (bug #55906)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26737
diff changeset
1131 endif
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1132 endif
23991
fcf7543e0d49 Only print warning messages about missing print tools when needed (bug #44152).
Rik <rik@octave.org>
parents: 23486
diff changeset
1133
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1134 if (opts.debug)
11589
b0084095098e missing semicolons in script files
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
1135 fprintf ("pstoedit command: '%s'\n", cmd);
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1136 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1137
11009
064aaf82222f Print via a pipeline.
Ben Abbott <bpabbott@mac.com>
parents: 10954
diff changeset
1138 endfunction
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1139
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1140 function cmd = svgconvert (opts, devopt)
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1141
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1142 cmd = "";
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1143
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1144 if (nargin < 2)
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1145 devopt = opts.devopt;
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1146 endif
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1147
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1148 if (isempty (opts.svgconvert_binary))
26936
72fab319b47d Capitalize "Octave" in warning IDs.
Rik <rik@octave.org>
parents: 26935
diff changeset
1149 warning ("Octave:print:nosvgconvert", ...
72fab319b47d Capitalize "Octave" in warning IDs.
Rik <rik@octave.org>
parents: 26935
diff changeset
1150 ["print: unable to find octave-svgconvert, ", ...
27983
44a019d01aa5 fix more spelling errors (bug #57613)
Mike Miller <mtmiller@octave.org>
parents: 27345
diff changeset
1151 "falling back to eps conversion"]);
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1152 else
26063
4407b315339d print.m: Fix localization of the default font file (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26055
diff changeset
1153 fontdir = getenv ("OCTAVE_FONTS_DIR");
4407b315339d print.m: Fix localization of the default font file (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26055
diff changeset
1154
4407b315339d print.m: Fix localization of the default font file (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26055
diff changeset
1155 if (isempty (fontdir))
4407b315339d print.m: Fix localization of the default font file (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26055
diff changeset
1156 fontdir = __octave_config_info__ ("octfontsdir");
4407b315339d print.m: Fix localization of the default font file (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26055
diff changeset
1157 endif
4407b315339d print.m: Fix localization of the default font file (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26055
diff changeset
1158
27622
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
1159 cmd = sprintf ('%s - %%s %3.2f "%s" %d "%%s"', ...
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
1160 undo_string_escapes (opts.svgconvert_binary), ...
26063
4407b315339d print.m: Fix localization of the default font file (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 26055
diff changeset
1161 get (0, "screenpixelsperinch"), ...
27622
df8942d19b7b Allow printing with Octave installed in path with parenthesis (bug #49718)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 27347
diff changeset
1162 undo_string_escapes (fullfile (fontdir, "FreeSans.otf")), 1);
26027
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1163
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1164 if (opts.debug)
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1165 fprintf ("svgconvert command: '%s'\n", cmd);
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1166 endif
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1167 endif
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1168
98d7a111786a Add SVG convertion option for printing to PDF and raster outputs (bug #52193)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 25998
diff changeset
1169 endfunction