PageRenderTime 63ms CodeModel.GetById 50ms app.highlight 6ms RepoModel.GetById 1ms app.codeStats 1ms

/contrib/groff/src/devices/grops/grops.man

https://bitbucket.org/freebsd/freebsd-head/
Unknown | 1170 lines | 1167 code | 3 blank | 0 comment | 0 complexity | 1132aaa6ea3bba5e4ae99341610abc8f MD5 | raw file
   1.ig
   2Copyright (C) 1989-2000, 2001, 2002, 2003, 2004, 2005
   3  Free Software Foundation, Inc.
   4
   5Permission is granted to make and distribute verbatim copies of
   6this manual provided the copyright notice and this permission notice
   7are preserved on all copies.
   8
   9Permission is granted to copy and distribute modified versions of this
  10manual under the conditions for verbatim copying, provided that the
  11entire resulting derived work is distributed under the terms of a
  12permission notice identical to this one.
  13
  14Permission is granted to copy and distribute translations of this
  15manual into another language, under the above conditions for modified
  16versions, except that this permission notice may be included in
  17translations approved by the Free Software Foundation instead of in
  18the original English.
  19..
  20.
  21.do nr grops_C \n[.C]
  22.cp 0
  23.
  24.mso www.tmac
  25.
  26.
  27.\" Like TP, but if specified indent is more than half
  28.\" the current line-length - indent, use the default indent.
  29.de Tp
  30.  ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
  31.  el .TP "\\$1"
  32..
  33.
  34.de TQ
  35.  br
  36.  ns
  37.  TP \$1
  38..
  39.
  40.de FT
  41.  if '\\*(.T'ps' .ft \\$1
  42..
  43.
  44.
  45.TH GROPS @MAN1EXT@ "@MDATE@" "Groff Version @VERSION@"
  46.
  47.
  48.SH NAME
  49grops \- PostScript driver for groff
  50.
  51.
  52.SH SYNOPSIS
  53.nr a \n(.j
  54.ad l
  55.nr i \n(.i
  56.in +\w'\fBgrops 'u
  57.ti \niu
  58.B grops
  59.
  60.de OP
  61.ie \\n(.$-1 .RI "[\ \fB\\$1\fP" "\%\\$2" "\ ]"
  62.el .RB "[\ " "\\$1" "\ ]"
  63..
  64.
  65.OP \-glmv
  66.OP \-b n
  67.OP \-c n
  68.OP \-F dir
  69.OP \-I dir
  70.OP \-p papersize
  71.OP \-P prologue
  72.OP \-w n
  73.RI "[\ " files\|.\|.\|. "\ ]"
  74.br
  75.ad \na
  76.
  77.PP
  78It is possible to have whitespace between a command line option and its
  79parameter.
  80.
  81.
  82.SH DESCRIPTION
  83.B grops
  84translates the output of GNU
  85.B troff
  86to PostScript.
  87.
  88Normally
  89.B grops
  90should be invoked by using the groff command
  91with a
  92.B \-Tps
  93option.
  94.
  95.if '@DEVICE@'ps' (Actually, this is the default for groff.)
  96.
  97If no files are given,
  98.B grops
  99will read the standard input.
 100.
 101A filename of
 102.B \-
 103will also cause
 104.B grops
 105to read the standard input.
 106.
 107PostScript output is written to the standard output.
 108.
 109When
 110.B grops
 111is run by
 112.B groff
 113options can be passed to
 114.B grops
 115using the
 116.B groff
 117.B \-P
 118option.
 119.
 120.PP
 121Note that
 122.B grops
 123doesn't produce a valid document structure (conforming to the Document
 124Structuring Convention) if called with multiple file arguments.
 125.
 126To print such concatenated output it is necessary to deactivate DSC
 127handling in the printing program or previewer.
 128.
 129.
 130.SH OPTIONS
 131.TP
 132.BI \-b n
 133Provide workarounds for older printers, broken spoolers, and previewers.
 134.
 135Normally
 136.B grops
 137produces output at PostScript LanguageLevel\~2 that conforms to the
 138Document Structuring Conventions version 3.0.
 139.
 140Some older printers, spoolers, and previewers can't handle such output.
 141.
 142The value of\~\c
 143.I n
 144controls what
 145.B grops
 146does to make its output acceptable to such programs.
 147.
 148A value of\~0 will cause grops not to employ any workarounds.
 149.
 150.IP
 151Add\~1 if no
 152.B %%Begin\%Document\%Setup
 153and
 154.B %%End\%Document\%Setup
 155comments should be generated;
 156this is needed for early versions of TranScript that get confused by
 157anything between the
 158.B %%End\%Prolog
 159comment and the first
 160.B %%Page
 161comment.
 162.
 163.IP
 164Add\~2 if lines in included files beginning with
 165.B %!
 166should be stripped out; this is needed for Sun's pageview previewer.
 167.
 168.IP
 169Add\~4 if
 170.BR %%Page ,
 171.BR %%Trailer
 172and
 173.B %%End\%Prolog
 174comments should be
 175stripped out of included files; this is needed for spoolers that
 176don't understand the
 177.B %%Begin\%Document
 178and
 179.B %%End\%Document
 180comments.
 181.
 182.IP
 183Add\~8 if the first line of the PostScript output should be
 184.B %!PS-Adobe-2.0
 185rather than
 186.BR %!PS-Adobe-3.0 ;
 187this is needed when using Sun's Newsprint with a printer that requires
 188page reversal.
 189.
 190.IP
 191Add\~16 if no media size information should be included in the document
 192(this is, neither use
 193.B %%Document\%Media
 194nor the
 195.B setpagedevice
 196PostScript command).
 197.
 198This was the behaviour of groff version 1.18.1 and earlier; it is needed
 199for older printers which don't understand PostScript LanguageLevel\~2.
 200.
 201It is also necessary if the output is further processed to get an
 202encapsulated PS (EPS) file -- see below.
 203.
 204.IP
 205The default value can be specified by a
 206.
 207.RS
 208.IP
 209.BI broken\  n
 210.
 211.LP
 212command in the DESC file.
 213.
 214Otherwise the default value is\~0.
 215.RE
 216.
 217.TP
 218.BI \-c n
 219Print
 220.I n
 221copies of each page.
 222.
 223.TP
 224.BI \-F dir
 225Prepend directory
 226.IB dir /dev name
 227to the search path for prologue, font, and device description files;
 228.I name
 229is the name of the device, usually
 230.BR ps .
 231.
 232.TP
 233.BI \-g
 234Guess the page length.
 235.
 236This generates PostScript code that guesses the page length.
 237.
 238The guess will be correct only if the imageable area is vertically
 239centered on the page.
 240.
 241This option allows you to generate documents that can be printed
 242both on letter (8.5\(mu11) paper and on A4 paper without change.
 243.
 244.TP
 245.BI \-I dir
 246This option may be used to specify a directory to search for
 247files on the command line and files named in 
 248.B \eX'ps: import'
 249and
 250.B \eX'ps: file'
 251escapes.
 252The current directory is always searched first.
 253This option may be specified more than once;
 254the directories will be searched in the order specified.
 255No directory search is performed for files specified using an absolute path.
 256.
 257.TP
 258.B \-l
 259Print the document in landscape format.
 260.
 261.TP
 262.B \-m
 263Turn manual feed on for the document.
 264.
 265.TP
 266.BI \-p paper-size
 267Set physical dimension of output medium.
 268.
 269This overrides the
 270.BR papersize ,
 271.BR paperlength ,
 272and
 273.B paperwidth
 274commands in the
 275.B DESC
 276file; it accepts the same arguments as the
 277.B papersize
 278command.
 279.
 280See
 281.B groff_font (@MAN5EXT@)
 282for details.
 283.
 284.TP
 285.BI \-P prologue-file
 286Use the file
 287.I prologue-file
 288(in the font path) as the prologue instead of the default prologue file
 289.BR prologue .
 290.
 291This option overrides the environment variable
 292.SM GROPS_PROLOGUE.
 293.
 294.TP
 295.BI \-w n
 296Lines should be drawn using a thickness of
 297.IR n \~\c
 298thousandths of an em.
 299If this option is not given, the line thickness defaults to 0.04\~em.
 300.
 301.TP
 302.B \-v
 303Print the version number.
 304.
 305.
 306.SH USAGE
 307There are styles called
 308.BR R ,
 309.BR I ,
 310.BR B ,
 311and
 312.B BI
 313mounted at font positions 1 to\~4.
 314.
 315The fonts are grouped into families
 316.BR A ,
 317.BR BM ,
 318.BR C ,
 319.BR H ,
 320.BR HN ,
 321.BR N ,
 322.BR P ,
 323and\~\c
 324.B T
 325having members in each of these styles:
 326.
 327.RS
 328.TP
 329.B AR
 330.FT AR
 331AvantGarde-Book
 332.FT
 333.
 334.TQ
 335.B AI
 336.FT AI
 337AvantGarde-BookOblique
 338.FT
 339.
 340.TQ
 341.B AB
 342.FT AB
 343AvantGarde-Demi
 344.FT
 345.
 346.TQ
 347.B ABI
 348.FT ABI
 349AvantGarde-DemiOblique
 350.FT
 351.
 352.TQ
 353.B BMR
 354.FT BMR
 355Bookman-Light
 356.FT
 357.
 358.TQ
 359.B BMI
 360.FT BMI
 361Bookman-LightItalic
 362.FT
 363.
 364.TQ
 365.B BMB
 366.FT BMB
 367Bookman-Demi
 368.FT
 369.
 370.TQ
 371.B BMBI
 372.FT BMBI
 373Bookman-DemiItalic
 374.FT
 375.
 376.TQ
 377.B CR
 378.FT CR
 379Courier
 380.FT
 381.
 382.TQ
 383.B CI
 384.FT CI
 385Courier-Oblique
 386.FT
 387.
 388.TQ
 389.B CB
 390.FT CB
 391Courier-Bold
 392.FT
 393.
 394.TQ
 395.B CBI
 396.FT CBI
 397Courier-BoldOblique
 398.FT
 399.
 400.TQ
 401.B HR
 402.FT HR
 403Helvetica
 404.FT
 405.
 406.TQ
 407.B HI
 408.FT HI
 409Helvetica-Oblique
 410.FT
 411.
 412.TQ
 413.B HB
 414.FT HB
 415Helvetica-Bold
 416.FT
 417.
 418.TQ
 419.B HBI
 420.FT HBI
 421Helvetica-BoldOblique
 422.FT
 423.
 424.TQ
 425.B HNR
 426.FT HNR
 427Helvetica-Narrow
 428.FT
 429.
 430.TQ
 431.B HNI
 432.FT HNI
 433Helvetica-Narrow-Oblique
 434.FT
 435.
 436.TQ
 437.B HNB
 438.FT HNB
 439Helvetica-Narrow-Bold
 440.FT
 441.
 442.TQ
 443.B HNBI
 444.FT HNBI
 445Helvetica-Narrow-BoldOblique
 446.FT
 447.
 448.TQ
 449.B NR
 450.FT NR
 451NewCenturySchlbk-Roman
 452.FT
 453.
 454.TQ
 455.B NI
 456.FT NI
 457NewCenturySchlbk-Italic
 458.FT
 459.
 460.TQ
 461.B NB
 462.FT NB
 463NewCenturySchlbk-Bold
 464.FT
 465.
 466.TQ
 467.B NBI
 468.FT NBI
 469NewCenturySchlbk-BoldItalic
 470.FT
 471.
 472.TQ
 473.B PR
 474.FT PR
 475Palatino-Roman
 476.FT
 477.
 478.TQ
 479.B PI
 480.FT PI
 481Palatino-Italic
 482.FT
 483.
 484.TQ
 485.B PB
 486.FT PB
 487Palatino-Bold
 488.FT
 489.
 490.TQ
 491.B PBI
 492.FT PBI
 493Palatino-BoldItalic
 494.FT
 495.
 496.TQ
 497.B TR
 498.FT TR
 499Times-Roman
 500.FT
 501.
 502.TQ
 503.B TI
 504.FT TI
 505Times-Italic
 506.FT
 507.
 508.TQ
 509.B TB
 510.FT TB
 511Times-Bold
 512.FT
 513.
 514.TQ
 515.B TBI
 516.FT TBI
 517Times-BoldItalic
 518.FT
 519.RE
 520.
 521.LP
 522There is also the following font which is not a member of a family:
 523.
 524.RS
 525.TP
 526.B ZCMI
 527.FT ZCMI
 528ZapfChancery-MediumItalic
 529.FT
 530.RE
 531.
 532.LP
 533There are also some special fonts called
 534.B S
 535for the PS Symbol font, and
 536.BR SS ,
 537containing slanted lowercase Greek letters taken from PS Symbol.
 538.
 539Zapf Dingbats is available as
 540.BR ZD
 541and a reversed version of ZapfDingbats (with symbols pointing in the opposite
 542direction) is available as
 543.BR ZDR ;
 544most characters in these fonts are unnamed and must be accessed using
 545.BR \[rs]N .
 546.
 547.LP
 548The default color for
 549.B \[rs]m
 550and
 551.B \[rs]M
 552is black; for colors defined in the `rgb' color space,
 553.B setrgbcolor
 554is used, for `cmy' and `cmyk'
 555.BR setcmykcolor ,
 556and for `gray'
 557.BR setgray .
 558Note that
 559.B setcmykcolor
 560is a PostScript LanguageLevel\~2 command and thus not available on some
 561older printers.
 562.
 563.LP
 564.B grops
 565understands various X\~commands produced using the
 566.B \[rs]X
 567escape sequence;
 568.B grops
 569will only interpret commands that begin with a
 570.B ps:
 571tag.
 572.
 573.TP
 574.BI \[rs]X'ps:\ exec\  code '
 575This executes the arbitrary PostScript commands in
 576.IR code .
 577.
 578The PostScript currentpoint will be set to the position of the
 579.B \[rs]X
 580command before executing
 581.IR code .
 582.
 583The origin will be at the top left corner of the page,
 584and y\~coordinates will increase down the page.
 585.
 586A procedure\~\c
 587.B u
 588will be defined that converts groff units
 589to the coordinate system in effect.
 590.
 591For example, 
 592.
 593.RS
 594.IP
 595.B
 596\&.nr x 1i
 597.br
 598.B
 599\[rs]X'ps: exec \[rs]nx u 0 rlineto stroke'
 600.br
 601.RE
 602.
 603.IP
 604will draw a horizontal line one inch long.
 605.
 606.I code
 607may make changes to the graphics state,
 608but any changes will persist only to the
 609end of the page.
 610.
 611A dictionary containing the definitions specified by the
 612.B def
 613and
 614.B mdef
 615will be on top of the dictionary stack.
 616.
 617If your code adds definitions to this dictionary,
 618you should allocate space for them using
 619.BI \[rs]X'ps\ mdef \ n '\fR.
 620.
 621Any definitions will persist only until the end of the page.
 622.
 623If you use the
 624.B \[rs]Y
 625escape sequence with an argument that names a macro,
 626.I code
 627can extend over multiple lines.
 628.
 629For example,
 630.
 631.RS
 632.IP
 633.nf
 634.ft B
 635\&.nr x 1i
 636\&.de y
 637\&ps: exec
 638\&\[rs]nx u 0 rlineto
 639\&stroke
 640\&..
 641\&\[rs]Yy
 642.fi
 643.ft R
 644.
 645.LP
 646is another way to draw a horizontal line one inch long.
 647.RE
 648.
 649.TP
 650.BI \[rs]X'ps:\ file\  name '
 651This is the same as the
 652.B exec
 653command except that the PostScript code is read from file
 654.IR name .
 655.
 656.TP
 657.BI \[rs]X'ps:\ def\  code '
 658Place a PostScript definition contained in
 659.I code
 660in the prologue.
 661.
 662There should be at most one definition per
 663.B \[rs]X
 664command.
 665.
 666Long definitions can be split over several
 667.B \[rs]X
 668commands;
 669all the
 670.I code
 671arguments are simply joined together separated by newlines.
 672.
 673The definitions are placed in a dictionary which is automatically
 674pushed on the dictionary stack when an
 675.B exec
 676command is executed.
 677.
 678If you use the
 679.B \[rs]Y
 680escape sequence with an argument that names a macro,
 681.I code
 682can extend over multiple lines.
 683.
 684.TP
 685.BI \[rs]X'ps:\ mdef\  n\ code  '
 686Like
 687.BR def ,
 688except that
 689.I code
 690may contain up to
 691.IR n \~\c
 692definitions.
 693.
 694.B grops
 695needs to know how many definitions
 696.I code
 697contains
 698so that it can create an appropriately sized PostScript dictionary
 699to contain them.
 700.
 701.TP
 702.BI \[rs]X'ps:\ import\  file\ llx\ lly\ urx\ ury\ width\ \fR[\fP\ height\ \fR]\fP '
 703Import a PostScript graphic from
 704.IR file .
 705.
 706The arguments
 707.IR llx ,
 708.IR lly ,
 709.IR urx ,
 710and
 711.I ury
 712give the bounding box of the graphic in the default PostScript
 713coordinate system; they should all be integers;
 714.I llx
 715and
 716.I lly
 717are the x and y\~coordinates of the lower left
 718corner of the graphic;
 719.I urx
 720and
 721.I ury
 722are the x and y\~coordinates of the upper right corner of the graphic;
 723.I width
 724and
 725.I height
 726are integers that give the desired width and height in groff
 727units of the graphic.
 728.
 729The graphic will be scaled so that it has this width and height
 730and translated so that the lower left corner of the graphic is
 731located at the position associated with
 732.B \[rs]X
 733command.
 734.
 735If the height argument is omitted it will be scaled uniformly in the
 736x and y\~directions so that it has the specified width.
 737.
 738Note that the contents of the
 739.B \[rs]X
 740command are not interpreted by
 741.BR troff ;
 742so vertical space for the graphic is not automatically added,
 743and the
 744.I width
 745and
 746.I height
 747arguments are not allowed to have attached scaling indicators.
 748.
 749If the PostScript file complies with the Adobe Document Structuring
 750Conventions and contains a
 751.B %%Bounding\%Box
 752comment, then the bounding box can be automatically
 753extracted from within groff by using the
 754.B psbb
 755request.
 756.
 757.IP
 758See
 759.BR groff_tmac (@MAN5EXT@)
 760for a description of the
 761.B PSPIC
 762macro which provides a convenient high-level interface for inclusion of
 763PostScript graphics.
 764.
 765.TP
 766.B \[rs]X'ps:\ invis'
 767.TQ
 768.B \[rs]X'ps:\ endinvis'
 769No output will be generated for text and drawing commands
 770that are bracketed with these
 771.B \[rs]X
 772commands.
 773.
 774These commands are intended for use when output from
 775.B troff
 776will be previewed before being processed with
 777.BR grops ;
 778if the previewer is unable to display certain characters
 779or other constructs, then other substitute characters or constructs
 780can be used for previewing by bracketing them with these
 781.B \[rs]X
 782commands.
 783.
 784.RS
 785.LP
 786For example,
 787.B \%gxditview
 788is not able to display a proper
 789.B \[rs](em
 790character because the standard X11 fonts do not provide it;
 791this problem can be overcome by executing the following
 792request
 793.
 794.IP
 795.ft B
 796.nf
 797\&.char \[rs](em \[rs]X'ps: invis'\[rs]
 798\[rs]Z'\[rs]v'-.25m'\[rs]h'.05m'\[rs]D'l .9m 0'\[rs]h'.05m''\[rs]
 799\[rs]X'ps: endinvis'\[rs](em
 800.ft
 801.fi
 802.
 803.LP
 804In this case,
 805.B \%gxditview
 806will be unable to display the
 807.B \[rs](em
 808character and will draw the line,
 809whereas
 810.B grops
 811will print the
 812.B \[rs](em
 813character
 814and ignore the line (this code is already in file
 815.B Xps.tmac
 816which will be loaded if a document intended for
 817.B grops
 818is previewed with
 819.BR \%gxditview ).
 820.RE
 821.
 822.LP
 823The input to
 824.B grops
 825must be in the format output by
 826.BR @g@troff (@MAN1EXT@).
 827.
 828This is described in
 829.BR groff_out (@MAN5EXT@).
 830.
 831.LP
 832In addition, the device and font description files for the device used
 833must meet certain requirements.
 834.
 835The device and font description files supplied for
 836.B ps
 837device meet all these requirements.
 838.
 839.BR afmtodit (@MAN1EXT@)
 840can be used to create font files from AFM files.
 841.
 842The resolution must be an integer multiple of\~72 times the
 843.BR sizescale .
 844.
 845The
 846.B ps
 847device uses a resolution of 72000 and a sizescale of 1000.
 848.
 849.LP
 850The device description file must contain a valid paper size; see
 851.BR groff_font (@MAN5EXT@)
 852for more information.
 853.
 854.LP
 855Each font description file must contain a command
 856.IP
 857.BI internalname\  psname
 858.LP
 859which says that the PostScript name of the font is
 860.IR psname .
 861.
 862It may also contain a command
 863.IP
 864.BI encoding\  enc_file
 865.LP
 866which says that
 867the PostScript font should be reencoded using the encoding described in
 868.IR enc_file ;
 869this file should consist of a sequence of lines of the form:
 870.IP
 871.I
 872pschar code
 873.LP
 874where
 875.I pschar
 876is the PostScript name of the character,
 877and
 878.I code
 879is its position in the encoding expressed as a decimal integer; valid
 880values are in the range 0 to\~255.
 881.
 882Lines starting with
 883.B #
 884and blank lines are ignored.
 885.
 886The code for each character given in the font file must correspond
 887to the code for the character in encoding file, or to the code in the default
 888encoding for the font if the PostScript font is not to be reencoded.
 889.
 890This code can be used with the
 891.B \[rs]N
 892escape sequence in
 893.B troff
 894to select the character,
 895even if the character does not have a groff name.
 896.
 897Every character in the font file must exist in the PostScript font, and 
 898the widths given in the font file must match the widths used
 899in the PostScript font.
 900.
 901.B grops
 902will assume that a character with a groff name of
 903.B space
 904is blank (makes no marks on the page);
 905it can make use of such a character to generate more efficient and
 906compact PostScript output.
 907.
 908.LP
 909Note that
 910.B grops
 911is able to display all glyphs in a PostScript font, not only 256.
 912.I enc_file
 913(or the default encoding if no encoding file specified) just defines the
 914order of glyphs for the first 256 characters; all other glyphs are
 915accessed with additional encoding vectors which
 916.B grops
 917produces on the fly.
 918.
 919.LP
 920.B grops
 921can automatically include the downloadable fonts necessary
 922to print the document.
 923Such fonts must be in PFA format.
 924Use
 925.BR pfbtops (@MAN1EXT@)
 926to convert a Type\~1 font in PFB format.
 927Any downloadable fonts which should, when required, be included by
 928.B grops
 929must be listed in the file
 930.BR @FONTDIR@/devps/download ;
 931this should consist of lines of the form
 932.
 933.IP
 934.I
 935font filename
 936.
 937.LP
 938where
 939.I font
 940is the PostScript name of the font,
 941and
 942.I filename
 943is the name of the file containing the font;
 944lines beginning with
 945.B #
 946and blank lines are ignored;
 947fields may be separated by tabs or spaces;
 948.I filename
 949will be searched for using the same mechanism that is used
 950for groff font metric files.
 951.
 952The
 953.B download
 954file itself will also be searched for using this mechanism;
 955currently, only the first found file in the font path is used.
 956.
 957.LP
 958If the file containing a downloadable font or imported document
 959conforms to the Adobe Document Structuring Conventions,
 960then
 961.B grops
 962will interpret any comments in the files sufficiently to ensure that its
 963own output is conforming.
 964.
 965It will also supply any needed font resources that are listed in the
 966.B download
 967file
 968as well as any needed file resources.
 969.
 970It is also able to handle inter-resource dependencies.
 971.
 972For example, suppose that you have a downloadable font called Garamond,
 973and also a downloadable font called Garamond-Outline
 974which depends on Garamond
 975(typically it would be defined to copy Garamond's font dictionary,
 976and change the PaintType),
 977then it is necessary for Garamond to appear before Garamond-Outline
 978in the PostScript document.
 979.
 980.B grops
 981will handle this automatically
 982provided that the downloadable font file for Garamond-Outline
 983indicates its dependence on Garamond by means of
 984the Document Structuring Conventions,
 985for example by beginning with the following lines
 986.
 987.IP
 988.B
 989%!PS-Adobe-3.0 Resource-Font
 990.br
 991.B
 992%%DocumentNeededResources: font Garamond
 993.br
 994.B
 995%%EndComments
 996.br
 997.B
 998%%IncludeResource: font Garamond
 999.
1000.LP
1001In this case both Garamond and Garamond-Outline would need to be listed
1002in the
1003.B download
1004file.
1005.
1006A downloadable font should not include its own name in a
1007.B %%Document\%Supplied\%Resources
1008comment.
1009.
1010.LP
1011.B grops
1012will not interpret 
1013.B %%Document\%Fonts
1014comments.
1015.
1016The
1017.BR %%Document\%Needed\%Resources ,
1018.BR %%Document\%Supplied\%Resources ,
1019.BR %%Include\%Resource ,
1020.BR %%Begin\%Resource ,
1021and
1022.BR %%End\%Resource
1023comments
1024(or possibly the old
1025.BR %%Document\%Needed\%Fonts ,
1026.BR %%Document\%Supplied\%Fonts ,
1027.BR %%Include\%Font ,
1028.BR %%Begin\%Font ,
1029and
1030.BR %%End\%Font
1031comments)
1032should be used.
1033.
1034.
1035.SS Encapsulated PostScript
1036.B grops
1037itself doesn't emit bounding box information.
1038.
1039With the help of GhostScript the following commands will produce an
1040encapsulated PS file
1041.B foo.eps
1042from input file
1043.BR foo :
1044.
1045.IP
1046.B
1047groff -P-b16 foo > foo.ps
1048.br
1049.B
1050gs -dNOPAUSE -sDEVICE=bbox -- foo.ps 2> foo.bbox
1051.br
1052.B
1053cat foo.ps | sed \-e '/%%Orientation/rfoo.bbx' > foo.eps
1054.br
1055.B
1056rm foo.bbx
1057.br
1058.
1059.
1060.
1061.SS TrueType fonts
1062TrueType fonts can be used with 
1063.B grops 
1064if converted first to 
1065.B "Type 42"
1066format, an especial PostScript wrapper equivalent to the
1067PFA format mentioned in
1068.BR pfbtops (@MAN1EXT@).
1069There are several different methods to generate a type42 
1070wrapper and most of them involve the use of a PostScript
1071interpreter such as Ghostscript \(em see
1072.BR gs (1).
1073Yet, the easiest method involves the use of the application 
1074.BR ttftot42 .
1075This program uses
1076.BR freetype (3)
1077(version 1.3.1) to generate type42
1078font wrappers and well-formed AFM files that can be fed to
1079the
1080.BR afmtodit (@MAN1EXT@)
1081script to create appropriate metric files.
1082The resulting font wrappers should be added to the
1083.B download
1084file.
1085.B ttftot42
1086source code can be downloaded from
1087.URL ftp://\:www.giga.or.at/\:pub/\:nih/\:ttftot42/ \
1088     ftp://\:www.giga.or.at/\:pub/\:nih/\:ttftot42/ .
1089.
1090.
1091.SH ENVIRONMENT
1092.TP
1093.SM
1094.B GROPS_PROLOGUE
1095If this is set to
1096.IR foo ,
1097then
1098.B grops
1099will use the file
1100.I foo
1101(in the font path) instead of the default prologue file
1102.BR prologue .
1103.
1104The option
1105.B \-P
1106overrides this environment variable.
1107.
1108.
1109.SH FILES
1110.Tp \w'\fB@FONTDIR@/devps/download'u+2n
1111.B @FONTDIR@/devps/DESC
1112Device description file.
1113.
1114.TP
1115.BI @FONTDIR@/devps/ F
1116Font description file for font
1117.IR F .
1118.
1119.TP
1120.B @FONTDIR@/devps/download
1121List of downloadable fonts.
1122.
1123.TP
1124.B @FONTDIR@/devps/text.enc
1125Encoding used for text fonts.
1126.
1127.TP
1128.B @MACRODIR@/ps.tmac
1129Macros for use with
1130.BR grops ;
1131automatically loaded by
1132.BR troffrc
1133.
1134.TP
1135.B @MACRODIR@/pspic.tmac
1136Definition of
1137.B PSPIC
1138macro,
1139automatically loaded by
1140.BR ps.tmac .
1141.
1142.TP
1143.B @MACRODIR@/psold.tmac
1144Macros to disable use of characters not present in older
1145PostScript printers (e.g. `eth' or `thorn').
1146.
1147.TP
1148.BI /tmp/grops XXXXXX
1149Temporary file.
1150.
1151.
1152.SH "SEE ALSO"
1153.BR afmtodit (@MAN1EXT@),
1154.BR groff (@MAN1EXT@),
1155.BR @g@troff (@MAN1EXT@),
1156.BR pfbtops (@MAN1EXT@),
1157.BR groff_out (@MAN5EXT@),
1158.BR groff_font (@MAN5EXT@),
1159.BR groff_char (@MAN7EXT@),
1160.BR groff_tmac (@MAN5EXT@)
1161.
1162.PP
1163.URL "http://\:partners.adobe.com/\:public/\:developer/\:en/\:ps/\:5001.DSC_Spec.pdf" \
1164     "PostScript Language Document Structuring Conventions Specification"
1165.
1166.cp \n[grops_C]
1167.
1168.\" Local Variables:
1169.\" mode: nroff
1170.\" End: