Files
cups-kyocera-rastertokpsl-fix/rastertokpsl
T

41 lines
795 B
Bash
Executable File

#!/bin/bash
REAL="/usr/lib/cups/filter/rastertokpsl.real"
# Kyocera rastertokpsl uses the following arguments:
# $1 printer
# $2 job-id
# $3 title
# $4 copies
# $5 options
if [ "$#" -ne 5 ]; then
echo "ERROR: rastertokpsl wrapper: expected 5 arguments, got $#" >&2
exit 1
fi
printer="$1"
job_id="$2"
title="$3"
copies="$4"
options="$5"
# Convert the title to ASCII, remove unsupported characters,
# and keep only the last 20 alphanumeric characters.
safe_title="$(
printf '%s' "$title" |
iconv -f UTF-8 -t ASCII//TRANSLIT 2>/dev/null |
LC_ALL=C tr -cd 'A-Za-z0-9' |
tail -c 20
)"
[ -n "$safe_title" ] || safe_title="print-job"
# Pass the raster data through stdin.
exec "$REAL" \
"$printer" \
"$job_id" \
"$safe_title" \
"$copies" \
"$options"