2 Copyright (C) 1989-2000 Free Software Foundation, Inc.
4 Permission is granted to make and distribute verbatim copies of
5 this manual provided the copyright notice and this permission notice
6 are preserved on all copies.
8 Permission is granted to copy and distribute modified versions of this
9 manual under the conditions for verbatim copying, provided that the
10 entire resulting derived work is distributed under the terms of a
11 permission notice identical to this one.
13 Permission is granted to copy and distribute translations of this
14 manual into another language, under the above conditions for modified
15 versions, except that this permission notice may be included in
16 translations approved by the Free Software Foundation instead of in
19 .\" Like TP, but if specified indent is more than half
20 .\" the current line-length - indent, use the default indent.
22 .ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
25 .TH GROPS @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
27 grops \- PostScript driver for groff
36 .ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\\$2" "\ ]"
37 .el .RB "[\ " "\\$1" "\ ]"
44 .RI "[\ " files\|.\|.\|. "\ ]"
48 It is possible to have whitespace between a command line option and its
52 translates the output of GNU
57 should be invoked by using the groff command
61 .if '@DEVICE@'ps' (Actually, this is the default for groff.)
62 If no files are given,
64 will read the standard input.
69 to read the standard input.
70 PostScript output is written to the standard output.
75 options can be passed to
84 Workaround broken spoolers and previewers.
87 produces output that conforms
88 the Document Structuring Conventions version 3.0.
89 Unfortunately some spoolers and previewers can't handle such output.
94 does to its output acceptable to such programs.
95 A value of 0 will cause grops not to employ any workarounds.
97 .B %%BeginDocumentSetup
100 comments should be generated;
101 this is needed for early versions of TranScript that get confused by
104 comment and the first
107 Add 2 if lines in included files beginning with
109 should be stripped out; this is needed for Sun's pageview previewer.
116 stripped out of included files; this is needed for spoolers that
122 Add 8 if the first line of the PostScript output should be
126 this is needed when using Sun's Newsprint with a printer that requires
128 The default value can be specified by a
133 command in the DESC file.
134 Otherwise the default value is 0.
143 Guess the page length.
144 This generates PostScript code that guesses the page length.
145 The guess will be correct only if the imageable area is vertically
146 centered on the page.
147 This option allows you to generate documents that can be printed
148 both on letter (8.5\(mu11) paper and on A4 paper without change.
151 Print the document in landscape format.
154 Turn manual feed on for the document.
159 for font and device description files;
161 is the name of the device, usually
165 Lines should be drawn using a thickness of
167 thousandths of an em.
170 Print the version number.
172 There are styles called
178 mounted at font positions 1 to 4.
179 The fonts are grouped into families
189 having members in each of these styles:
191 .if '\\*(.T'ps' .ft \\$1
201 AvantGarde-BookOblique
211 AvantGarde-DemiOblique
271 Helvetica-BoldOblique
281 Helvetica-Narrow-Oblique
286 Helvetica-Narrow-Bold
291 Helvetica-Narrow-BoldOblique
296 NewCenturySchlbk-Roman
301 NewCenturySchlbk-Italic
306 NewCenturySchlbk-Bold
311 NewCenturySchlbk-BoldItalic
354 There is also the following font which is not a member of a family:
358 ZapfChancery-MediumItalic
361 There are also some special fonts called
365 Zapf Dingbats is available as
367 and a reversed version of ZapfDingbats (with symbols pointing in the opposite
368 direction) is available as
370 most characters in these fonts are unnamed and must be accessed using
374 understands various X commands produced using the
378 will only interpret commands that begin with a
382 .BI \eX'ps:\ exec\ code '
383 This executes the arbitrary PostScript commands in
385 The PostScript currentpoint will be set to the position of the
387 command before executing
389 The origin will be at the top left corner of the page,
390 and y coordinates will increase down the page.
393 will be defined that converts groff units
394 to the coordinate system in effect.
402 \eX'ps: exec \enx u 0 rlineto stroke'
406 will draw a horizontal line one inch long.
408 may make changes to the graphics state,
409 but any changes will persist only to the
411 A dictionary containing the definitions specified by the
415 will be on top of the dictionary stack.
416 If your code adds definitions to this dictionary,
417 you should allocate space for them using
418 .BI \eX'ps\ mdef \ n '\fR.
419 Any definitions will persist only until the end of the page.
422 escape sequence with an argument that names a macro,
424 can extend over multiple lines.
440 is another way to draw a horizontal line one inch long.
443 .BI \eX'ps:\ file\ name '
444 This is the same as the
446 command except that the PostScript code is read from file
449 .BI \eX'ps:\ def\ code '
450 Place a PostScript definition contained in
453 There should be at most one definition per
456 Long definitions can be split over several
461 arguments are simply joined together separated by newlines.
462 The definitions are placed in a dictionary which is automatically
463 pushed on the dictionary stack when an
468 escape sequence with an argument that names a macro,
470 can extend over multiple lines.
472 .BI \eX'ps:\ mdef\ n\ code '
481 needs to know how many definitions
484 so that it can create an appropriately sized PostScript dictionary
487 .BI \eX'ps:\ import\ file\ llx\ lly\ urx\ ury\ width\ \fR[\fP\ height\ \fR]\fP '
488 Import a PostScript graphic from
496 give the bounding box of the graphic in the default PostScript
497 coordinate system; they should all be integers;
501 are the x and y coordinates of the lower left
502 corner of the graphic;
506 are the x and y coordinates of the upper right corner of the graphic;
510 are integers that give the desired width and height in groff
511 units of the graphic.
512 The graphic will be scaled so that it has this width and height
513 and translated so that the lower left corner of the graphic is
514 located at the position associated with
517 If the height argument is omitted it will be scaled uniformly in the
518 x and y directions so that it has the specified width.
519 Note that the contents of the
521 command are not interpreted by
523 so vertical space for the graphic is not automatically added,
528 arguments are not allowed to have attached scaling indicators.
529 If the PostScript file complies with the Adobe Document Structuring
530 Conventions and contains a
532 comment, then the bounding box can be automatically
533 extracted from within groff by using the
540 macros (which are automatically loaded when
542 is run by the groff command) include a
544 macro which allows a picture to be easily imported.
547 \&\fB.PSPIC\fP [ \fB\-L\fP | \fB-R\fP | \fB\-I\fP \fIn\fP ]\ \"
548 \fI\|file\fP [ \fIwidth\fP [ \fIheight\fP ]]
551 is the name of the file containing the illustration;
555 give the desired width and height of the graphic.
560 arguments may have scaling indicators attached;
561 the default scaling indicator is
563 This macro will scale the graphic uniformly
564 in the x and y directions so that it is no more than
570 By default, the graphic will be horizontally centered.
575 cause the graphic to be left-aligned and right-aligned
579 option causes the graphic to be indented by
587 .B \eX'ps:\ endinvis'
588 No output will be generated for text and drawing commands
589 that are bracketed with these
592 These commands are intended for use when output from
594 will be previewed before being processed with
596 if the previewer is unable to display certain characters
597 or other constructs, then other substitute characters or constructs
598 can be used for previewing by bracketing them with these
605 is not able to display a proper
607 character because the standard X11 fonts do not provide it;
608 this problem can be overcome by executing the following
613 \&.char \e(em \eX'ps: invis'\e
614 \eZ'\ev'-.25m'\eh'.05m'\eD'l .9m 0'\eh'.05m''\e
615 \eX'ps: endinvis'\e(em
621 will be unable to display the
623 character and will draw the line,
634 must be in the format output by
635 .BR @g@troff (@MAN1EXT@).
637 .BR groff_out (@MAN1EXT@).
638 In addition the device and font description files for the device used
639 must meet certain requirements.
640 The device and font description files supplied for
642 device meet all these requirements.
643 .BR afmtodit (@MAN1EXT@)
644 can be used to create font files from AFM files.
645 The resolution must be an integer multiple of 72 times the
649 device uses a resolution of 72000 and a sizescale of 1000.
650 The device description file should contain a command
654 which says that output should be generated which is suitable for
655 printing on a page whose length is
658 Each font description file must contain a command
660 .BI internalname\ psname
662 which says that the PostScript name of the font is
664 It may also contain a command
666 .BI encoding\ enc_file
669 the PostScript font should be reencoded using the encoding described in
671 this file should consist of a sequence of lines of the form:
678 is the PostScript name of the character,
681 is its position in the encoding expressed as a decimal integer.
682 The code for each character given in the font file must correspond
683 to the code for the character in encoding file, or to the code in the default
684 encoding for the font if the PostScript font is not to be reencoded.
685 This code can be used with the
689 to select the character,
690 even if the character does not have a groff name.
691 Every character in the font file must exist in the PostScript font, and
692 the widths given in the font file must match the widths used
693 in the PostScript font.
695 will assume that a character with a groff name of
697 is blank (makes no marks on the page);
698 it can make use of such a character to generate more efficient and
699 compact PostScript output.
702 can automatically include the downloadable fonts necessary
703 to print the document.
704 Any downloadable fonts which should, when required, be included by
706 must be listed in the file
707 .BR @FONTDIR@/devps/download ;
708 this should consist of lines of the form
715 is the PostScript name of the font,
718 is the name of the file containing the font;
721 and blank lines are ignored;
722 fields may be separated by tabs or spaces;
724 will be searched for using the same mechanism that is used
725 for groff font metric files.
728 file itself will also be searched for using this mechanism.
730 If the file containing a downloadable font or imported document
731 conforms to the Adobe Document Structuring Conventions,
734 will interpret any comments in the files sufficiently to ensure that its
735 own output is conforming.
736 It will also supply any needed font resources that are listed in the
739 as well as any needed file resources.
740 It is also able to handle inter-resource dependencies.
741 For example, suppose that you have a downloadable font called Garamond,
742 and also a downloadable font called Garamond-Outline
743 which depends on Garamond
744 (typically it would be defined to copy Garamond's font dictionary,
745 and change the PaintType),
746 then it is necessary for Garamond to be appear before Garamond-Outline
747 in the PostScript document.
749 will handle this automatically
750 provided that the downloadable font file for Garamond-Outline
751 indicates its dependence on Garamond by means of
752 the Document Structuring Conventions,
753 for example by beginning with the following lines
756 %!PS-Adobe-3.0 Resource-Font
759 %%DocumentNeededResources: font Garamond
765 %%IncludeResource: font Garamond
767 In this case both Garamond and Garamond-Outline would need to be listed
771 A downloadable font should not include its own name in a
772 .B %%DocumentSuppliedResources
780 .BR %%DocumentNeededResources ,
781 .BR %%DocumentSuppliedResources ,
782 .BR %%IncludeResource ,
788 .BR %%DocumentNeededFonts ,
789 .BR %%DocumentSuppliedFonts ,
797 .Tp \w'\fB@FONTDIR@/devps/download'u+2n
798 .B @FONTDIR@/devps/DESC
799 Device description file.
801 .BI @FONTDIR@/devps/ F
802 Font description file for font
805 .B @FONTDIR@/devps/download
806 List of downloadable fonts.
808 .B @FONTDIR@/devps/text.enc
809 Encoding used for text fonts.
811 .B @MACRODIR@/tmac.ps
814 automatically loaded by
817 .B @MACRODIR@/tmac.pspic
821 automatically loaded by
824 .B @MACRODIR@/tmac.psold
825 Macros to disable use of characters not present in older
826 PostScript printers; automatically loaded by
829 .B @MACRODIR@/tmac.psnew
830 Macros to undo the effect of
833 .BI /tmp/grops XXXXXX
836 .BR afmtodit (@MAN1EXT@),
837 .BR groff (@MAN1EXT@),
838 .BR @g@troff (@MAN1EXT@),
839 .BR psbb (@MAN1EXT@),
840 .BR groff_out (@MAN5EXT@),
841 .BR groff_font (@MAN5EXT@),
842 .BR groff_char (@MAN7EXT@)