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

FreeBSD Manual Pages

  
 
  

home | help
PAPS(1)			    General Commands Manual		       PAPS(1)

NAME
       paps - text to PostScript converter using Pango

SYNOPSIS
       paps [options] files...

DESCRIPTION
       paps reads an input file	and writes a PostScript	language or user spec-
       ified format rendering of the file to standard output. paps accepts in-
       ternational text	in any locale and provides internationalized text lay-
       out including text shaping and bidirectional text rendering.

       If  no filename argument	is provided, paps reads	the standard input. If
       the standard input is a terminal, input is terminated by	an EOF signal,
       usually Control-d.

OPTIONS
       paps follows the	usual GNU  command  line  syntax,  with	 long  options
       starting	with two dashes	(`-'). A summary of options is included	below.

       -h, --help
	      Show summary of options.

       --landscape
	      Landscape	output.	Default	is portrait.

       --columns=cl
	      Format output into cl columns. Default is	1.
	      Please  notice  this option isn't	related	to the terminal	length
	      as in a "80 columns terminal".

       --font=desc
	      Use font based on	description desc. Default is  "Monospace  12".
	      The format of the	string representation is:

	      "[family-list] [style-options] [size]"

	      where  family-list is a comma separated list of families option-
	      ally terminated by a comma, style-options	is a whitespace	 sepa-
	      rated  list  of  words  where  each word describes one of	style,
	      variant, weight, or stretch, and size is a  decimal  number  for
	      size in points, e.g. "Courier,Monospace Bold Italic 10".

       -o, --output=file
	      Output  file.  Default  is stdout. Output	format is set based on
	      file's extension when --format is	not provided.

       --rtl  Do right-to-left (RTL) text layout and align text	to the	right.
	      Text  direction  is  detected automatically. Use this option for
	      explicit RTL layout and right alignment.

       --justify
	      Justify the layout. Stretch complete lines to  fill  the	entire
	      width.

       --wrap=wm
	      Use line wrapping	mode wm. Default is word-char.

	      word	 Wrap lines at word boundaries

	      char	 Wrap lines at character boundaries

	      word-char	 Wrap lines at word boundaries,	but fall back to char-
			 acter	boundaries  if there is	not enough space for a
			 full word

       --show-wrap
	      Mark wrapped lines with special characters.

       --paper=ps
	      Choose paper size. Accepted paper	sizes are  'legal',  'letter',
	      'A3' and 'A4'.  Default is A4.

       --gravity=gr
	      Set base glyph orientation. Default is auto.

	      south	 Glyphs	stand upright

	      east	 Glyphs	are rotated 90 degrees clockwise

	      north	 Glyphs	are upside-down

	      west	 Glyphs	are rotated 90 degrees counter-clockwise

	      auto	 Gravity is resolved from the context

       --gravity-hint=gh
	      Set how horizontal scripts behave	in a vertical context. Default
	      is natural.

	      natural	 Scripts  will take their natural gravity based	on the
			 base gravity and the script

	      strong	 Always	use the	base gravity, regardless of the	script

	      line	 For scripts not  in  their  natural  direction	 (e.g.
			 Latin	in  East  gravity),  choose per-script gravity
			 such that every script	respects the line progression.
			 This means, Latin and Arabic will take	opposite grav-
			 ities and both	flow top-to-bottom for example.

       --format=fmt
	      Choose output format. Default is ps.

	      ps	 PostScript

	      pdf	 Portable Document Format

	      svg	 Scalable Vector Graphics

       Postscript points
	      Each postscript point equals to 1/72 of an inch. 36  points  are
	      1/2 of an	inch.

       --bottom-margin=bm
	      Set bottom margin. Default is 36 postscript points.

       --top-margin=tm
	      Set top margin. Default is 36 postscript points.

       --left-margin=lm
	      Set left margin. Default is 36 postscript	points.

       --right-margin=rm
	      Set right	margin.	Default	is 36 postscript points.

       --gutter-width=gw
	      Set gutter width.	Default	is 40 postscript points.

       --header
	      Draw  page  header  with document	name, date and page number for
	      each page. Header	is not printed by default.

       --header-left=fmt
	      Sets the formatting for the left side of the header. See	FORMAT
	      for  an explanation of the header	and footer formatting. Default
	      is the current localized date.

       --header-center=fmt
	      Sets the formatting for the center of the	header.	See FORMAT for
	      an explanation of	the header and footer formatting.  Default  is
	      the filename.

       --header-right=fmt
	      Sets the formatting for the center of the	header.	See FORMAT for
	      an  explanation  of the header and footer	formatting. Default is
	      the Page number.

       --footer
	      Draw page	footer with document name, date	and  page  number  for
	      each page. Footer	is not printed by default.

       --footer-left=fmt
	      Sets  the	formatting for the left	side of	the footer. See	FORMAT
	      for an explanation of the	footer and footer formatting. The  de-
	      fault formatting is an empty string.

       --footer-center=fmt
	      Sets the formatting for the center of the	footer.	See FORMAT for
	      an  explanation of the footer and	footer formatting. The default
	      formatting is an empty string.

       --footer-right=fmt
	      Sets the formatting for the center of the	footer.	See FORMAT for
	      an explanation of	the footer and footer formatting. The  default
	      formatting is an empty string.

       --title="text"
	      Use text as the title string for page header. By default the in-
	      put filename or "stdin" is used.

       --markup
	      Interpret	 input	as  pango  markup. Pango Text Attribute	Markup
	      Language allows marking parts of the text	with tags defining ad-
	      ditional attributes such as font face, size, weight,  colors  or
	      text decoration such as underline	or strikethrough.

       --encoding=enc
	      Assume  encoding of the input text is enc. By default the	encod-
	      ing of the current locale	is used	(e.g. UTF-8).

       --lpi=lines
	      Set number of lines per inch. This determines the	line spacing.

       --cpi=chars
	      Set number of characters per inch. This is an alternative	method
	      of specifying the	font size.

       --g-fatal-warnings
	      Make all glib warnings fatal.

EXIT STATUS
       The following exit values are returned:

       0     Successful	completion.

       1     An	error occurred.

HEADER AND FOOTER FORMATTING
       The header and footers may be formatted by a mini language based	on the
       python f-strings. Text outside of squiggly brackets are entered	liter-
       ally  in	 the  output. Text inside squiggly brackets contain one	of the
       following predefined list of variables:

	      now	 The current time

	      mtime	 The modification time of the file being printed

	      page_idx	 The page index	of the page

	      num_pages	 The total number of pages in the document

	      filename	 The filename (basename) of the	document

	      path	 The full path of the document

EXAMPLES
       Example 1 Printing UTF-8	text file

       The following command can be used to print a file in any	of  the	 UTF-8
       based locales if	the file is in UTF-8 or	compatible codeset.

	 $ paps	en_US_UTF-8.txt

       By  default  paps  will	print PostScript rendering to standard output.
       Send the	output to a printer using lp

	 $ paps	en_US_UTF-8.txt	| lp

       or to a file using redirection or the -o	option

	 $ paps	en_US_UTF-8.txt	> out.ps
	 $ paps	-o out.ps en_US_UTF-8.txt

       Example 2 Specify encoding

       To print	a file in specific encoding regardless of the  current	locale
       setting	use the	--encoding option. An example for Japanese EUC encoded
       input file:

	 $ paps	--encoding eucjp ja_JP_eucjp.txt > out.ps

       paps will still use current locale setting to prioritize	the  available
       fonts for current language.

       Example 3 Specify locale

       Override	the LC_ALL environment variable	to run paps in a different lo-
       cale.

	 $ LC_ALL=ja_JP.eucjp paps ja_JP_eucjp.txt > out.ps

       Here  paps  will	 assume	the input is in	Japanese EUC encoding and will
       use Japanese eucjp locale to render the output. If --header  is	added,
       the date	is printed in Japanese.

       Example 4 Change	the header and footer

       Override	 the header and	the footer to show only	the page in the	middle
       of the footer.

	 $ paps	--separation-lines -o /tmp/foo.pdf --header --header-left='' \
	  --header-center='{path}' --header-right='' --footer \
	  --footer-left='Printed {now:%c}' \
	  --footer-right='Page {page_idx}/{num_pages}' \
	  `pwd`/paps.ccx

       Here paps will assume the input is in Japanese EUC  encoding  and  will
       use  Japanese  eucjp locale to render the output. If --header is	added,
       the date	is printed in Japanese.

ENVIRONMENT VARIABLES
       paps uses locale	environment variables to determine its	behavior.  The
       following categories are	used:

       LC_CTYPE	       to  assume the encoding of the input. This can be over-
		       ridden by --encoding.

       LC_TIME	       to format the date for header.

       Font selection is also affected by current locale. Example 3  describes
       how to run paps in a different locale.

SEE ALSO
       fc-match(1), setlocale(3C)

AUTHOR
       paps was	written	by Dov Grobgeld	<dov.grobgeld@gmail.com>.

       This  manual  page  was written by Lior Kaplan <kaplan@debian.org>, for
       the Debian project (but may be used by others).

			       December	20, 2022		       PAPS(1)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=paps&sektion=1&manpath=FreeBSD+Ports+14.3.quarterly>

home | help