diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 21:12:04 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 21:12:04 +0000 |
commit | eac54b7c4aec25060d7bd856f7cdc290943d6aae (patch) | |
tree | 9a6d81c9f88df4698e746d63d14ddafeddd918b8 /build-aux/manconv.sh | |
parent | Initial commit. (diff) | |
download | xz-utils-eac54b7c4aec25060d7bd856f7cdc290943d6aae.tar.xz xz-utils-eac54b7c4aec25060d7bd856f7cdc290943d6aae.zip |
Adding upstream version 5.4.1.upstream/5.4.1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'build-aux/manconv.sh')
-rw-r--r-- | build-aux/manconv.sh | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/build-aux/manconv.sh b/build-aux/manconv.sh new file mode 100644 index 0000000..e53b026 --- /dev/null +++ b/build-aux/manconv.sh @@ -0,0 +1,58 @@ +#!/bin/sh +# +############################################################################### +# +# Wrapper for GNU groff to convert man pages to a few formats +# +# Usage: manconv.sh FORMAT [PAPER_SIZE] < in.1 > out.suffix +# +# FORMAT can be ascii, utf8, ps, or pdf. PAPER_SIZE can be anything that +# groff accepts, e.g. a4 or letter. See groff_font(5). PAPER_SIZE defaults +# to a4 and is used only when FORMAT is ps (PostScript) or pdf. +# +# Multiple man pages can be given at once e.g. to create a single PDF file +# with continuous page numbering. +# +############################################################################### +# +# Author: Lasse Collin +# +# This file has been put into the public domain. +# You can do whatever you want with this file. +# +############################################################################### + +FORMAT=$1 +PAPER=${2-a4} + +# Make PostScript and PDF output more readable: +# - Use 11 pt font instead of the default 10 pt. +# - Use larger paragraph spacing than the default 0.4v (man(7) only). +FONT=11 +PD=0.8 + +SED_PD=" +/^\\.TH /s/\$/\\ +.PD $PD/ +s/^\\.PD\$/.PD $PD/" + +case $FORMAT in + ascii) + groff -t -mandoc -Tascii | col -bx + ;; + utf8) + groff -t -mandoc -Tutf8 | col -bx + ;; + ps) + sed "$SED_PD" | groff -dpaper=$PAPER -t -mandoc \ + -rC1 -rS$FONT -Tps -P-p$PAPER + ;; + pdf) + sed "$SED_PD" | groff -dpaper=$PAPER -t -mandoc \ + -rC1 -rS$FONT -Tps -P-p$PAPER | ps2pdf - - + ;; + *) + echo 'Invalid arguments' >&2 + exit 1 + ;; +esac |