paps - text to PostScript converter using Pango
paps [options] files...
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
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.
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 "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
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 55 postscript points.
--top-margin=tm
Set top margin. Default is 55 postscript points.
--left-margin=lm
Set left margin. Default is 55 postscript points.
--right-margin=rm
Set right margin. Default is 55 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.
--title="text"
Use text as the title string for page header. By default the
input 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
additional 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.
COMPATIBILITY
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' |
+--------------+-------------------------------------+
EXIT STATUS
The following exit values are returned:
0 Successful completion.
1 An error occurred.
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
locale.
$ 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.
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.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+------------------+
|Availability | print/paps |
+---------------+------------------+
|Stability | Volatile |
+---------------+------------------+
SEE ALSO
fc-match(1), setlocale(3C)
NOTES
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-
code-downloads.html.
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.
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).
January 15, 2016 paps(1)