Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ENSCRIPT(1)			   ENSCRIPT			   ENSCRIPT(1)

NAME
       enscript	- convert text files to	PostScript, HTML, RTF, ANSI, and over-
       strikes

SYNOPSIS
       enscript	[-123456789BcgGhjkKlmOqrRvVzZ]	[-#  copies]  [-a  pages]  [-A
       align]  [-b  header]  [-C[start_line]]  [-d  printer]  [-D key[:value]]
       [-e[char]] [-E[lang]] [-f font] [-F header_font]	[-H[num]] [-i  indent]
       [-I  filter]  [-J title]	[-L lines_per_page] [-M	media] [-n copies] [-N
       newline]	[-o outputfile]	[-o -] [-p outputfile] [-p -] [-P printer] [-s
       baselineskip]  [-S  key[:value]]	[-t title] [-T tabsize]	[-u[text]] [-U
       num] [-w	language] [-X encoding]	[filename ...]

DESCRIPTION
       Enscript	converts text files to PostScript  or  to  other  output  lan-
       guages.	 Enscript  can spool the generated output directly to a	speci-
       fied printer or leave it	to a file.  If no input	files are  given,  en-
       script processes	the standard input stdin.  Enscript can	be extended to
       handle different	output media and it has	many options which can be used
       to customize the	printouts.

OPTIONS
       -# num  Print num copies	of each	page.

       -1, -2, -3, -4, -5, -6, -7, -8, -9, --columns=num
	       Specify	how many columns each page have.  With the long	option
	       --columns=num you can specify more than 9 columns per page.

       -a pages, --pages=pages
	       Specify which pages are printed.	 The page specification	 pages
	       can be given in the following formats:

	       begin-end
		       print pages from	begin to end

	       -end    print pages from	0 to end

	       begin-  print pages from	begin to end

	       page    print page page

	       odd     print odd pages

	       even    print even pages

       -A align, --file-align=align
	       Align  separate input files to even align page count.  This op-
	       tion is useful in two-side and 2-up printings (--file-align=2).

       -b header, --header=header
	       Use the text header as a	page header.  The default page	header
	       is constructed from the name of the file	and from its last mod-
	       ification time.

	       The header string header	can contain the	 same  formatting  es-
	       capes  which can	be specified for the %Format directives	in the
	       user defined fancy headers.  For	example, the following	option
	       prints the file name, current date and page numbers:

	       enscript	--header='$n %W	Page $%	of $=' *.c

	       The  header string can also contain left, center	and right jus-
	       tified fields.  The fields are separated	by the '|' character:

	       enscript	--header='$n|%W|Page $%	of $=' *.c

	       now the file name is printed left justified, the	date  is  cen-
	       tered to	the header and the page	numbers	are printed right jus-
	       tified.

       -B, --no-header
	       Do not print page headers.

       -c, --truncate-lines
	       Cut lines that are too long for the page.  As  a	 default,  en-
	       script  wraps  long lines to the	next line so no	information is
	       lost.

	       You can also use	the --slice option which slices	long lines  to
	       separate	pages.

       -C[start_line], --line-numbers[=start_line]
	       Precede	each line with its line	number.	 The optional argument
	       start_line specifies the	number of the first line in the	input.
	       The number of the first line defaults to	1.

       -d name Spool output to the printer name.

       -D key[:value], --setpagedevice=key[:value]
	       Pass  a page device definition to the generated PostScript out-
	       put.  If	no value is given, the key key	is  removed  from  the
	       definitions.

	       For example, the	command

	       enscript	-DDuplex:true foo.txt

	       prints file foo.txt in duplex (two side)	mode.

	       Page device operators are implementation	dependent but they are
	       standardized.  See section PAGE DEVICE OPTIONS for the details.

       -e[char], --escapes[=char]
	       Enable special escapes interpretation (see section SPECIAL  ES-
	       CAPES).	 If  the argument char is given, it changes the	escape
	       character to char.  The default escape character	is 0.

       -E[lang], --highlight[=lang]
	       Highlight source	code by	creating a special input  filter  with
	       the  states  program.  The optional argument lang specifies the
	       language	to highlight.  As a default the	states makes  an  edu-
	       cated guess.

	       You can print a short description of the	supported highlighting
	       languages and file formats with the command:

	       enscript	--help-highlight

	       The highlighting	rules are defined in the `/usr/local/share/en-
	       script/hl/*.st'	files which can	be edited to create highlight-
	       ing definitions for new languages.

	       Note! You can not use your own input filters with this option.

       -f name,	--font=name
	       Select a	font that is used for the body text.  The default body
	       font  is	 Courier10, unless multicolumn landscape printing mode
	       is selected, in which case the default font is Courier7.

	       The font	specification name contains two	parts: the name	of the
	       font   and   its	 size  in  PostScript  points.	 For  example,
	       "Times-Roman12" selects the "Times-Roman" font with size	12pt.

	       The font	 specification	name  can  also	 be  given  in	format
	       `name@ptsize',  where  the  name	of the font and	its point size
	       are separated by	a `@' character.  This allows enscript to  use
	       fonts which contain digit characters in their names.

	       The   font   point  size	 can  also  be	given  in  the	format
	       width/height where the width and	the height specify the size of
	       the  font  in  x-  and  y-directions.   For example, "Times-Ro-
	       man@10/12"  selects  a  10  points  wide	 and  12  points  high
	       "Times-Roman" font.

	       You can also give the font sizes	as decimal numbers.  For exam-
	       ple, "Times-Roman10.2" selects a	10.2pt "Times-Roman" font.

       -F name,	--header-font=name
	       Select a	font for the header texts.

       -g, --print-anyway
	       Print a file even if it contains	binary data.   The  option  is
	       implemented  only  for compatibility purposes.  Enscript	prints
	       binary files anyway regardless of the option.

       -G, --fancy-header[=name]
	       Print a fancy page header name to the top of  each  page.   The
	       option -G specifies the default fancy header.  See section CON-
	       FIGURATION FILES	to see how the default	fancy  header  can  be
	       changed.

       -h, --no-job-header
	       Suppress	printing of the	job header page.

       -H[num],	--highlight-bars[=num]
	       Specify	how  high the highlight	bars are in lines.  If the num
	       is not given, the default value 2 is used.  As  a  default,  no
	       highlight bars are printed.

       -i num, --indent=num
	       Indent  every line num characters.  The indentation can also be
	       specified in other units	by appending an	unit  specifier	 after
	       the number.  The	possible unit specifiers and the corresponding
	       units are:

	       c       centimeters

	       i       inches

	       l       characters (default)

	       p       PostScript points

       -I filter, --filter=filter
	       Read all	input files through an input filter filter.  The input
	       filter can be a single command or a command pipeline.  The fil-
	       ter can refer to	the name of the	input  file  with  the	escape
	       `%s'.   The  name of the	standard input can be changed with the
	       option `--filter-stdin'.

	       For example, the	following command prints the file  `foo.c'  by
	       using only upper-case characters:

	       enscript	--filter="cat %s | tr 'a-z' 'A-Z'" foo.c

	       The  following  command	highlights  changes  which are made to
	       files since the last checkout:

	       enscript	--filter="rcsdiff %s | diffpp %s" -e *.c

	       To include the string "%s" to  the  filter  command,  you  must
	       write it	as "%%s".

       -j, --borders
	       Print borders around columns.

       -J title
	       An alias	for the	option -t, --title.

       -k, --page-prefeed
	       Enable page prefeed.

       -K, --no-page-prefeed
	       Disable page prefeed (default).

       -l, --lineprinter
	       Emulate lineprinter.  This option is a shortcut for the options
	       --lines-per-page=66, and	--no-header.

       -L num, --lines-per-page=num
	       Print only num lines for	each page.  As a default,  the	number
	       of  lines  per page is computed from the	height of the page and
	       from the	size of	the font.

       -m, --mail
	       Send a mail notification	to user	after the print	job  has  been
	       completed.

       -M name,	--media=name
	       Select  an  output media	name.  Enscript's default output media
	       is Letter.

       -n num, --copies=num
	       Print num copies	of each	page.

       -N nl, --newline=nl
	       Select the newline character.  The possible values for nl  are:
	       n (unix newline,	0xa hex) and r (mac newline, 0xd hex).

       -o file An alias	for the	option -p, --output.

       -O, --missing-characters
	       Print a listing of character codes which	couldn't be printed.

       -p file,	--output=file
	       Leave  the  output  to file file.  If the file is `-', enscript
	       sends the output	to the standard	output stdout.

       -P name,	--printer=name
	       Spool the output	to the printer name.

       -q, --quiet, --silent
	       Make enscript really quiet.   Only  fatal  error	 messages  are
	       printed to stderr.

       -r, --landscape
	       Print in	the landscape mode; rotate page	90 degrees.

       -R, --portrait
	       Print in	the portrait mode (default).

       -s num, --baselineskip=num
	       Specify the baseline skip in PostScript points.	The number num
	       can be given as a decimal number.   When	 enscript  moves  from
	       line  to	 line,	the  current point y coordinate	is moved (font
	       point size + baselineskip) points down.	The  default  baseline
	       skip is 1.

       -S key[:value], --statusdict=key[:value]
	       Pass  a	statusdict definition to the generated PostScript out-
	       put.  If	no value is given, the key key	is  removed  from  the
	       definitions.

	       The  statusdict operators are implementation dependent; see the
	       printer's documentation for the details.

	       For example, the	command

	       enscript	-Ssetpapertray:1 foo.txt

	       prints the file foo.txt by using	paper from the	paper  tray  1
	       (assuming that the printer supports paper tray selection).

       -t title, --title=title
	       Set banner page's job title to title.  The option sets also the
	       name of the input file stdin.

       -T num, --tabsize=num
	       Set the tabulator size to num characters.  The default is 8.

       -u[text], --underlay[=text]
	       Print the string	text under every page.	The properties of  the
	       text  can  be  changed  with the	options	--ul-angle, --ul-font,
	       --ul-gray, --ul-position, and --ul-style.

	       If no text is given, the	underlay is not	printed.  This can  be
	       used  to	 remove	 an  underlay text that	was specified with the
	       `Underlay' configuration	file option.

       -U num, --nup=num
	       Print num logical pages on each output  page  (N-up  printing).
	       The values num must be a	power of 2.

       -v, --verbose[=level]
	       Tell what enscript is doing.

       -V, --version
	       Print enscript version information and exit.

       -w [lang], --language[=lang]
	       Generate	output for the language	lang.  The possible values for
	       lang are:

	       PostScript
		       generate	PostScript (default)

	       html    generate	HTML

	       overstrike
		       generate	overstrikes (line printers, less)

	       rtf     generate	RTF (Rich Text Format)

	       ansi    generate	ANSI terminal control codes

       -X name,	--encoding=name
	       Use the input encoding name.  Currently enscript	 supports  the
	       following encodings:

	       88591, latin1
		       ISO-8859-1 (ISO Latin1) (enscript's default encoding).

	       88592, latin2
		       ISO-8859-2 (ISO Latin2)

	       88593, latin3
		       ISO-8859-3 (ISO Latin3)

	       88594, latin4
		       ISO-8859-4 (ISO Latin4)

	       88595, cyrillic
		       ISO-8859-5 (ISO Cyrillic)

	       88597, greek
		       ISO-8859-7 (ISO Greek)

	       88599, latin5
		       ISO-8859-9 (ISO Latin5)

	       885910, latin6
		       ISO-8859-10 (ISO	Latin6)

	       ascii   7-bit ascii

	       asciifise, asciifi, asciise
		       7-bit  ascii  with  some	scandinavian (Finland, Sweden)
		       extensions

	       asciidkno, asciidk, asciino
		       7-bit ascii with	some  scandinavian  (Denmark,  Norway)
		       extensions

	       ibmpc, pc, dos
		       IBM PC charset

	       mac     Mac charset

	       vms     VMS multinational charset

	       hp8     HP Roman-8 charset

	       koi8    Adobe Standard Cyrillic Font KOI8 charset

	       ps, PS  PostScript font's default encoding

	       pslatin1, ISOLatin1Encoding
		       PostScript interpreter's	`ISOLatin1Encoding'

       -z, --no-formfeed
	       Turn off	the form feed character	interpretation.

       -Z, --pass-through
	       Pass through all	PostScript and PCL files without any modifica-
	       tions.  This allows that	enscript can be	used as	a lp filter.

	       The PostScript files are	recognized  by	looking	 up  the  `%!'
	       magic  cookie  from  the	 beginning of the file.	Note! Enscript
	       recognized also the Windoze damaged `^D%!' cookie.

	       The PCL files are recognized by looking up the `^[E'  or	 `^[%'
	       magic cookies from the beginning	of the file.

       --color[=bool]
	       Use colors in the highlighting outputs.

       --download-font=fontname
	       Include	the  font  description file (.pfa or .pfb file)	of the
	       font fontname to	the generated output.

       --extended-return-values
	       Enable extended return values.  As a default, enscript  returns
	       1  on  error  and 0 otherwise.  The extended return values give
	       more details about the printing operation.  See the section RE-
	       TURN VALUE for the details.

       --filter-stdin=name
	       Specify	how  the  stdin	is shown to the	input filter.  The de-
	       fault value is an empty string ("") but some  programs  require
	       that the	stdin is called	something else,	usually	"-".

       --footer=footer
	       Use  the	 text  footer  as a page footer.  Otherwise the	option
	       works like the --header option

       --h-column-height=height
	       Set the	horizontal  column  height  to	be  height  PostScript
	       points.	 The  option sets the formfeed type to horizontal-col-
	       umns.

       --help  Print a short help message and exit.

       --help-highlight
	       Describe	all supported --highlight languages and	file formats.

       --highlight-bar-gray=gray
	       Specify the gray	level which is used in printing	the  highlight
	       bars.

       --list-media
	       List the	names of all known output media	and exit successfully.

       --margins=left:right:top:bottom
	       Adjust  the  page  marginals to be exactly left,	right, top and
	       bottom PostScript points.  Any of the  arguments	 can  be  left
	       empty in	which case the default value is	used.

       --mark-wrapped-lines[=style]
	       Mark  wrapped  lines  in	 the output with the style style.  The
	       possible	values for the style are:

	       none    do not mark them	(default)

	       plus    print a plus (+)	character to the end of	 each  wrapped
		       line

	       box     print a black box to the	end of each wrapped line

	       arrow   print a small arrow to the end of each wrapped line

       --non-printable-format=format
	       Specify how the non-printable characters	are printed.  The pos-
	       sible values for	the format are:

	       caret   caret notation: `^@', `^A', `^B', ...

	       octal   octal notation: `\000', `\001', `\002', ... (default)

	       questionmark
		       replace non-printable characters	with a	question  mark
		       `?'

	       space   replace non-printable characters	with a space ` '

       --nup-columnwise
	       Change  the  layout  of the sub-pages in	the N-up printing from
	       row-wise	to columnwise.

       --nup-xpad=num
	       Set the page x-padding of the n-up printing to  num  PostScript
	       points.	The default is 10 points.

       --nup-ypad=num
	       Set  the	 page y-padding	of the n-up printing to	num PostScript
	       points.	The default is 10 points.

       --page-label-format=format
	       Set the page label format to format.   The  page	 label	format
	       specifies  how the labels for the `%%Page:' PostScript comments
	       are formatted.  The possible values are:

	       short   Print the current pagenumber: `%%Page: (1) 1' (default)

	       long    Print the current  filename  and	 pagenumber:  `%%Page:
		       (main.c:	 1) 1'

       --ps-level=level
	       Set  the	 PostScript  language level that enscript uses for its
	       output to level.	 The possible values are 1, and	2.

       --printer-options=options
	       Pass extra options to the printer command.

       --rotate-even-pages
	       Rotate each even-numbered page 180 degrees.

       --slice=num
	       Print the vertical slice	num.  The slices are vertical  regions
	       of  input  files.   A new slice starts from the point where the
	       line would otherwise be wrapped to the next  line.   The	 slice
	       numbers start from 1.

       --style=style
	       Set  the	highlighting style to style.  The possible values are:
	       a2ps, emacs, emacs_verbose, ifh,	and msvc.

       --swap-even-page-margins
	       Swap left and right page	margins	for even-numbered pages.

       --toc   Print a table of	contents to the	end of the output.

       --word-wrap
	       Wrap long lines from word boundaries.

       --ul-angle=angle
	       Set the angle of	the underlay text to angle.  As	a default, the
	       angle is	atan(-d_page_h,	d_page_w).

       --ul-font=name
	       Select a	font for the underlay text.  The default underlay font
	       is Times-Roman200.

       --ul-gray=num
	       Print the underlay text with the	gray value num (0 ... 1),  the
	       default gray value is .8.

       --ul-position=position_spec
	       Set  the	underlay text's	starting position according to the po-
	       sition_spec.  The position specification	must be	given in  for-
	       mat:  `sign xpos	sign ypos', where the sign must	be `+' or `-'.
	       The positive dimensions are measured from the lower left	corner
	       and  the	 negative dimensions from the upper right corner.  For
	       example,	the specification `+0-0' specifies the upper left cor-
	       ner and `-0+0' specifies	the lower right	corner.

       --ul-style=style
	       Set  the	 underlay  text's style	to style.  The possible	values
	       for style are:

	       outline print outline underlay texts (default)

	       filled  print filled underlay texts

CONFIGURATION FILES
       Enscript	reads configuration information	from the following sources (in
       this  order):  command  line  options,  environment  variable ENSCRIPT,
       user's personal configuration file ($HOME/.enscriptrc), site configura-
       tion file (/usr/local/etc/enscriptsite.cfg) and system's	global config-
       uration file (/usr/local/etc/enscript.cfg).

       The configuration files have the	following format:

       Empty lines and lines starting with `#' are comments.

       All other lines are option lines	and have format:

       option [arguments ...].

       The following options can be specified:

       AcceptCompositeCharacters: bool
	       Specify whether PostScript font's composite characters are  ac-
	       cepted  as printable or if they should be considered as non-ex-
	       istent.	The default value is false (0).

       AFMPath:	path
	       Specifies the search path for the AFM files.

       AppendCtrlD: bool
	       Specify if the Control-D	(^D) character should be  appended  to
	       the end of the output.  The default value is false (0).

       Clean7Bit: bool
	       Specify	how characters greater than 127	are printed.  The val-
	       uee true	(1) generates 7-bit clean code by escaping all charac-
	       ters  greater  than  127	 to  the backslash-octal notation (de-
	       fault).	The value false	(0) generates  8-bit  PostScript  code
	       leaving all characters untouched.

       DefaultEncoding:	name
	       Select  the default input encoding.  The	encoding name name can
	       be one of the values of the option -X, --encoding.

       DefaultFancyHeader: name
	       Select the default fancy	header.	 The default  header  is  used
	       when the	option -G is specified or the option --fancy-header is
	       given without an	argument.  The	system-wide  default  is  `en-
	       script'.

       DefaultMedia: name
	       Select the default output media.

       DefaultOutputMethod: method
	       Select  the  default  target  to	 which the generated output is
	       sent.  The possible values for the method are:

	       printer send output to printer (default)

	       stdout  send output to stdout

       DownloadFont: fontname
	       Include the font	description file of the	font fontname  to  the
	       generated output.

       EscapeChar: num
	       Specify	the escape character for the special escapes.  The de-
	       fault value is 0.

       FormFeedType: type
	       Specify what to do when a  formfeed  character  is  encountered
	       from the	input.	The possible values for	type are:

	       column  move to the beginning of	the next column	(default)

	       page    move to the beginning of	the next page

       GeneratePageSize: bool
	       Specify	whether	 the PageSize page device setting is generated
	       to the PostScript output.  The default value is true (1).

       HighlightBarGray: gray
	       Specify the gray	level which is used  to	 print	the  highlight
	       bars.

       HighlightBars: num
	       Specify	how high the highlight bars are	in lines.  The default
	       value is	0 which	means that no highlight	bars are printed.

       LibraryPath: path
	       Specifies the enscript's	library	path that is  used  to	lookup
	       various	resources.  The	default	path is: `/usr/local/share/en-
	       script:home/.enscript'.	Where the home is the user's home  di-
	       rectory.

       MarkWrappedLines: style
	       Mark wraped lines in the	output with the	style style.  The pos-
	       sible values for	the format are the same	which can be given for
	       the --mark-wrapped-lines	option.

       Media: name width height	llx lly	urx ury
	       Add a new output	media with the name name.  The physical	dimen-
	       sions of	the media are width and	height.	 The bounding  box  of
	       the Media is specified by the points (llx, lly) and (urx, ury).
	       Enscript	prints all graphics inside the bounding	box of the me-
	       dia.

	       User can	select this media with option -M name.

       NoJobHeaderSwitch: switch
	       Specify	the  spooler  option  to suppress the print job	header
	       page.  This option is passed to the printer  spooler  when  the
	       enscript's option -h, --no-job-header is	selected.

       NonPrintableFormat: format
	       Specify how the non-printable characters	are printed.  The pos-
	       sible values for	format are the same which can be given for the
	       --non-printable-format option.

       OutputFirstLine:	line
	       Set  the	 PostScript  output's first line to line.  The default
	       value is	PS-Adobe-3.0.  Since some printers  do	not  like  DSC
	       levels  greater than 2.0, this option can be used to change the
	       output  first  line  to	something  more	 suitable  like	 %!PS-
	       Adobe-2.0 or %!.

       PageLabelFormat:	format
	       Set  the	 page label format to format.  The possible values for
	       format are the same which  can  be  given  for  the  --page-la-
	       bel-format option.

       PagePrefeed: bool
	       Enable /	disable	page prefeed.  The default value is false (0).

       PostScriptLevel:	level
	       Set  the	 PostScript language level, that enscript uses for its
	       output, to level.  The possible values for level	are  the  same
	       which can be given for the --ps-level option.

       Printer:	name
	       Names the printer to which the output is	spooled.

       QueueParam: name
	       The spooler command switch to select the	printer	queue, e.g. -P
	       in lpr -Pps.  This option can also be used to pass other	 flags
	       to the spooler command.	These options must be given before the
	       queue switch.

       SetPageDevice: key[:value]
	       Pass a page device definition to	the generated PostScript  out-
	       put.

       Spooler:	name
	       Names  the  printer  spooler command.  Enscript pipes generated
	       PostScript to the command name.

       StatesBinary: path
	       Define an absolute path to the states program.

       StatesColor: bool
	       Should the states program generate color	outputs.

       StatesConfigFile: file
	       Read highlighting states	configuration from the file file.  The
	       default	 config	  file	 is  `/usr/local/share/enscript/hl/en-
	       script.st'.

       StatesHighlightStyle: style
	       Set the highlight style to style.

       StatesPath: path
	       Define the path for the states  program.	  The  states  program
	       will lookup its state definition	files from this	path.  The de-
	       fault value is `$HOME/.enscript:/usr/local/share/enscript/hl'.

       StatusDict: key[:value]
	       Pass a statusdict definition to the generated  PostScript  out-
	       put.

       TOCFormat: format
	       Format table of contents	entries	with the format	string format.
	       The format string format	can contain the	same escapes which are
	       used  to	 format	header strings with the	`%Format' special com-
	       ment.

       Underlay: text
	       Print string text under every page.

       UnderlayAngle: num
	       Set the angle of	the underlay text to num.

       UnderlayFont: fontspec
	       Select a	font for the underlay text.

       UnderlayGray: num
	       Print the underlay text with the	gray value num.

       UnderlayPosition: position_spec
	       Set the underlay	text's starting	position according to the  po-
	       sition_spec.

       UnderlayStyle: style
	       Set the underlay	text's style to	style.

FANCY HEADERS
       Users  can create their own fancy headers by creating a header descrip-
       tion file and placing it	in a directory which is	in enscript's  library
       path.  The name of the header file must be in format: `headername.hdr'.
       Header can be selected by giving	option:	--fancy-header=headername.

       Header description  file	 contains  PostScript  code  that  paints  the
       header.	 Description  file  must  provide procedure do_header which is
       called by enscript at the beginning of every page.

       Header description file contains	two parts: comments and	 code.	 Parts
       are separated by	a line containing text:

       % -- code follows this line --

       Enscript	copies only the	code part of description file to the generated
       PostScript output.  The comments	part can contain any data, it  is  not
       copied.	If separator line is missing, no data is copied	to output.

       Enscript	 defines  following  constants which can be used in header de-
       scription files:

       d_page_w	       page width

       d_page_h	       page height

       d_header_x      header lower left x coordinate

       d_header_y      header lower left y coordinate

       d_header_w      header width

       d_header_h      header height

       d_footer_x      footer lower left x coordinate

       d_footer_y      footer lower left y coordinate

       d_footer_w      footer width

       d_footer_h      footer height

       d_output_w      width of	the text output	area

       d_output_h      height of the text output area

       user_header_p   predicate which tells if	user has defined  his/her  own
		       header string: true/false

       user_header_left_str
		       if user_header_p	is true, this is the left field	of the
		       user supplied header string.

       user_header_center_str
		       if user_header_p	is true, this is the center  field  of
		       the user	supplied header	string

       user_header_right_str
		       if  user_header_p  is  true, this is the	right field of
		       the user	supplied header	string

       user_footer_p   predicate which tells if	user has defined  his/her  own
		       footer string: true/false

       user_footer_left_str
		       if user_footer_p	is true, this is the left field	of the
		       user supplied footer string.

       user_footer_center_str
		       if user_footer_p	is true, this is the center  field  of
		       the user	supplied footer	string

       user_footer_right_str
		       if  user_footer_p  is  true, this is the	right field of
		       the user	supplied footer	string

       HF	       standard	header font (from -F,  --header-font  option).
		       This  can  be  selected simply by invoking command: `HF
		       setfont'.

       pagenum	       the number of the current page

       fname	       the full	name of	the printed file (/foo/bar.c)

       fdir	       the directory part of the file name (/foo)

       ftail	       file name without the directory part (bar.c)

       gs_languagelevel
		       PostScript interpreter's	language level (currently 1 or
		       2)

       You can also use	the following special comments to customize your head-
       ers and to specify some extra options.  Special comments	are  like  DSC
       comments	 but  they start with a	single `%' character; special comments
       start from the beginning	of the line and	they have the  following  syn-
       tax:

       %commentname: options

       Currently enscript support the following	special	comments:

       %Format:	name format
	       Define  a  new  string  constant	 name  according to the	format
	       string format.  Format string start from	 the  first  non-space
	       character  and  it  ends	to the end of the line.	 Format	string
	       can contain general `%' escapes and input file related `$'  es-
	       capes.  Currently following escapes are supported:

	       %%      character `%'

	       $$      character `$'

	       $%      current page number

	       $=      number of pages in the current file

	       $p      number of pages processed so far

	       $(VAR)  value of	the environment	variable VAR.

	       %c      trailing	component of the current working directory

	       %C ($C) current	time  (file  modification  time) in `hh:mm:ss'
		       format

	       %d      current working directory

	       %D ($D) current date (file  modification	 date)	in  `yy-mm-dd'
		       format

	       %D{string} ($D{string})
		       format  string  string  with  the strftime(3) function.
		       `%D{}' refers to	the current date and `$D{}' to the in-
		       put file's last modification date.

	       %E ($E) current	date  (file  modification  date) in `yy/mm/dd'
		       format

	       %F ($F) current date (file modification date)  in  `dd.mm.yyyy'
		       format

	       %H      document	title

	       $L      number  of  lines  in  the current input	file.  This is
		       valid only for the toc entries, it  can't  be  used  in
		       header strings.

	       %m      the hostname up to the first `.'	character

	       %M      the full	hostname

	       %n      the user	login name

	       $n      input file name without the directory part

	       %N      the user's pw_gecos field up to the first `,' character

	       $N      the full	input file name

	       %t ($t) current	time (file modification	time) in 12-hour am/pm
		       format

	       %T ($T) current time (file modification time) in	24-hour	format
		       `hh:mm'

	       %* ($*) current time (file modification time) in	24-hour	format
		       with seconds `hh:mm:ss'

	       $v      the sequence number of the current input	file

	       $V      the sequence number of the current input	 file  in  the
		       `Table  of  Contents'  format:  if  the --toc option is
		       given, escape expands to	`num-';	if the	--toc  is  not
		       given, escape expands to	an empty string.

	       %W ($W) current	date  (file  modification  date) in `mm/dd/yy'
		       format

	       All format directives except `$=' can also be given in format

	       escape width directive

	       where width specifies the width of the column to	which the  es-
	       cape  is	 printed.   For	 example,  escape "$5%"	will expand to
	       something like "	12".  If the width is negative,	the value will
	       be printed left-justified.

	       For  example,  the `emacs.hdr' defines its date string with the
	       following format	comment:

	       %Format:	eurdatestr %E

	       which expands to:

	       /eurdatestr (96/01/08) def

       %HeaderHeight: height
	       Allocate	height points space for	the page header.  The  default
	       header height is	36 points.

       %FooterHeight: height
	       Allocate	 height	points space for the page footer.  The default
	       footer height is	0 points.

       According to Adobe's Document Structuring Conventions  (DSC),  all  re-
       sources	needed	by  a  document	 must  be listed in document's prolog.
       Since user's can	create their own headers, enscript don't know what re-
       sources those headers use.  That's why all headers must contain a stan-
       dard DSC	comment	that lists all needed resources.   For	example,  used
       fonts can be listed with	following comment:

       %%DocumentNeededResources: font fontname1 fontname2

       Comment	can  be	continued to the next line with	the standard continua-
       tion comment:

       %%+ font	fontname3

SPECIAL	ESCAPES
       Enscript	supports special escape	sequences which	can  be	 used  to  add
       some  page  formatting commands to ASCII	documents.  As a default, spe-
       cial escapes interpretation is off, so all ASCII	files print out	as ev-
       eryone  expects.	 Special escapes interpretation	is activated by	giving
       option -e, --escapes to enscript.

       All special escapes start with the escape character.  The  default  es-
       cape  character is ^@ (octal 000); escape character can be changed with
       option -e, --escapes.  Escape character is followed  by	escape's  name
       and optional options and	arguments.

       Currently enscript supports following escapes:

       bgcolor change the text background color.  The syntax of	the escape is:

	       ^@bgcolor{red green blue}

	       where  the  color  components red, green, and blue are given as
	       decimal numbers between values 0	and 1.

       bggray  change the text background color.  The syntax of	the escape is:

	       ^@bggray{gray}

	       where gray is the new text background gray value.  The  default
	       value is	1.0 (white).

       color   change the text color.  The syntax of the escape	is:

	       ^@color{red green blue}

	       where color components red, green and blue are given as decimal
	       numbers between values 0	and 1.

       comment comment the rest	of the line including the  newline  character.
	       Escape's	syntax is:

	       ^@comment text newline_character

       escape  change the escape character.  The syntax	of the escape is:

	       ^@escape{code}

	       where code is the decimal code of the new escape	character.

       epsf    inline EPS file to the document.	 The syntax of the escape is:

	       ^@epsf[options]{filename}

	       where  options is an optional sequence of option	characters and
	       values enclosed with brackets and filename is the name  of  the
	       EPS file.

	       If filename ends	to the `|' character, then filename is assumed
	       to name a command that prints EPS data to its standard  output.
	       In  this	 case,	enscript opens a pipe to the specified command
	       and reads EPS data from pipe.

	       Following options can be	given for the epsf escape:

	       c       print image centered

	       r       print image right justified

	       n       do not  update  current	point.	 Following  output  is
		       printed	to  that  position where the current point was
		       just before the epsf escape

	       nx      do not update current point x coordinate

	       ny      do not update current point y coordinate

	       xnum    move image's top	left x coordinate num characters  from
		       current point x coordinate (relative position)

	       xnuma   set  image's top	left x coordinate to column num	(abso-
		       lute position)

	       ynum    move image's top	left y coordinate num lines from  cur-
		       rent line (relative position)

	       ynuma   set image's top left y coordinate to line num (absolute
		       position)

	       hnum    set image's height to num lines

	       snum    scale image with	factor num

	       sxnum   scale image in x	direction with factor num

	       synum   scale image in y	direction with factor num

	       As a default, all dimensions are	given in lines (vertical)  and
	       characters  (horizontal).   You can also	specify	other units by
	       appending an unit specifier after number.  Possible unit	speci-
	       fiers and the corresponding units are:

	       c       centimeters

	       i       inches

	       l       lines or	characters (default)

	       p       PostScript points

	       For  example  to	 print an image	one inch high, you can specify
	       height by following options: h1i	(1 inch),  h2.54c  (2.54  cm),
	       h72p (72	points).

       font    select current font.  The syntax	of the escape is:

	       ^@font{fontname[:encoding]}

	       where  fontname is a standard font specification.  Special font
	       specification default can be used to select  the	 default  body
	       font  (enscript's  default  or the one specified	by the command
	       line option -f, --font).

	       The optional argument  encoding	specifies  the	encoding  that
	       should  be  used	 for the new font.  Currently the encoding can
	       only be the enscript's global input encoding or ps.

       ps      include raw PostScript code to the output.  The syntax  of  the
	       escape is:

	       ^@ps{code}

       shade   highlight  regions  of  text  by	 changing  the text background
	       color.  Escape's	syntax is:

	       ^@shade{gray}

	       where gray is the new text background gray value.  The  default
	       value is	1.0 (white) which disables highlighting.

PAGE DEVICE OPTIONS
       Page  device is a PostScript level 2 feature that offers	an uniform in-
       terface to control printer's output device.  Enscript protects all page
       device options inside an	if block so they have no effect	in level 1 in-
       terpreters.  Although all level 2  interpreters	support	 page  device,
       they  do	not have to support all	page device options.  For example some
       printers	can print in duplex mode and some can not.  Refer to the docu-
       mentation of your printer for supported options.

       Here are	some usable page device	options	which can be selected with the
       -D, --setpagedevice option.  For	a  complete  listing,  see  PostScript
       Language	Reference Manual: section 4.11 Device Setup.

       Collate boolean
	       how output is organized when printing multiple copies

       Duplex boolean
	       duplex (two side) printing

       ManualFeed boolean
	       manual feed paper tray

       OutputFaceUp boolean
	       print output `face up' or `face down'

       Tumble boolean
	       how opposite sides are positioned in duplex printing

PRINTING EXAMPLES
       Following  printing examples assume that	enscript uses the default con-
       figuration.  If default actions have been changed from  the  configura-
       tion files, some	examples will behave differently.

       enscript	foo.txt
	       Print file foo.txt to the default printer.

       enscript	-Possu foo.txt
	       Print file foo.txt to printer ossu.

       enscript	-pfoo.ps foo.txt
	       Print file foo.txt, but leave PostScript	output to file foo.ps.

       enscript	-2 foo.txt
	       Print file foo.txt to two columns.

       enscript	-2r foo.txt
	       Print  file  to two columns and rotate output 90	degrees	(land-
	       scape).

       enscript	-DDuplex:true foo.txt
	       Print file in duplex (two side) mode (printer dependent).

       enscript	-G2rE -U2 foo.c
	       My default code printing	command: gaudy	header,	 two  columns,
	       landscape, code highlighting, 2-up printing.

       enscript	-E --color -whtml --toc	-pfoo.html *.h *.c
	       A nice HTML report of your project's C source files.

ENVIRONMENT VARIABLES
       The  environment	 variable ENSCRIPT can be used to pass default options
       for enscript.  For example, to select  the  default  body  font	to  be
       Times-Roman  7pt,  set  the following value to the ENSCRIPT environment
       variable:

       -fTimes-Roman7

       The value of the	ENSCRIPT variable is processed before the command line
       options,	 so  command  line  options can	be used	to overwrite these de-
       faults.

       Variable	ENSCRIPT_LIBRARY specifies the enscript's  library  directory.
       It  can be used to overwrite the	build-in default `/usr/local/share/en-
       script'.

RETURN VALUE
       Enscript	returns	value 1	to the shell if	any errors were	encountered or
       0 otherwise.  If	the option --extended-return-values was	specified, the
       return value is constructed from	the following flags:

       0       no errors or warnings

       2       some lines were truncated or wrapped

       4       some characters were missing from the used fonts

       8       some characters were unprintable

FILES
       /usr/local/share/enscript/*.hdr	       header files
       /usr/local/share/enscript/*.enc	       input encoding vectors
       /usr/local/share/enscript/enscript.pro  PostScript prolog
       /usr/local/share/enscript/afm/*.afm     AFM files for PostScript	fonts
       /usr/local/share/enscript/font.map      index for the AFM files
       /usr/local/share/enscript/hl/*.st       states definition files
       /usr/local/etc/enscript.cfg	       system-wide configuration file
       /usr/local/etc/enscriptsite.cfg	       site configuration file
       ~/.enscriptrc			       personal	configuration file
       ~/.enscript/			       personal	resource directory

SEE ALSO
       diffpp(1), ghostview(1),	gs(1), lpq(1), lpr(1), lprm(1),	states(1)

AUTHOR
       Markku Rossi <mtr@iki.fi> <http://www.iki.fi/~mtr/>

       GNU Enscript WWW	home page: <http://www.iki.fi/~mtr/genscript/>

ENSCRIPT			 Mar 12, 1999			   ENSCRIPT(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | CONFIGURATION FILES | FANCY HEADERS | SPECIAL ESCAPES | PAGE DEVICE OPTIONS | PRINTING EXAMPLES | ENVIRONMENT VARIABLES | RETURN VALUE | FILES | SEE ALSO | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=enscript&sektion=1&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help