Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, July 27, 2022

paps (1)


paps - text to PostScript converter using Pango


paps [options] files...


paps(1)                     General Commands Manual                    paps(1)

       paps - text to PostScript converter using Pango

       paps [options] files...

       paps reads an input file and writes a PostScript language or user spec-
       ified format rendering of the file to  standard  output.  paps  accepts
       international  text  in  any locale and provides internationalized text
       layout 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.

       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 output. Default is portrait.

              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".

              Use font based on description desc.  Default  is  "Courier  10".
              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 the layout. Stretch complete lines to  fill  the  entire

              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

              Mark wrapped lines with special characters.

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

              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

              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.

              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.

              Set bottom margin. Default is 55 postscript points.

              Set top margin. Default is 55 postscript points.

              Set left margin. Default is 55 postscript points.

              Set right margin. Default is 55 postscript points.

              Set gutter width. Default is 40 postscript points.

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

              Use text as the title string for page  header.  By  default  the
              input filename or "stdin" is used.

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

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

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

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

              Make all glib warnings fatal.

       Use the following option conversion table to obtain output  similar  to
       mp(1) :

       |  mp option   |           paps option(s)            |
       | <default>    | --header --paper=letter --wrap=char |
       | -A4          | <default>                           |
       | -l           | --landscape --columns=2             |
       | -L locale    | LC_ALL=locale paps ...              |
       | -ll          | --landscape                         |
       | -n           | <default>                           |
       | -US          | --paper=letter                      |
       | -z pointsize | --font='fontname pointsize'         |

       The following exit values are returned:

       0     Successful completion.

       1     An error occurred.

       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

         $ 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.

       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 attributes(7) for descriptions of the following attributes:

       |Availability   | print/paps       |
       |Stability      | Volatile         |

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

       The output of paps is affected by current locale and  available  fonts.
       Additional fonts can be added with the following command:
         $ pkg install system/font/truetype/*

       When  the  package  system/font/sun-ja-bitmap-unicode is installed, the
       bitmap font will  take  precedence  over  TrueType  fonts  in  Japanese
       locales and the output may have lower quality. Uninstall the font pack-
       age with:
         $ pkg uninstall system/font/sun-ja-bitmap-unicode

       or select specific font with the --font option:
         $ paps --font 'Courier,IPAGothic 10'

       To display  a  halfwidth  and  a  fullwidth  character  correctly,  use
       'Monospace' font with the --font option.  To change the smaller size of
       font in landscape mode, specify  the  size  of  font  with  the  --font
       option.  For example, the following will display similar output with mp
       of portrait and landscape mode in Japanese locale.
         $ paps --font 'Monospace 11'
         $ paps --font 'Monospace 8' --columns=2 --landscape

       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source was downloaded from  https://github.com/dov/paps.

       Further information about this software can be found on the open source
       community website at https://github.com/dov/paps.

       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).

                               January 15, 2016                        paps(1)