/usr/lib/printfilters/ppaprint is in printfilters-ppd 2.13-11.1.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | #!/bin/sh
# ppaprint v2.12 July 7, 2000
#
# make pnm2ppa (or pbm2ppa) command line for postprocessing to produce PPA
# output for HP's PPA printers (DeskJet 710, 720, 820, 1000 series).
#
# Duncan Haldane, the pnm2ppa project, <duncan_haldane@users.sourceforge.net>
# see also http://sourceforge.net/projects/pnm2ppa
#
BINDIR=/usr/bin
CONFIG_DIR=/etc
PPA_CONFIG=$1
PAPERSIZE=$2
RESOLUTION=$3
EXTRA_GS_OPTIONS=$@
for arg in $1 $2 $3 ; do
EXTRA_GS_OPTIONS=$(echo "${EXTRA_GS_OPTIONS}" | eval "sed -e 's/^.*$arg//'")
done
if ! [ "$RESOLUTION" = "600x600" ] ; then
echo "Error - ppaprint: unsupported RESOLUTION=$RESOLUTION" 1>&2
exit 1
fi
# extract any extra PPA options from $EXTRA_GS_OPTIONS:
# format is $EXTRA_GS_OPTIONS= "(gs_options)PPA(ppa_options)"
EXTRA_PPA_OPTIONS=""
if echo $EXTRA_GS_OPTIONS | grep -e "PPA" >/dev/null 2>&1 ; then
EXTRA_PPA_OPTIONS=$EXTRA_GS_OPTIONS
EXTRA_GS_OPTIONS=$(echo "${EXTRA_GS_OPTIONS}" | sed -e 's/PPA.*$//' )
EXTRA_PPA_OPTIONS=$(echo "${EXTRA_PPA_OPTIONS}" | sed -e 's/^.*PPA//')
fi
# identify paper size
if [ "$PAPERSIZE" = "letter" ]; then
PPA_PAPERSIZE="-s letter"
elif [ "$PAPERSIZE" = "a4" ]; then
PPA_PAPERSIZE="-s a4"
elif [ "$PAPERSIZE" = "legal" ]; then
PPA_PAPERSIZE="-s legal"
else
PPA_PAPERSIZE="-s letter"
fi
# identify printer type
# (at present, a type 710 is treated as a type 720 in printerdb)
if echo $PPA_CONFIG | grep -e "ppa710" > /dev/null 2>&1 ; then
PPA_PRINTER="-v 710"
elif echo $PPA_CONFIG | grep -e "ppa720" > /dev/null 2>&1 ; then
PPA_PRINTER="-v 720"
elif echo $PPA_CONFIG | grep -e "ppa820" > /dev/null 2>&1 ; then
PPA_PRINTER="-v 820"
elif echo $PPA_CONFIG | grep -e "ppa1000" > /dev/null 2>&1 ; then
PPA_PRINTER="-v 1000"
fi
PPA_OPTIONS="$PPA_PAPERSIZE $EXTRA_PPA_OPTIONS"
if echo $PPA_CONFIG | grep -e "pbm" >/dev/null 2>&1 ; then
# use the old pbm2ppa Black-and-White-only driver
# first check that old pbm2ppa driver is installed
if ! $BINDIR/pbm2ppa -h > /dev/null 2>&1 ; then
echo "Error - ppaprint: pbm2ppa driver was not found" 1>&2
exit 1
fi
# assemble the pbm2ppa command line:
GSDEVICE=pbmraw
PPA_CONF="$CONFIG_DIR/pbm2ppa.conf"
if [ -f $PPA_CONF ] ; then
PPA_CONF="-f $PPA_CONF"
else
PPA_CONF=""
fi
PPA_OPTIONS="$PPA_PRINTER $PPA_CONF $PPA_OPTIONS"
PPA="$BINDIR/pbm2ppa $PPA_OPTIONS - - "
else
# use the new pnm2ppa driver with color support
# first check that new pnm2ppa driver is installed
if ! $BINDIR/pnm2ppa -h > /dev/null 2>&1 ; then
echo "Error - ppaprint: pnm2ppa driver was not found" 1>&2
exit 1
fi
# papersize is no longer needed by pnm2ppa >= 0.99
# (the papersize is now taken from the pnm input file header).
PPA_PAPERSIZE=""
# all pnm formats are now supported by pnm2ppa >= 0.99
# -- use ppmraw for color-enabled printing
# -- use pbmraw in --bw black and white modes.
# identify color option
if echo $PPA_CONFIG | grep -e "ppa.*0b1" > /dev/null 2>&1 ; then
GSDEVICE=pbmraw
PPA_COLOR="--bw --eco"
elif echo $PPA_CONFIG | grep -e "ppa.*0b2" > /dev/null 2>&1 ; then
GSDEVICE=pbmraw
PPA_COLOR="--bw"
elif echo $PPA_CONFIG | grep -e "ppa.*0c1" > /dev/null 2>&1 ; then
GSDEVICE=ppmraw
PPA_COLOR="--eco --fd"
elif echo $PPA_CONFIG | grep -e "ppa.*0c2" > /dev/null 2>&1 ; then
GSDEVICE=ppmraw
PPA_COLOR="-p --eco"
elif echo $PPA_CONFIG | grep -e "ppa.*0c3" > /dev/null 2>&1 ; then
GSDEVICE=ppmraw
PPA_COLOR=""
elif echo $PPA_CONFIG | grep -e "ppa.*0c4" > /dev/null 2>&1 ; then
GSDEVICE=ppmraw
PPA_COLOR="-p --uni"
elif echo $PPA_CONFIG | grep -e "ppa.*0c5" > /dev/null 2>&1 ; then
GSDEVICE=ppmraw
PPA_COLOR="--eco"
fi
# assemble the pnm2ppa command line:
PPA_CONF="$CONFIG_DIR/pnm2ppa.conf"
if [ -f $PPA_CONF ] ; then
PPA_CONF="-f $PPA_CONF"
else
PPA_CONF=""
fi
PPA_OPTIONS="$PPA_PRINTER $PPA_CONF $PPA_COLOR $PPA_OPTIONS"
PPA="$BINDIR/pnm2ppa $PPA_OPTIONS -i - -o - "
fi
echo "-sDEVICE=$GSDEVICE $EXTRA_GS_OPTIONS - | $PPA "
exit 0
|