apsfilter-7.2.6.orig/0000755000175000017500000000000010203621211014710 5ustar covencoven00000000000000apsfilter-7.2.6.orig/bin/0000755000175000017500000000000010203621207015465 5ustar covencoven00000000000000apsfilter-7.2.6.orig/bin/.exrc0000644000175000017500000000001707136603456016446 0ustar covencoven00000000000000set ts=4 tw=78 apsfilter-7.2.6.orig/bin/aps2file.in0000755000175000017500000000553207436250564017554 0ustar covencoven00000000000000#! @shell@ # -*- sh -*- # # $ApsCVS: src/apsfilter/bin/aps2file.in,v 1.1.2.7 2002/02/24 20:47:48 andreas Exp $ # # aps2file, by Michael Loßin # # pass input data through apsfilter into a file ("print to file" mode) # # doesn't work with fake duplex mode, since two PostScript documents # (even and odd pages) will end up in one # unset Z_OPTS APSFILTER OUTPUT_FILE INPUT_FILE DEBUG QUEUE=${PRINTER:-lp} usage() { cat >&2 <&2 "aps2file: $@" exit 1 } parse_commandline() { while [ "$1" ]; do case "$1" in -P) shift; QUEUE="$1" ;; -P*) QUEUE="${1#-P}" ;; -Z) shift; Z_OPTS="-Z$1" ;; -Z*) Z_OPTS="$1" ;; -o) shift; OUTPUT_FILE="$1" ;; -o*) OUTPUT_FILE="${1#-o}" ;; -h|--help) usage ;; -D) DEBUG="-x" ;; -*) error "unknown option '$1'" ;; *) if [ "$INPUT_FILE" ]; then error "at most one input file allowed" else INPUT_FILE="$1" fi ;; esac shift done } check_queue_name() { local q # apspreview provides a special configuration directory to aps2file # (supplied in environment variable APS_CONFDIR) and the proper queue # name, so we don't need to re-check it if [ -z "$APS_CONFDIR" ]; then APS_CONFDIR="@sysconfdir@/apsfilter" # if the queue name is an alias, parse printcap for the original name if [ ! -d "$APS_CONFDIR/$QUEUE" ]; then # quote forward slashes q=$(echo "$QUEUE" | sed 's%/%\\/%') q=$("@awk@" -F":" "/^${q}[|:]|^[^#].*\|${q}[|:]/,/^#/ \ { if (\$0 ~ /:sd=/) print \$2 }" < "@printcap@") if [ "$q" ]; then QUEUE="${q##*/}" else error "couldn't resolve printer name '$QUEUE' in @printcap@" fi fi fi } print2file() { APSFILTER="$APS_CONFDIR/basedir/bin/apsfilter" if [ ! -x "$APSFILTER" ]; then error "apsfilter not found at '$APSFILTER'" elif [ ! -f "$APS_CONFDIR/$QUEUE/apsfilterrc" ]; then error "no configuration file found for queue '$QUEUE'" fi : ${INPUT_FILE:=/dev/stdin} ${OUTPUT_FILE:=/dev/stdout} # start with an almost empty environment to emulate running under LPRng; # input must not come from a file connected to a terminal cat "$INPUT_FILE" | env -i CONTROL=dummy APS2FILE_CONTEXT=dummy \ SPOOL_DIR="$QUEUE" "@shell@" $DEBUG "$APSFILTER" -h"$HOSTNAME" \ -n"$USER" -f$(basename "$INPUT_FILE") $Z_OPTS > "$OUTPUT_FILE" } # # main controls # parse_commandline "$@" check_queue_name print2file apsfilter-7.2.6.orig/bin/apsfilter-bug.in0000644000175000017500000000536507413364475020616 0ustar covencoven00000000000000#! @shell@ # -*- sh -*- # # $ApsCVS: src/apsfilter/bin/apsfilter-bug.in,v 1.1.2.1 2001/12/29 16:03:09 andreas Exp $ # # apsfilter-bug -- create a bug report and mail it to the bug address. # # create bug report template TEMP=`mktemp -q /tmp/apsbug.XXXXXX 2>/dev/null` if [ $? -ne 0 ]; then TEMP=/tmp/apsbug.$$ echo > $TEMP chmod 600 $TEMP fi TEMP2=`mktemp -q /tmp/apsbug.XXXXXX 2>/dev/null` if [ $? -ne 0 ]; then TEMP2=/tmp/apsbug.$$ echo > $TEMP2 chmod 600 $TEMP2 fi trap 'rm -f $TEMP $TEMP2; exit 1' 1 2 3 13 15 trap 'rm -f $TEMP $TEMP2' 0 : ${EDITOR:=emacs} cat > $TEMP <Error type: # # how can others repeat that error? >How to repeat: # # VERY IMPORTANT: # please read the handbook and/or manpage about using "aps2file -D ..." # to create an error log, then insert that stuff here # (does not apply to configure, install or setup errors) >Error log: # # which settings in (global or local) apsfilterrc did you change? >apsfilterrc changes: # # did you receive any error mails from apsfilter, and if so, which ones? >Error mails: # # what did you expect to happen? >Expected: # # if you already have a fix, please give us a description and/or # a patch here (doesn't have to be elegant, just functional) >Fix: # # any additional comment you'd like to add >Comment: # # Thanks for your bug report! # # Now save the file (under its original name) and exit from your editor. # If you don't want to submit this report, just exit without saving. # EOF chmod u+w $TEMP2 cp $TEMP $TEMP2 eval $EDITOR $TEMP if cmp -s $TEMP $TEMP2 ; then echo "File not changed, no bug report submitted." exit 1 fi { # remove comment lines and add relevant details grep -v "^#" $TEMP gs_version=$(gs --version) system_id=$(uname -a) cat < $TEMP2 if "@sendmail@" -oem -t < $TEMP2; then echo "apsfilter bug report has been sent" exit 0 else echo "unknown sendmail failure, bug report not sent" exit 1 fi apsfilter-7.2.6.orig/bin/apsfilter.in0000755000175000017500000015731307657401261020042 0ustar covencoven00000000000000#! @shell@ # -*- sh -*- # $ApsCVS: src/apsfilter/bin/apsfilter.in,v 1.212.2.16 2003/05/11 07:58:41 andreas Exp $ ############################################################################## # # apsfilter @VERSION@ # --------- # # Copyright by Andreas Klemm # Copyright 1993 - 2002 # # You are permitted to modify and distribute apsfilter in the # terms of the GNU Public License (GPL) see excerpt below. # # For Unix Systems With BSD Alike Print Mechanism (lpd, /etc/printcap) # # Supported filetypes # # archives (print summary of various types), ASCII, BMP, data (PCL # etc.), DVI, FBM, FIG, FITS, GIF, Group 3 fax, HTML, IFF ILBM, JPEG, # Kodak Photo CD, MGR, MIFF, PAM/PBM/PGM/PNM/PPM, PDF, PNG, PostScript, # RLE, SGI, Sketch, Sun raster, Targa, TGIF, TIFF, troff, WMF, # WordPerfect graphics, XCF (gimp), X pixmap, X window dump # # Supported compression types # # bzip2, gzip, compress, freeze, pack, lzop # ############################################################################## ############################################################################## # # C O P Y R I G H T # ############################################################################## # # You are permitted to use this script in the terms of the # # GNU GENERAL PUBLIC LICENSE # Version 2, June 1991 # # Copyright (C) 1989, 1991 Free Software Foundation, Inc. # 675 Mass Ave, Cambridge, MA 02139, USA # Everyone is permitted to copy and distribute verbatim copies # of this license document, but changing it is not allowed. ############################################################################## ############################################################################## # Start Up ############################################################################## # # For easy debugging of apsfilter, please use the "-D" flag to "aps2file" # #----------------------------------------------------------------------------- # Set a basic PATH; might have to be extended in # @sysconfdir@/apsfilter/apsfilterrc #----------------------------------------------------------------------------- PATH="/usr/local/bin:/usr/X11R6/bin:/usr/bin:/bin" #----------------------------------------------------------------------------- # restrictive umask; needed because private tmp dir must be rwx--x--x #----------------------------------------------------------------------------- umask 077 #----------------------------------------------------------------------------- # Ignore hang up and broken pipe signals. #----------------------------------------------------------------------------- trap '' 1 13 #----------------------------------------------------------------------------- # Remove temporary files before terminating. #----------------------------------------------------------------------------- trap 'rc=`cat "$APS_TMPDIR/rc"`; rm -rf "$APS_TMPDIR"; exit $rc' 0 # return code 9: JSIGNAL (for LPRng) # these are SIGINT SIGTRAP SIGBUS SIGUSR1 SIGUSR2 SIGTERM trap 'echo 9 >"$APS_TMPDIR/rc"; exit' 1 5 7 10 12 15 ############################################################################## # Error Reporting Functions # # These are guaranteed to work no matter what. ############################################################################## #============================================================================= # fatal RETURN_CODE SUMMARY [LINE...] # # This is the generic interface for reporting fatal errors. # # RETURN_CODE is an integer number that gives the spooler a hint what kind # of error has occured (mostly for LPRng; BSD-lpr doesn't seem to care, # as long as the error code is >0) # 1 (JFAIL): transient error condition; retry might succeed # 2 (JABORT): fatal error; retry probably won't succeed # # SUMMARY is a concise one-line message describing the error. The rest of the # arguments offer a verbose explanation, and list possible solutions to the # problem. # # Someday soon it will be possible to disable the verbose parts, e.g. for # experienced users, or large sites, to keep the logs short. #============================================================================= fatal() { local line echo $1 >"$APS_TMPDIR/rc"; shift for line; do echo "apsfilter: $line"; done >&2 if [ -z "$APS2FILE_CONTEXT" ]; then { echo "To: ${NOTIFY:-root}" echo "Cc: $USER${HOST:+@$HOST}" echo "Subject: apsfilter: $1" echo echo "apsfilter fatal error: $1" echo shift for line; do echo "$line"; done echo echo echo "-- apsfilter, your lpd input filter" } | "@sendmail@" -oem -t fi exit } #============================================================================= # Error messages. # # All of them are in one place, here, to facilitate localization, and to make # the code look nicer. #============================================================================= fatal_basedir() { fatal 2 "can't find apsfilter basedir" \ "Please adjust $CONF_DIR/basedir or run SETUP." } fatal_config() { fatal 2 "can't find configuration" \ "The configuration file $CONF_DIR/$QUEUE/apsfilterrc" \ "is missing. Please run SETUP." } fatal_driver_script() { fatal 2 "driver script '$DRIVER_SCRIPT' for '$PRINTER' not found" \ "The driver script '$DRIVER_SCRIPT' which sets" \ "the options for the printer '$PRINTER'" \ "was not found. The file driver/MAPPING is corrupt." } fatal_file_type() { fatal 2 "unsupported file type '${FILE_TYPE%%,*}'" \ "If you think you can help us to support files of this type," \ "please contact us on ." } fatal_filter() { fatal 2 "missing $1; can't convert file type '${FILE_TYPE%%,*}'" \ "Please install $1 if you want to be able to print files of" \ "this type." } fatal_method() { fatal 2 "invalid method '$METHOD'" \ "Please adjust $CONF_DIR/$QUEUE/apsfilterrc." \ "Method must be 'auto', 'ascii' or 'raw'." } fatal_spooldir() { fatal 2 "can't determine the lpd spool directory" \ "Please fix your lpd or stop printing to remote printers" \ "directly." } fatal_tmpdir() { fatal 1 "error creating directory for temporary files" \ "Clean up the '$TMPDIR' directory or change the value of" \ "TMPDIR." } fatal_unpacker() { fatal 2 "missing $1; can't unpack file type '${FILE_TYPE%%,*}'" \ "Please install $1 if you want to be able to print files of" \ "this type." } ############################################################################## # Auxiliary Functions # # These are guaranteed not to overwrite your local variables. ############################################################################## #============================================================================= # find_filter FILTER # # Return false unless FILTER is found in the $PATH. #============================================================================= find_filter() { # Unfortunately, FreeBSD and NetBSD ash doesn't dig `command -v'. type "$1" > /dev/null 2>&1 } ############################################################################## # Functions For Printing # # These now all take their input from stdin (again); the previous approach # (to provide commands as parameters that generate the proper input) would # only save two (at most three) trivial cat commands, but it was very picky # w.r.t quoting -- and also a pain to read and debug. ############################################################################## #============================================================================= # do_convert [FORMAT] # # Print all kinds of images. #============================================================================= do_convert() { local opts case "$COLOR" in gray) opts="-colorspace GRAY" ;; mono) opts="-monochrome" ;; esac eval convert -rotate '"-90>"' -page '"${WIDTH_POINTS}x${HEIGHT_POINTS}>"' \ $opts ${1:+${1}:}- ps:- | print_ps } #============================================================================= # do_nconvert [OPTION...] # # Print all kinds of images. #============================================================================= do_nconvert() { local opts [ "$COLOR" = full ] && opts="-truecolors" || opts="-grey 256" eval nconvert -quiet $opts -out pnm "$@" -o /dev/stdout /dev/stdin \ | print_pnm } #============================================================================= # print_ar # # Print a summary of an AR archive. #============================================================================= print_ar() { find_filter ar || fatal_filter ar cat > "$APS_TMPDIR/ar" ar -tv "$APS_TMPDIR/ar" | print_ascii rm -f "$APS_TMPDIR/ar" } #============================================================================= # print_arc # # Print a summary of an ARC archive. #============================================================================= print_arc() { if find_filter unarc; then unarc v /dev/stdin | print_ascii else find_filter arc || fatal_filter arc arc v /dev/stdin | print_ascii fi } #============================================================================= # print_arj # # Print a summary of an ARJ archive. #============================================================================= print_arj() { find_filter unarj || fatal_filter unarj cat > "$APS_TMPDIR/archive.arj" unarj l "$APS_TMPDIR/archive.arj" | print_ascii rm -f "$APS_TMPDIR/archive.arj" } #============================================================================= # print_ascii # # Print ASCII files. #============================================================================= print_ascii() { local features jobname lang jobname="$JOB" if [ `echo "$jobname" | wc -c` -gt 40 ]; then # try shortening excessively long job name jobname=`basename $jobname` fi case "$ASCII_FILTER" in mpage) find_filter mpage || fatal_filter mpage if [ "$MPAGE_OPTS" ]; then eval mpage $MPAGE_OPTS | print_ps else : ${MPAGE_PAPERSIZE:=$PAPERSIZE} case $ASCII_PPS in 2|4|8) features="-$ASCII_PPS" ;; *) features="-1" ;; esac unset LANDSCAPE PS_NUP eval mpage -b $MPAGE_PAPERSIZE -da \ ${MPAGE_BASIC:--CISO-Latin.1 -f} ${ASCII_BORDER:+-B} \ ${ASCII_HEADER:+-H} $features ${ASCII_LANDSCAPE:+-l} \ | print_ps fi ;; enscript) find_filter enscript || fatal_filter enscript if [ "$ENSCRIPT_OPTS" ]; then eval enscript $ENSCRIPT_OPTS -q -p - | print_ps else if [ ! "$ENSCRIPT_PAPERSIZE" ]; then case "$PAPERSIZE" in letter) ENSCRIPT_PAPERSIZE=Letter ;; legal) ENSCRIPT_PAPERSIZE=Legal ;; a3) ENSCRIPT_PAPERSIZE=A3 ;; a4) ENSCRIPT_PAPERSIZE=A4 ;; a5) ENSCRIPT_PAPERSIZE=A5 ;; *) ENSCRIPT_PAPERSIZE=Letter ;; esac fi case "$PRINTER" in cdesk*|cdj*|desk*|djet*|hpdj|pcl3) case "$ENSCRIPT_PAPERSIZE" in Letter|A4) ENSCRIPT_PAPERSIZE="$ENSCRIPT_PAPERSIZE"dj ;; esac ;; esac case $ASCII_PPS in 1|2|4|8) features="-U $ASCII_PPS" ;; *) features="" ;; esac unset LANDSCAPE PS_NUP if [ "$PRETTY_PRINTING" != 0 ]; then # enscript is not very smart about file magic case "$FILE_TYPE" in *awk*) lang=awk ;; *c\ *program*) lang=c ;; *c++*) lang=cpp ;; *python*) lang=python ;; *postscript*) lang=postscript ;; *diff*) lang=diff ;; *html*) lang=html ;; *mail*|*news*) lang=mail ;; *perl*) lang=perl ;; *emacs*lisp*) lang=elisp ;; *lisp*|*scheme*) lang=scheme ;; *shell*|*script*) lang=sh ;; esac fi : ${ENSCRIPT_BASIC:=-X 88591} if [ "$COLOR" = full ]; then features="$features --color" else features="$features --color=blackwhite" fi eval enscript -M $ENSCRIPT_PAPERSIZE ${ASCII_BORDER:+-j} \ $ENSCRIPT_BASIC ${lang:+-E$lang} -t '"$jobname"' \ ${ASCII_HEADER:+-b "'%D|\$n|Page \$% of \$='"} $features \ ${ASCII_LANDSCAPE:+-r} -q -p - | print_ps fi ;; recode) find_filter recode || fatal_filter recode { [ "$RECODE_PROLOGUE" ] && printf $RECODE_PROLOGUE eval recode -q ${RECODE_OPTS:-latin1..ibmpc} [ "$RECODE_EPILOGUE" ] && printf $RECODE_EPILOGUE } | print_raw ;; *) find_filter a2ps || fatal_filter a2ps if [ "$A2PS_OPTS" ]; then eval a2ps $A2PS_OPTS -q -o - | print_ps else : ${A2PS_PAPERSIZE:=$PAPERSIZE} case "$PRINTER" in cdesk*|cdj*|desk*|djet*|hpdj|pcl3) case "$A2PS_PAPERSIZE" in Letter|letter|A4|a4) A2PS_PAPERSIZE="$A2PS_PAPERSIZE"dj ;; esac ;; esac case $ASCII_PPS in 2|4|8) features="-$ASCII_PPS" ;; *) features="-1" ;; esac unset LANDSCAPE PS_NUP # a2ps is not very smart about file magic, either case "$FILE_TYPE" in *awk*) lang=awk ;; *c\ *program*) lang=c ;; *c++*) lang=cxx ;; *roff*) lang=roff ;; *python*) lang=python ;; *postscript*) lang=ps ;; *html*) lang=html ;; *mail*|*news*) lang=mail ;; *perl*) lang=perl ;; *scheme*) lang=scheme ;; *emacs*lisp*) lang=elisp ;; *lisp*) lang=clisp ;; *c[-\ ]shell*) lang=csh ;; *shell*|*script*) lang=sh ;; esac : ${A2PS_BASIC:=--delegate=no -X iso1} [ "$ASCII_BORDER" ] || features="$features --borders=no" [ "$ASCII_HEADER" ] || features="$features --no-header" case "$COLOR" in full) features="$features --prologue=color" ;; gray) features="$features --prologue=gray" ;; mono) features="$features --prologue=bw" ;; esac case "$PRETTY_PRINTING" in 0) features="$features --highlight-level=none" ;; 1) features="$features --highlight-level=normal" ;; 2) features="$features --highlight-level=heavy" ;; esac eval a2ps -M $A2PS_PAPERSIZE --center-title='"$jobname"' \ -b'"Printed by $USER from $HOST"' $A2PS_BASIC \ $features ${lang:+-E$lang} ${ASCII_LANDSCAPE:+-r} -q \ -o - | print_ps fi ;; esac } #============================================================================= # print_auto # # Print input after using file to determine how. #============================================================================= print_auto() { # these patterns are based on the magic database of file-3.37, # with some additions case "$FILE_TYPE" in arc\ archive*) print_arc ;; arj\ archive*) print_arj ;; fbm\ image*) print_fbm ;; fig\ image*) print_fig ;; fits\ image*) print_fits ;; gif\ image*) print_gif ;; gimp\ xcf\ image*) print_xcf ;; group\ 3\ fax*|raw\ g3\ data*) print_g3 ;; html\ document*|exported\ sgml*|\ iso-8859\ html\ document*|iso-8859\ exported\ sgml*) print_html ;; iff*ilbm*) print_ilbm ;; jpeg\ image*) print_jpeg ;; kodak\ photo\ cd*) print_pcd ;; lha*archive*) print_lha ;; mgr\ bitmap*) print_mgr ;; microsoft\ cabinet*) print_cab ;; miff\ image*) print_miff ;; ms-windows*wmf*) print_wmf ;; pam*image*|netpbm\ pam*image*) print_pam ;; pbm*image*|netpbm\ pbm*image*|\ pnm*image*|netpbm\ pnm*image*|\ ppm*image*|netpbm\ ppm*image*) print_pnm ;; pc\ bitmap*) print_bmp ;; pdf\ document*) print_pdf ;; pgm*image*|netpbm\ pgm*image*) print_pgm ;; png\ image*) print_png ;; posix\ tar\ archive*|gnu\ tar\ archive*) print_tar ;; postscript\ document*) print_ps ;; rar\ archive*) print_rar ;; rle\ image*) print_rle ;; rpm*) print_rpm ;; sgi\ image*) print_sgi ;; sketch\ document*) print_sketch ;; sun\ raster\ image*|rasterfile*) print_ras ;; targa\ image*) print_tga ;; tex\ dvi*) print_dvi ;; tiff\ image*) print_tiff ;; tgif\ file*) print_tgif ;; troff*) print_troff ;; wordperfect\ graphic*) print_wpg ;; x\ pixmap\ image*) print_xpm ;; xwd*image*) print_xwd ;; zip\ archive*) print_zip ;; zoo\ archive*) print_zoo ;; # patterns which might cause a mismatch (mostly via strings in # file(1)'s output that appear in free form) *ar\ archive*) print_ar ;; *cpio\ archive*) print_cpio ;; # generic patterns *mail*|*news*|*ascii*|*text*|*english*|*script*) print_ascii ;; *data*|*escape*|*pcl*|*pjl*|*printer*job*language*|*ms*windows*) print_data ;; *) fatal_file_type ;; esac } #============================================================================= # print_bmp # # Print (Windows, OS/2) BMP images. #============================================================================= print_bmp() { if find_filter convert; then do_convert bmp elif find_filter nconvert; then do_nconvert -in bmp else find_filter bmptoppm || fatal_filter bmptoppm bmptoppm | print_pnm fi } #============================================================================= # print_cab # # Print a summary of a CAB archive. #============================================================================= print_cab() { find_filter cabextract || fatal_filter cabextract cat > "$APS_TMPDIR/cab" cabextract -l "$APS_TMPDIR/cab" | print_ascii rm -f "$APS_TMPDIR/cab" } #============================================================================= # print_cpio # # Print a summary of a CPIO archive. #============================================================================= print_cpio() { find_filter cpio || fatal_filter cpio cpio -tv --quiet | print_ascii } #============================================================================= # print_data # # Print data. #============================================================================= print_data() { local c print_copy() { local rc=0 ncp_print if [ "$APS2FILE_CONTEXT" ]; then # we were called by aps2file -> output to stdout cat elif [ -f "$CONF_DIR/$QUEUE/smbclient.conf" ]; then find_filter smbclient || fatal_filter smbclient . "$CONF_DIR/$QUEUE/smbclient.conf" [ "$SMB_PASSWD" ] && export PASSWD="$SMB_PASSWD" eval smbclient "'//$SMB_SERVER/$SMB_PRINTER'" \ ${SMB_IP:+-I"$SMB_IP"} ${SMB_USER:+-U"$SMB_USER"} \ ${SMB_WORKGROUP:+-W"$SMB_WORKGROUP"} -b"${SMB_BUFFER:-1400}" \ ${SMB_FLAGS:--N} -c "'print -'" rc=$? elif [ -f "$CONF_DIR/$QUEUE/netware.conf" ]; then . "$CONF_DIR/$QUEUE/netware.conf" if find_filter ncprint; then # BSD systems have "ncprint" ncp_print=ncprint # create temporary .nwfsrc file (for security) { echo "[${NCP_SERVER}:${NCP_USER}]" echo "password=$NCP_PASSWD" } > "$APS_TMPDIR/.nwfsrc" chmod 600 "$APS_TMPDIR/.nwfsrc" else find_filter nprint || fatal_filter ncprint/nprint # Linux systems have "nprint" ncp_print=nprint # create temporary .nwclient file (for security) echo "$NCP_SERVER/$NCP_USER ${NCP_PASSWD:--}" \ > "$APS_TMPDIR/.nwclient" chmod 600 "$APS_TMPDIR/.nwclient" fi # fake $HOME to make .nwfsrc and .nwclient visible HOME="$APS_TMPDIR" $ncp_print -S "$NCP_SERVER" -U "$NCP_USER" \ -q "$NCP_PRINTER" -c $COPIES rc=$? elif [ -f "$CONF_DIR/$QUEUE/lpr.conf" ]; then . "$CONF_DIR/$QUEUE/lpr.conf" lpr -P"$REMOTE_NAME" -\#"$COPIES" rc=$? elif [ -f "$CONF_DIR/$QUEUE/pap.conf" ]; then find_filter pap || fatal_filter pap . "$CONF_DIR/$QUEUE/pap.conf" pap -e -p "$PAP_NBPNAME" -s "$SPOOLDIR/pap.status" rc=$? else cat fi if [ $rc -ne 0 ]; then echo 2 >"$APS_TMPDIR/rc"; exit fi } if [ "$SAVE_DUPLEX_COPY" ]; then # print_ps_duplex() does the manual copying # we append here to include the (optional) blank page tee -a "$APS_TMPDIR/copy-$SAVE_DUPLEX_COPY" | print_copy else if [ "$COPIES" = 1 -o -n "$REMOTE_COPIES" ]; then print_copy else tee "$APS_TMPDIR/copy" | print_copy for c in $(seq 2 "$COPIES"); do print_copy < "$APS_TMPDIR/copy" done rm -f "$APS_TMPDIR/copy" fi fi } #============================================================================= # print_dvi # # Print DVI files. #============================================================================= print_dvi() { local resolution_x options export TEXINPUTS="$TEXINPUTS:$HOMEDIR:/tmp:/var/tmp" cat > "$APS_TMPDIR/dvi" if [ "$PRINT_DVI" ]; then eval $PRINT_DVI < "$APS_TMPDIR/dvi" | print_data else find_filter dvips || fatal_filter dvips [ "$HAVE_MAKETEXPK" ] || options="-M" resolution_x="${RESOLUTION%%[!0-9]*}" [ "$resolution_x" -gt 400 ] && options="$options -Z" [ "$LANDSCAPE" ] && options="$options -t landscape" PSNUP_ROTATE="-r" : ${DVIPS_PAPERSIZE:=$PAPERSIZE} eval dvips ${DVIPS_RES_DorP:--D} $resolution_x -R -f -q \ -t "$DVIPS_PAPERSIZE" $options < "$APS_TMPDIR/dvi" | print_ps fi rm -f "$APS_TMPDIR/dvi" } #============================================================================= # print_fbm # # Print Fuzzy Bitmap images. #============================================================================= print_fbm() { find_filter nconvert || fatal_filter nconvert cat > "$APS_TMPDIR/fbm" do_nconvert -in fbm < "$APS_TMPDIR/fbm" rm -f "$APS_TMPDIR/fbm" } #============================================================================= # print_fig # # Print xfig files. #============================================================================= print_fig() { if find_filter fig2dev; then fig2dev -Lps -c -z "$PAPERSIZE" | print_ps else find_filter sk2ps || fatal_filter sk2ps sk2ps /dev/stdin | print_ps fi } #============================================================================= # print_fits # # Print FITS images. # # Note: Should 3-axes-files be handled as three grayscale images (convert) or # as RGB input, resulting in one color image (nconvert, fitstopnm)? #============================================================================= print_fits() { if find_filter nconvert; then cat > "$APS_TMPDIR/fits" do_nconvert -in fits < "$APS_TMPDIR/fits" rm -f "$APS_TMPDIR/fits" elif find_filter fitstopnm; then # fitstopnm output "may" need to be flipped top for bottom, according # to the man page -- you gotta be kidding... fitstopnm | print_pnm else find_filter convert || fatal_filter convert do_convert fits fi } #============================================================================= # print_g3 # # Print Group 3 faxes. #============================================================================= print_g3() { local options if find_filter convert; then do_convert fax elif find_filter nconvert; then do_nconvert -in fax else find_filter pbmtolps || fatal_filter pbmtolps case "$FILE_TYPE" in *normal*resolution*) options=-s ;; esac if find_filter g32pbm; then g32pbm $options else find_filter g3topbm || fatal_filter g3topbm g3topbm $options fi | pbmtolps -dpi 204x196 | print_ps fi } #============================================================================= # print_gif # # Print GIF images. #============================================================================= print_gif() { if find_filter convert; then do_convert gif elif find_filter nconvert; then do_nconvert -in gif else find_filter giftopnm || fatal_filter giftopnm giftopnm | print_pnm fi } #============================================================================= # print_html # # Print HTML files. #============================================================================= print_html() { local opts paper if find_filter htmldoc; then [ "$COLOR" = full ] && opts="--color" || opts="--gray" eval htmldoc ${HTMLDOC_OPTS:---webpage} $opts --format ps \ ${LANDSCAPE:+--landscape} ${PORTRAIT:+--portrait} \ --size ${WIDTH_POINTS}x${HEIGHT_POINTS}pt - | print_ps else find_filter html2ps || fatal_filter html2ps if ! find_filter gs; then echo >&2 "apsfilter warning: html2ps needs gs for DSC compliance" fi [ "$COLOR" = full ] && opts="-U" || opts="-g" [ "$PAPERSIZE" = tabloid ] && paper=11x17 || paper="$PAPERSIZE" eval html2ps ${HTML2PS_OPTS:--e ISO-8859-1 -u -H} $opts \ ${LANDSCAPE:+-L} -D -S '"paper { type: $paper; }"' | print_ps fi } #============================================================================= # print_ilbm # # Print IFF ILBM images. #============================================================================= print_ilbm() { if find_filter nconvert; then cat > "$APS_TMPDIR/ilbm" do_nconvert -in lbm < "$APS_TMPDIR/ilbm" rm -f "$APS_TMPDIR/ilbm" else find_filter ilbmtoppm || fatal_filter ilbmtoppm ilbmtoppm | print_pnm fi } #============================================================================= # print_jpeg # # Print JPEG images. #============================================================================= print_jpeg() { if find_filter convert; then do_convert jpeg elif find_filter nconvert; then do_nconvert -in jpeg elif find_filter djpeg; then if [ "$COLOR" = full ]; then djpeg | print_pnm else djpeg -grayscale | print_pgm fi else find_filter jpegtopnm || fatal_filter jpegtopnm jpegtopnm | print_pnm fi } #============================================================================= # print_lha # # Print a summary of a LHa(rc) archive. #============================================================================= print_lha() { find_filter lha || fatal_filter lha lha v - | print_ascii } #============================================================================= # print_mgr # # Print MGR images. #============================================================================= print_mgr() { if find_filter mgrtopbm; then mgrtopbm | print_pnm else find_filter nconvert || fatal_filter nconvert cat > "$APS_TMPDIR/mgr" do_nconvert -in mgr < "$APS_TMPDIR/mgr" rm -f "$APS_TMPDIR/mgr" fi } #============================================================================= # print_miff # # Print MIFF images. #============================================================================= print_miff() { if find_filter convert; then # convert doesn't seem to like an explicit "miff" here, at least for # images with an alpha (matte) channel -- weird do_convert else find_filter nconvert || fatal_filter nconvert do_nconvert -in miff fi } #============================================================================= # print_pam # # Print PAM (xv thumbnail) images. #============================================================================= print_pam() { if find_filter convert; then do_convert p7 elif find_filter xvminitoppm; then xvminitoppm | print_pnm elif find_filter xvpictoppm; then xvpictoppm | print_pnm else find_filter nconvert || fatal_filter nconvert cat > "$APS_TMPDIR/pam" do_nconvert -in p7 < "$APS_TMPDIR/pam" rm -f "$APS_TMPDIR/pam" fi } #============================================================================= # print_pcd # # Print Kodak Photo CD images. #============================================================================= print_pcd() { if find_filter convert; then do_convert pcd elif find_filter nconvert; then cat > "$APS_TMPDIR/pcd" do_nconvert -in pcd < "$APS_TMPDIR/pcd" rm -f "$APS_TMPDIR/pcd" elif find_filter pcdtoppm; then cat > "$APS_TMPDIR/pcd" if [ "$COLOR" = full ]; then pcdtoppm "$APS_TMPDIR/pcd" - | print_pnm else pcdtoppm --gray "$APS_TMPDIR/pcd" - | print_pgm fi rm -f "$APS_TMPDIR/pcd" else find_filter hpcdtoppm || fatal_filter hpcdtoppm cat > "$APS_TMPDIR/pcd" hpcdtoppm "$APS_TMPDIR/pcd" | print_pnm rm -f "$APS_TMPDIR/pcd" fi } #============================================================================= # print_pdf # # Print PDF files. #============================================================================= print_pdf() { local paper ACROREAD_OPTS="-toPostScript -size ${WIDTH_POINTS}x${HEIGHT_POINTS} \ ${ACROREAD_OPTS:--level2 -fast}" cat > "$APS_TMPDIR/pdf" if find_filter acroread5; then eval acroread5 $ACROREAD_OPTS -pairs "$APS_TMPDIR/pdf" /dev/stdout elif find_filter acroread4; then eval acroread4 $ACROREAD_OPTS -pairs "$APS_TMPDIR/pdf" /dev/stdout elif find_filter acroread; then eval acroread $ACROREAD_OPTS -pairs "$APS_TMPDIR/pdf" /dev/stdout elif find_filter pdftops; then pdftops ${PDFTOPS_OPTS:--q} -paperw $WIDTH_POINTS \ -paperh $HEIGHT_POINTS "$APS_TMPDIR/pdf" - else find_filter pdf2ps || fatal_filter pdf2ps [ "$PAPERSIZE" = tabloid ] && paper=11x17 || paper="$PAPERSIZE" pdf2ps -sPAPERSIZE="$paper" "$APS_TMPDIR/pdf" - fi | print_ps rm -f "$APS_TMPDIR/pdf" } #============================================================================= # print_pgm # # Print PGM (greyscale) images. #============================================================================= print_pgm() { if find_filter convert; then do_convert pgm else find_filter pnmdepth || fatal_filter pnmdepth find_filter pnmtops || fatal_filter pnmtops pnmdepth 255 | pnmtops -width $WIDTH_INCHES -height $HEIGHT_INCHES \ 2> /dev/null | print_ps fi } #============================================================================= # print_png # # Print PNG images. #============================================================================= print_png() { case "$FILE_TYPE" in *rgba*|*alpha*) # Only pngtopnm can handle the alpha channel. find_filter pngtopnm || fatal_filter pngtopnm pngtopnm -mix -background "#fff" | print_pnm ;; *) if find_filter convert; then do_convert png elif find_filter nconvert; then do_nconvert -in png else find_filter pngtopnm || fatal_filter pngtopnm pngtopnm | print_pnm fi ;; esac } #============================================================================= # print_pnm # # Print PNM/PBM/PPM images. #============================================================================= print_pnm() { if find_filter convert; then do_convert pnm else if [ "$COLOR" = full ]; then find_filter pnmdepth || fatal_filter pnmdepth find_filter pnmtops || fatal_filter pnmtops pnmdepth 255 | pnmtops -width $WIDTH_INCHES \ -height $HEIGHT_INCHES 2> /dev/null | print_ps else find_filter ppmtopgm || fatal_filter ppmtopgm ppmtopgm | print_pgm fi fi } #============================================================================= # print_ps # # Print PostScript files. #============================================================================= print_ps() { local paper gs_cmd if [ "$DUPLEX" ] && [ "$PRINTER" != PS -o -z "$HARDWARE_DUPLEX" ]; then unset DUPLEX print_ps_duplex return elif [ "$PRINTER" = PS ]; then ps_postprocessing | print_data return fi find_filter gs || fatal_filter gs : ${GS_FONTPATH:=/usr/X11R6/lib/X11/fonts/Type1:/var/X11R6/lib/X11/fonts/Type1} : ${GS_LIB:=$GS_FONTPATH} export GS_FONTPATH GS_LIB [ "$PAPERSIZE" = tabloid ] && paper=11x17 || paper="$PAPERSIZE" case "$PRINTER" in *.upp) gs_cmd="gs -q -dNOPAUSE -dSAFER -dPARANOIDSAFER -sstdout=%stderr \ @'$PRINTER' -sPAPERSIZE='$paper' -sOutputFile=- \ ${PS_INIT:+'$PS_INIT'} - ${PS_EXIT:+'$PS_EXIT'}" ;; *) gs_cmd="gs -q -dNOPAUSE -dSAFER -dPARANOIDSAFER -sstdout=%stderr \ -sDEVICE='$PRINTER' -sPAPERSIZE='$paper' \ ${RESOLUTION:+-r'$RESOLUTION'} -sOutputFile=- $GS_FEATURES \ ${PS_INIT:+'$PS_INIT'} - ${PS_EXIT:+'$PS_EXIT'}" ;; esac if [ "$POST_FILTER" ]; then find_filter "$POST_FILTER" || fatal_filter "$POST_FILTER" gs_cmd="$gs_cmd | '$POST_FILTER' $POST_FILTER_OPTS" fi ps_postprocessing | eval $gs_cmd | print_data } print_ps_duplex() { local copies c is_odd print_odd_pages() { [ "$copies" != 1 ] && SAVE_DUPLEX_COPY=odd psselect -q -o ${DUPLEX_REVERSE_ODD:+-r} < "$APS_TMPDIR/duplex.ps" | \ print_ps } print_even_pages() { [ "$copies" != 1 ] && SAVE_DUPLEX_COPY=even [ -n "$is_odd" -a -n "$DUPLEX_REVERSE_EVEN" ] && \ printf "$BLANK_PAGE" | print_data psselect -q -e ${DUPLEX_REVERSE_EVEN:+-r} < "$APS_TMPDIR/duplex.ps" | \ print_ps [ -n "$is_odd" -a -z "$DUPLEX_REVERSE_EVEN" ] && \ printf "$BLANK_PAGE" | print_data } # try to set up a special named pipe (FIFO) for communication; has to be # world writable mkfifo -m 622 "$APS_TMPDIR/duplex-key" if [ -p "$APS_TMPDIR/duplex-key" ]; then find_filter psselect || fatal_filter psselect # make page count even by adding a blank page if needed case $(ps_postprocessing | tee "$APS_TMPDIR/duplex.ps" | \ psselect -p_1 2>&1 >/dev/null | tr "[]" "0\n" | head -1) in 01) # don't bother to print 1 page in duplex mode print_ps < "$APS_TMPDIR/duplex.ps" rm -f "$APS_TMPDIR/duplex.ps" "$APS_TMPDIR/duplex-key" return ;; *[13579]) is_odd=set ;; *) unset is_odd ;; esac # don't process PostScript with the pstools again SKIP_POSTPROCESSING=set copies="$COPIES"; COPIES=1 if [ "$DUPLEX_ODD_FIRST" ]; then print_odd_pages; duplex_notification; print_even_pages else print_even_pages; duplex_notification; print_odd_pages fi rm -f "$APS_TMPDIR/duplex.ps" # turn on the copy machine! if [ "$copies" != 1 ]; then unset SAVE_DUPLEX_COPY if [ "$DUPLEX_ODD_FIRST" ]; then for c in $(seq 2 "$copies"); do print_data < "$APS_TMPDIR/copy-odd" duplex_notification print_data < "$APS_TMPDIR/copy-even" done else for c in $(seq 2 "$copies"); do print_data < "$APS_TMPDIR/copy-even" duplex_notification print_data < "$APS_TMPDIR/copy-odd" done fi fi else # the FIFO couldn't be set up, so print the file simplex style echo >&2 "apsfilter warning: duplex fifo couldn't be created" print_ps fi rm -f "$APS_TMPDIR/duplex-key" } ps_postprocessing() { if [ "$SKIP_POSTPROCESSING" ]; then cat else eval ${PS_BOOK:+psbook -q |} \ ${PS_NUP:+psnup -q -$PS_NUP ${LANDSCAPE:+$PSNUP_ROTATE} |} \ ps_set_duplex ${PS_UTILS:+| $PS_UTILS} fi } ps_set_duplex() { local tray find_filter psset || fatal_filter psset [ "$PAPERTRAY" ] && tray="-Spapertray:$PAPERTRAY" if [ "$DUPLEX" ]; then if [ "$BINDING" = short ]; then psset -n -q -t $tray else psset -n -q -d $tray fi else psset -n -q -s $tray fi } duplex_notification() { local duplex_passwd key # send an instruction mail to the user saying to flip the sheets, # put them back in and echo a special key into the FIFO to resume # the operation duplex_passwd=`"$AWK" 'BEGIN { srand(); for (i=0; i<8; i++) \ printf "%02x", int(256*rand()) }'` { cat < '$APS_TMPDIR/duplex-key' Note: This command must be entered on a single line. Use cut-and-paste whenever possible -- switch off auto-wrapping of lines in your mail reader if needed. Do not reply to this message. It was generated by apsfilter. In case of an error, please contact your system administator. EOF } | "@sendmail@" -oem -t # now wait for the secret key (busy read from a FIFO) key=dummy while [ "$key" != "$duplex_passwd" ]; do read $read_r key < "$APS_TMPDIR/duplex-key" done } #============================================================================= # print_rar # # Print a summary of a RAR archive. #============================================================================= print_rar() { cat > "$APS_TMPDIR/rar" if find_filter unrar; then unrar v "$APS_TMPDIR/rar" | print_ascii else find_filter rar || fatal_filter rar rar v "$APS_TMPDIR/rar" | print_ascii fi rm -f "$APS_TMPDIR/rar" } #============================================================================= # print_ras # # Print Sun RasterFiles. #============================================================================= print_ras() { local opts if find_filter convert; then do_convert ras elif find_filter ras2ps; then [ "$COLOR" = full ] && opts="-C" ras2ps $opts | print_ps elif find_filter nconvert; then do_nconvert -in ras else find_filter rasttopnm || fatal_filter rasttopnm rasttopnm | print_pnm fi } #============================================================================= # print_raw # # Print raw data. #============================================================================= print_raw() { { [ "$RAW_PROLOGUE" ] && printf $RAW_PROLOGUE cat [ "$RAW_EPILOGUE" ] && printf $RAW_EPILOGUE } | print_data } #============================================================================= # print_rle # # Print RLE images. #============================================================================= print_rle() { if find_filter convert; then do_convert rle elif find_filter nconvert; then do_nconvert -in rle else find_filter rletopnm || fatal_filter rletopnm rletopnm | print_pnm fi } #============================================================================= # print_rpm # # Print a summary of an RPM package. #============================================================================= print_rpm() { local queryformat find_filter rpm || fatal_filter rpm queryformat="Name : %-27{NAME} Distribution: %{DISTRIBUTION} Version : %-27{VERSION} Vendor: %{VENDOR} Release : %-27{RELEASE} Build Date: %{BUILDTIME:date} Install date: %-27{INSTALLTIME:date} Build Host: %{BUILDHOST} Group : %-27{GROUP} Source RPM: %{SOURCERPM} Size : %{SIZE} Summary : %{SUMMARY} Description :\n%{DESCRIPTION} Files: [ %{FILENAMES}\n]\ Requires: [ %{REQUIRENAME} %{REQUIREFLAGS:depflags} %{REQUIREVERSION}\n]\ Provides: [ %{PROVIDES}\n]" # this silly contruction avoids a "broken pipe" error { rpm --qf "$queryformat" -qp -- -; cat > /dev/null; } | print_ascii } #============================================================================= # print_sgi # # Print SGI images. #============================================================================= print_sgi() { if find_filter convert; then # convert doesn't seem to like an explicit "sgi" here do_convert elif find_filter nconvert; then do_nconvert -in sgi else find_filter sgitopnm || fatal_filter sgitopnm sgitopnm | print_pnm fi } #============================================================================= # print_sketch # # Print Sketch files. # # Note: If your document contains inline images (bitmap, EPS, etc.), it's # probably better to convert it to PostScript by hand first, otherwise # the relative paths will cause sk2ps to barf. #============================================================================= print_sketch() { find_filter sk2ps || fatal_filter sk2ps sk2ps /dev/stdin | print_ps } #============================================================================= # print_tar # # Print a summary of a TAR archive. #============================================================================= print_tar() { find_filter tar || fatal_filter tar tar tvf - | print_ascii } #============================================================================= # print_tga # # Print Targa images. #============================================================================= print_tga() { if find_filter convert; then do_convert tga elif find_filter nconvert; then do_nconvert -in tga else find_filter tgatoppm || fatal_filter tgatoppm tgatoppm | print_pnm fi } #============================================================================= # print_tgif # # Print TGIF drawings. #============================================================================= print_tgif() { local opts find_filter tgif || fatal_filter tgif cat > "$APS_TMPDIR/tgif.obj" [ "$COLOR" = full ] && opts="-color" || opts="-gray" tgif -print -adobe -ps -stdout $opts "$APS_TMPDIR/tgif.obj" 2> /dev/null \ | print_ps rm -f "$APS_TMPDIR/tgif.obj" } #============================================================================= # print_tiff # # Print TIFF images. #============================================================================= print_tiff() { cat > "$APS_TMPDIR/tiff" if find_filter tiff2ps; then tiff2ps -a2 -w $WIDTH_INCHES -h $HEIGHT_INCHES "$APS_TMPDIR/tiff" | \ print_ps elif find_filter convert; then do_convert tiff < "$APS_TMPDIR/tiff" elif find_filter nconvert; then do_nconvert -in tiff < "$APS_TMPDIR/tiff" else find_filter tifftopnm || fatal_filter tifftopnm tifftopnm "$APS_TMPDIR/tiff" | print_pnm fi rm -f "$APS_TMPDIR/tiff" } #============================================================================= # print_troff # # Print troff files. #============================================================================= print_troff() { find_filter grog || fatal_filter grog find_filter groff || fatal_filter groff eval `grog -S -Tps - < "$HEADER"` | print_ps } #============================================================================= # print_wmf # # Print Windows Metafiles. #============================================================================= print_wmf() { cat > "$APS_TMPDIR/wmf" if find_filter wmf2eps; then wmf2eps --ps ${LANDSCAPE:+--landscape} ${PORTRAIT:+--portrait} \ --centre "$APS_TMPDIR/wmf" | print_ps else find_filter sk2ps || fatal_filter sk2ps sk2ps "$APS_TMPDIR/wmf" | print_ps fi rm -f "$APS_TMPDIR/wmf" } #============================================================================= # print_wpg # # Print WordPerfect graphics. #============================================================================= print_wpg() { if find_filter convert; then do_convert wpg else find_filter nconvert || fatal_filter nconvert do_nconvert -in wpg fi } #============================================================================= # print_xcf # # Print GIMP XCF files. #============================================================================= print_xcf() { find_filter nconvert || fatal_filter nconvert cat > "$APS_TMPDIR/xcf" do_nconvert -in xcf < "$APS_TMPDIR/xcf" rm -f "$APS_TMPDIR/xcf" } #============================================================================= # print_xpm # # Print X pixmaps. #============================================================================= print_xpm() { if find_filter convert; then do_convert xpm elif find_filter nconvert; then do_nconvert -in xpm else find_filter xpmtoppm || fatal_filter xpmtoppm xpmtoppm | print_pnm fi } #============================================================================= # print_xwd # # Print X window dump files. #============================================================================= print_xwd() { if find_filter convert; then do_convert xwd elif find_filter nconvert; then do_nconvert -in xwd else find_filter xwdtopnm || fatal_filter xwdtopnm xwdtopnm | print_pnm fi } #============================================================================= # print_zip # # Print a summary of a ZIP archive. #============================================================================= print_zip() { find_filter unzip || fatal_filter unzip cat > "$APS_TMPDIR/zip" unzip -v "$APS_TMPDIR/zip" | print_ascii rm -f "$APS_TMPDIR/zip" } #============================================================================= # print_zoo # # Print a summary of a Zoo archive. #============================================================================= print_zoo() { find_filter zoo || fatal_filter zoo cat > "$APS_TMPDIR/zoo" zoo l "$APS_TMPDIR/zoo" | print_ascii rm -f "$APS_TMPDIR/zoo" } #============================================================================= # unpack HANDLER # # Unpack input and pass it on to HANDLER. #============================================================================= unpack() { local HEADER FILE_TYPE unpacker unpacker_opts DEPTH=$(($DEPTH + 1)) HEADER="$APS_TMPDIR/header$DEPTH" dd bs=1k count=16 > "$HEADER" 2> /dev/null FILE_TYPE=`file "$HEADER"` FILE_TYPE=`echo ${FILE_TYPE#$HEADER: } | tr A-Z a-z` unpacker= case "$FILE_TYPE" in bzip*) unpacker=bzip2 ; unpacker_opts=-d ;; gzip*|packed*|old\ packed*) unpacker=gzip ; unpacker_opts=-d ;; compress*) unpacker=zcat ; unpacker_opts= ;; frozen*) unpacker=fcat ; unpacker_opts= ;; lzop*) unpacker=lzop ; unpacker_opts=-d ;; empty) rm -f "$HEADER"; return ;; esac if [ "$unpacker" ]; then find_filter $unpacker || fatal_unpacker $unpacker cat "$HEADER" - | $unpacker $unpacker_opts | unpack "$@" else cat "$HEADER" - | eval "$@" fi rm -f "$HEADER" } ############################################################################## # Main Body ############################################################################## #----------------------------------------------------------------------------- # Process command line arguments. # # Recognized options: # -c # -h HOST # -H HOST (LPRng) # -n USER # -L USER (LPRng) # -C CLASS # -Z Z_OPTS (LPRng) # -f JOB (LPRng) # # Options and their arguments can also be concatenated (e.g. `-nroot'). # # Unrecognized options are ignored. #----------------------------------------------------------------------------- while [ $# -gt 0 ]; do variable= case "$1" in -c) LPD_METHOD=raw ;; -h*|-H*) variable=HOST ;; -n*|-L*) variable=USER ;; -C*) variable=CLASS ;; -Z*) variable=Z_OPTS ;; -f*) variable=JOB ;; -*) variable=variable ;; *) ACCT_FILE="$1" ;; esac if [ "$variable" ]; then value="${1#-?}" if [ ! "$value" ]; then shift value="$1" fi eval $variable='"$value"' fi shift done unset variable value #----------------------------------------------------------------------------- # Directories. # # CONF_DIR: The global apsfilter configuration directory. # # HOMEDIR: User's home directory (extracted from /etc/passwd). # # SPOOLDIR: The lpd spool directory. # # TMPDIR: Directory used for storing temporary files. # # APS_TMPDIR: Directory used for storing temporary files securely. #----------------------------------------------------------------------------- # check if we must use the "-r" flag for "read" operations if echo dummy | read -r dummy 2>/dev/null; then read_r="-r" else unset read_r fi CONF_DIR=$(dirname $(dirname $(dirname $0))) [ -d "$CONF_DIR/basedir" ] || fatal_basedir HOMEDIR="`eval echo ~$USER`" case "$HOMEDIR" in [!/]*) # the shell doesn't know tilde expansion HOMEDIR=` if find_filter ypcat; then # we're on a NIS (aka yp) client ypcat passwd | grep "^$USER:" else grep "^$USER:" /etc/passwd fi | \ if [ $? -eq 0 ]; then # grep found something IFS=: read $read_r user passwd uid gid gecos home shell echo "$home" fi ` ;; esac SPOOLDIR="${SPOOL_DIR:-${ACCT_FILE%/*}}" [ "$SPOOLDIR" ] || fatal_spooldir # get the printer queue name from the spool dir name QUEUE=`basename $SPOOLDIR` #----------------------------------------------------------------------------- # Process configuration files. #----------------------------------------------------------------------------- [ -f "$CONF_DIR/apsfilterrc" ] && . "$CONF_DIR/apsfilterrc" [ -f "$CONF_DIR/$QUEUE/apsfilterrc" ] || fatal_config # this file does the basic configuration for each printer (driver name, # paper size, method, resolution), so it must be present . "$CONF_DIR/$QUEUE/apsfilterrc" [ -f "$CONF_DIR/$QUEUE/apsfilterrc.$USER" ] && \ . "$CONF_DIR/$QUEUE/apsfilterrc.$USER" # aps2file runs in userland, so we can safely use user-specific configuration [ "$APS2FILE_CONTEXT" ] && USE_USER_CODE=set [ -n "$USE_USER_CODE" -a -f "$HOMEDIR/.apsfilter/apsfilterrc.$QUEUE" ] && \ . "$HOMEDIR/.apsfilter/apsfilterrc.$QUEUE" export PATH # our private temporary directory has mode 711 so that the user can see our # fifo "$APS_TMPDIR/duplex-key" (in case it's needed) : ${TMPDIR:=/tmp} APS_TMPDIR="$TMPDIR/apsfilter$$" rm -rf "$APS_TMPDIR" mkdir -m 711 "$APS_TMPDIR" if [ $? -ne 0 ]; then # maybe someone tried a denial-of-service attack find_filter mktemp || fatal_tmpdir APS_TMPDIR=`mktemp -q -d "$TMPDIR/apsfilter.XXXXXX"` || fatal_tmpdir chmod 711 "$APS_TMPDIR" fi echo 0 >"$APS_TMPDIR/rc" # gs doesn't always remove its temp files; let it use our private # temp directory, so that everything will be removed later on export TEMP="$APS_TMPDIR" TMPDIR="$APS_TMPDIR" # default value for AWK (you can change it in apsfilterrc) : ${AWK:=@awk@} # various quality setting defaults : ${QUALITY:=medium} ${SWEEP:=bi} ${MEDIA:=plain} ${COLOR:=full} # if raw printing was requested on the lpr command line ("-l" or "-b" switch), # it has higher priority than the value in apsfilterrc, but can be set to be # ignored anyway (to please buggy remote spoolers) [ -n "$LPD_METHOD" -a -z "$IGNORE_LPD_RAW" ] && METHOD=raw #----------------------------------------------------------------------------- # Process the control file. # # We don't do this when LPRng is used since it gives us all the information we # need on the command line. #----------------------------------------------------------------------------- # LPRng sets $CONTROL, and BSD lpr doesn't. if [ ! "$CONTROL" ]; then { read pid read $read_r control_file } < "$SPOOLDIR/lock" while read $read_r line; do value="${line#?}" case "$line" in C*) CLASS="$value" ;; H*) HOST="$value" ;; J*) JOB="$value" ;; N*) FNAME="$value" ;; P*) USER="$value" ;; esac done < "$SPOOLDIR/$control_file" : ${JOB:=$FNAME} unset pid control_file line value fi #----------------------------------------------------------------------------- # Don't show a job title if it's coming from standard input. # # BSD lpr uses `stdin' for this case, and LPRng uses `(stdin)' or `(STDIN)'. #----------------------------------------------------------------------------- [ "$JOB" = stdin -o "$JOB" = '(stdin)' -o "$JOB" = '(STDIN)' ] && unset JOB #----------------------------------------------------------------------------- # Parse the command line options (via -C, -Z and -o). #----------------------------------------------------------------------------- if [ "$CLASS$Z_OPTS" ]; then old_ifs="$IFS" IFS=:, set -- $CLASS $Z_OPTS IFS="$old_ifs" unset old_ifs for option; do case "$option" in lo|low) # printing quality QUALITY=low ;; hi|high) QUALITY=high ;; med|medium) QUALITY=medium ;; draft|photo) QUALITY=$option ;; uni|bi) # uni/bi-directional printing SWEEP=$option ;; plain|coated|glossy|premium|trans) MEDIA=$option ;; # paper type color|colour) # color printing COLOR=full ;; gray|grey) COLOR=gray ;; mono) COLOR=mono ;; a3|a4|legal|letter|ledger|tabloid) PAPERSIZE=$option ;; # paper size ascii|auto|raw) # force printing method METHOD=$option ;; a2ps|mpage|enscript|recode) # choose filter for ASCII files ASCII_FILTER=$option ;; 1pps|2pps|4pps|8pps) # pages per sheet PS_NUP=${option%pps}; ASCII_PPS=$PS_NUP ;; header|noheader) # use ASCII headers? ASCII_HEADER=${option#noheader} ;; border|noborder) # use ASCII borders? ASCII_BORDER=${option#noborder} ;; pretty=[012]) # pretty-printing mode PRETTY_PRINTING=${option#pretty=} ;; duplex|simplex) # use duplex printing? DUPLEX=${option#simplex} ;; shortbind|longbind) # binding edge for hardware duplex BINDING=${option%bind} ;; tray[0-9]) # paper tray selection PAPERTRAY=${option#tray} ;; book) # "book" printing mode PS_BOOK=set PS_NUP=2 ASCII_PPS=2 DUPLEX=set BINDING=short ;; land*|port*) # force paper orientation LANDSCAPE=${option##port*}; ASCII_LANDSCAPE=$LANDSCAPE ;; copies=*) # no of copies COPIES=${option#copies=} ;; [A-Z]) # class specification ;; *) # unknown option echo >&2 "apsfilter warning: unknown option '$option'" ;; esac done unset option fi #----------------------------------------------------------------------------- # Fix the options. #----------------------------------------------------------------------------- : ${MAXCOPIES:=10} [ "${COPIES##*[^0-9]*}" ] || COPIES=1 # now $COPIES is an integer number [ "$COPIES" -gt "$MAXCOPIES" ] && COPIES="$MAXCOPIES" [ "$COPIES" = 0 ] && exit # printing 0 copies is _really_ fast :) [ "$LANDSCAPE" ] && PORTRAIT= || LANDSCAPE= PORTRAIT=set [ "$BINDING" = short ] || BINDING=long [ "$DISABLE_DUPLEX" ] && unset DUPLEX : ${ASCII_LANDSCAPE=$LANDSCAPE} ${ASCII_PPS=$PS_NUP} ${BLANK_PAGE:='\012\014'} : ${PRETTY_PRINTING:=1} case "$PS_NUP" in 2|4|8) ;; *) unset PS_NUP ;; esac PSNUP_ROTATE="-l" # if the admin decides to restrict certain options for the printer(s), # it will be done in the following scripts [ -e "$CONF_DIR/restrictions" ] && . "$CONF_DIR/restrictions" [ -e "$CONF_DIR/$QUEUE/restrictions" ] && . "$CONF_DIR/$QUEUE/restrictions" case "$PAPERSIZE" in a4) WIDTH_POINTS=595; HEIGHT_POINTS=842 WIDTH_INCHES=8.26; HEIGHT_INCHES=11.69 ;; a3) WIDTH_POINTS=842; HEIGHT_POINTS=1190 WIDTH_INCHES=11.69; HEIGHT_INCHES=16.53 ;; letter) WIDTH_POINTS=612; HEIGHT_POINTS=792 WIDTH_INCHES=8.5; HEIGHT_INCHES=11 ;; legal) WIDTH_POINTS=612; HEIGHT_POINTS=1008 WIDTH_INCHES=8.5; HEIGHT_INCHES=14 ;; ledger) WIDTH_POINTS=1224; HEIGHT_POINTS=792 WIDTH_INCHES=17; HEIGHT_INCHES=11 ;; tabloid) WIDTH_POINTS=792; HEIGHT_POINTS=1224 WIDTH_INCHES=11; HEIGHT_INCHES=17 ;; *) # use safe default values (small enough) WIDTH_POINTS=595; HEIGHT_POINTS=792 WIDTH_INCHES=8.26; HEIGHT_INCHES=11 ;; esac # if we print to a NetWare or remote lpd printer, rather let them do copies # (for lower network impact); otherwise we will do it locally if [ "${REMOTE_COPIES=set}" ]; then if [ -f "$CONF_DIR/$QUEUE/netware.conf" -o \ -f "$CONF_DIR/$QUEUE/lpr.conf" ]; then unset HARDWARE_COPIES else unset REMOTE_COPIES fi fi # now we call the driver script which assigns proper values to RESOLUTION # and GS_FEATURES, hopefully :) case "$PRINTER" in *.upp) # uniprint profile -- everything is hard-coded ;; *) DRIVER_SCRIPT="$PRINTER" if [ ! -e "$CONF_DIR/basedir/driver/$DRIVER_SCRIPT" ]; then # get the script name from the mapping file DRIVER_SCRIPT=$(grep ":$PRINTER:" \ "$CONF_DIR/basedir/driver/MAPPING" | sed "s/:.*//") fi if [ -z "$DRIVER_SCRIPT" ]; then echo >&2 "apsfilter: driver script '$PRINTER' not yet available" elif [ -e "$CONF_DIR/basedir/driver/$DRIVER_SCRIPT" ]; then . "$CONF_DIR/basedir/driver/$DRIVER_SCRIPT" else fatal_driver_script fi # correct some printer/model settings case "$PRINTER" in omni/*|hpijs/*) GS_FEATURES="$GS_FEATURES -sDeviceName=${PRINTER#*/}" PRINTER=${PRINTER%%/*} ;; stp/*|hpdj/*) GS_FEATURES="$GS_FEATURES -sModel=${PRINTER#*/}" PRINTER=${PRINTER%%/*} ;; pcl3/*) GS_FEATURES="$GS_FEATURES -sSubdevice=${PRINTER#pcl3/}" PRINTER=pcl3 ;; gimp/*) GS_FEATURES="$GS_FEATURES -sDeviceModel='${PRINTER#gimp/}' \ -sIjsServer=ijsgimpprint -dIjsUseOutputFD" PRINTER=ijs ;; ijs/*) GS_FEATURES="$GS_FEATURES -sDeviceModel='${PRINTER#ijs/}' \ -sIjsServer=hpijs -dIjsUseOutputFD" PRINTER=ijs ;; esac ;; esac # if the driver does copying/duplex by itself, we won't do it anymore # (hopefully the correct options have been added in the printer script) if [ "$PRINTER" != PS ]; then [ "$HARDWARE_COPIES" ] && COPIES=1 [ "$HARDWARE_DUPLEX" ] && unset DUPLEX fi #----------------------------------------------------------------------------- # Call the appropriate printing function. #----------------------------------------------------------------------------- case "$METHOD" in auto) unpack print_auto ;; ascii) unpack print_ascii ;; raw) print_raw ;; *) fatal_method ;; esac apsfilter-7.2.6.orig/bin/apspreview.in0000644000175000017500000000735607440502672020232 0ustar covencoven00000000000000#! /bin/sh # -*- sh -*- # # $ApsCVS: src/apsfilter/bin/apspreview.in,v 1.1.2.6 2002/03/03 20:21:14 andreas Exp $ # # apspreview by Michael Loßin # # create a temporary PostScript file using apsfilter and preview it # error() { echo >&2 "error: $1" rm -rf "$APS_TMPDIR" exit 1 } usage() { cat >&2 < /dev/null 2>&1; then viewer=gv elif type kghostview > /dev/null 2>&1; then viewer=kghostview elif type ghostview > /dev/null 2>&1; then viewer=ghostview else error "can't find a suitable PostScript viewer" fi QUEUE=${PRINTER:-lp} unset Z_OPTS INPUT_FILES # parse commandline while [ "$1" ]; do case "$1" in -P) shift; QUEUE="$1" ;; -P*) QUEUE="${1#-P}" ;; -Z) shift; Z_OPTS="-Z$1" ;; -Z*) Z_OPTS="$1" ;; -h|--help) usage ;; -*) error "unknown option '$1'" ;; *) # silly construction to allow spaces in filenames INPUT_FILES="$INPUT_FILES $1" ;; esac shift done # if the queue name is an alias, parse printcap for the original name if [ ! -d "$APS_CONFDIR/$QUEUE" ]; then # quote forward slashes q=$(echo "$QUEUE" | sed 's%/%\\/%') q=$("@awk@" -F":" "/^${q}[|:]|^[^#].*\|${q}[|:]/,/^#/ \ { if (\$0 ~ /:sd=/) print \$2 }" < "@printcap@") if [ "$q" ]; then QUEUE="${q##*/}" else error "couldn't resolve printer name '$QUEUE' in @printcap@" fi fi if [ ! -f "@sysconfdir@/apsfilter/$QUEUE/apsfilterrc" ]; then error "no configuration file found for queue '$QUEUE'" fi # create temporary configuration directory : ${TMPDIR:=/tmp} APS_TMPDIR="$TMPDIR/apspreview$$" rm -rf "$APS_TMPDIR" mkdir -m 700 "$APS_TMPDIR" if [ $? -ne 0 ]; then APS_TMPDIR=`mktemp -q -d "$TMPDIR/apspreview.XXXXXX"` \ || error "can't create temporary directory" chmod 700 "$APS_TMPDIR" fi trap 'rm -rf "$APS_TMPDIR"' 0 ln -s "@datadir@/apsfilter" "$APS_TMPDIR/basedir" mkdir "$APS_TMPDIR/$QUEUE" || error "can't create temporary directory" # use global configuration files (if available) if [ -f "@sysconfdir@/apsfilter/apsfilterrc" ]; then ln -s "@sysconfdir@/apsfilter/apsfilterrc" "$APS_TMPDIR/apsfilterrc" fi if [ -f "@sysconfdir@/apsfilter/restrictions" ]; then ln -s "@sysconfdir@/apsfilter/restrictions" "$APS_TMPDIR/restrictions" fi if [ -f "@sysconfdir@/apsfilter/$QUEUE/restrictions" ]; then ln -s "@sysconfdir@/apsfilter/$QUEUE/restrictions" \ "$APS_TMPDIR/$QUEUE/restrictions" fi # create local configuration file from the original one { cat "@sysconfdir@/apsfilter/$QUEUE/apsfilterrc" # overwrite the PRINTER setting for previewing echo "PRINTER=PS" # let's say we have a good PostScript printer :^) echo "HARDWARE_DUPLEX=set" echo "HARDWARE_COPIES=set" } > "$APS_TMPDIR/$QUEUE/apsfilterrc" export APS_CONFDIR="$APS_TMPDIR" # convert file to PostScript (one after another), then preview it : ${INPUT_FILES:=/dev/stdin} # regain file list (potentially spaces) with strange IFS setting IFS=" " for file in $INPUT_FILES; do echo "converting '$file'..." @bindir@/aps2file "$file" -P"$QUEUE" $Z_OPTS -o "$APS_TMPDIR/apspreview.ps" filetype=$(file "$APS_TMPDIR/apspreview.ps") case $(echo ${filetype#$APS_TMPDIR/apspreview.ps: } | tr A-Z a-z) in postscript*) echo "previewing PostScript data with $viewer..." $viewer "$APS_TMPDIR/apspreview.ps" ;; *) echo "aps2file didn't yield PostScript, skipping '$file'..." ;; esac done apsfilter-7.2.6.orig/bin/setup_dvips.sh0000755000175000017500000000555207076323420020412 0ustar covencoven00000000000000#! /bin/sh # $ApsCVS: src/apsfilter/bin/setup_dvips.sh,v 1.2 2000/04/16 11:42:08 andreas Exp $ # Script to make apsfilter work with TeX and dvips properly, cause # there are version of dvips "on the net" floating around not working # properly. # Just some basic error-testing is done, perhaps more if the script is # used more widely and the first bug-reports reach us :-) read_mode() { echo " Please enter the mode metafont uses to create fonts for your " echo " Printer. Proper mode-strings can be found in your modes.mf " echo " database in your mf-Directory " echo " " echo -n "Metafont-Mode : " read MODE } check_valid_mode() { TEMPDIR=${TMP:-"/tmp"} TMPDIR=$TEMPDIR/aps$$ test -d $TMPDIR || mkdir $TMPDIR cd $TMPDIR || return rm -f *gf 2> /dev/null mf '\mode='$MODE'; input logo10' >& /dev/null RES_X=`echo logo10*gf | sed 's/logo10.//;s/gf//'` RES=RES_X rm -f *gf 2> /dev/null mf '\mode='$MODE'; landscape; input logo10' >& /dev/null RES_Y=`echo logo10*gf | sed 's/logo10.//;s/gf//'` cd $TEMPDIR rm -rf $TMPDIR if [ $RES_X = 2602 ]; then echo " " echo " Please check your Mode, Metafont dropped into proof-mode. " echo " This usually happens if the Mode isn't recognized. " echo " " exit 1 fi EASY=true if [ $RES_Y != $RES_X ]; then EASY=false echo " " echo " Your printer uses a different resolution for X- and Y-direction. " echo " We will take care of this!" echo " " RES=${RES_X}x${RES_Y} else RES=$RES_X fi } read_config_dir() { echo " " echo " Please enter the directory-name where TeX keeps its PostScript " echo " Configuration-files. If you are not sure where to find it search " echo " for a file named config.ps, this is a good starting point! " echo " " echo -n " TeX-Configuration-Dir : " read CONFIG_DIR } check_config_dir() { if [ ! -d $CONFIG_DIR ];then echo " " echo " You didn't enter a valid directory-name, please check your input." echo " " exit 1 fi if [ ! -f `dirname $CONFIG_DIR"/e"`/config.ps ]; then echo `dirname $CONFIG_DIR"/e"`/config.ps echo " " echo " The directory you entered does NOT contain the config.ps-file " echo " and so it is very unlikely the TeX-config-directory. " echo " Bye!! " exit 1 fi } create_config_file() { echo " " echo " We create a config-file for a $RES DPI Printer in $CONFIG_DIR " echo " " echo " creating `dirname $CONFIG_DIR"/e"`/config.$RES " if [ $EASY = true ]; then echo "M $MODE" > `dirname $CONFIG_DIR"/e"`/config.$RES echo "R $RES_X" >> `dirname $CONFIG_DIR"/e"`/config.$RES else echo "M $MODE" > `dirname $CONFIG_DIR"/e"`/config.$RES echo "X $RES_X" >> `dirname $CONFIG_DIR"/e"`/config.$RES echo "Y $RES_Y" >> `dirname $CONFIG_DIR"/e"`/config.$RES fi echo " Done ! " echo " " echo " Much fun using apsfilter together with dvips! " echo " " exit 0 } read_mode check_valid_mode read_config_dir check_config_dir create_config_file apsfilter-7.2.6.orig/ANNOUNCE0000644000175000017500000004054710203620773016067 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/ANNOUNCE,v 1.77.2.16 2005/02/13 09:46:35 andreas Exp $ Contents of this ANNOUNCE file 1. SUPPORT 2. DESIGN CHANGES 3. NEW FEATURES 4. SECURITY 5. DOCUMENTATION 6. CONTRIBUTIONS 7. BUG FIXES 8. CODE IMPROVEMENTS 9. INTERNET RESOURCES 10. UPGRADE SUGGESTIONS 11. DONATIONS / SPONSORS New in Apsfilter 7.2.6 (BUGFIX Release) ======================================= 7. BUG FIXES - HPDJ550C doesn't support CMYK: fix in two drivers (pcl3/hpdj550c and hpdj/550C) to use CMY+K mode thanks to Zahemszky Gábor New in Apsfilter 7.2.5 (BUGFIX Release) ======================================= 7. BUG FIXES - Fixed nasty bug in SETUP that affected printing onto windows remote printer under FreeBSD and other systems. In short: you had a very good chance to trap into this if you are on a secure system where lpd is NOT running under root permissions. Symptoms: you can print a test page to the windows printer successfully within SETUP, but when doing it using lpr from the shell or application, then you end up with a huge error log in the printers spool dir. Permissions of config files for novell and appletalk remote printers have also been fixed in this new release. New in Apsfilter 7.2.4 (BUGFIX Release) ======================================= 3. NEW FEATURES - some ijs driver scripts got more differentiation concerning options for print quality. 5. DOCUMENTATION - wrong manual reference in apsfilter manpage, changed from smbprint(1) to smbclient(1) - apsfilter handbook got a path fix and cosmetic changes - support for ijs 1.1 and later (prior 1.0 and later) 7. BUG FIXES - driver/stp/escp2-440 - set traditional umask in SETUP (022) just for the case somebodies root account has strange default settings not to end up with screwed permissions, that make printing impossible. - update driver MAPPINGS 8. CODE IMPROVEMENTS - partly cosmetic, get rid of GS_MODEL - modified gs_cmnd New in Apsfilter 7.2.3 (BUGFIX Release) ======================================= 2. DESIGN CHANGES - move several SETUP files to the .../etc/apsfilter directory instead of .../share/apsfilter (which might be write-protected) 3. NEW FEATURES - support for newer HP IJS driver - support for "ijsgimpprint" driver (in new driver/gimp/ directory) - add "pretty=0/1/2" command line option (plus PRETTY_PRINTING=0/1/2 variable) to explicitly set the highlight level for text-to-PostScript converters (none/normal/heavy) 7. BUG FIXES - unbreak printing via smbclient, worked in SETUP but not after installation due to typo in SMB_IP variable - fix "remote copies" parameter to lpr - add RECODE_PROLOGUE and RECODE_EPILOGUE variables to be used before/after "recode" conversion (will be used in addition to RAW_PROLOGUE and RAW_EPILOGUE) - clean up template apsfilterrc to separate default values from examples New in Apsfilter 7.2.2 (BUGFIX Release) ======================================= 3. NEW FEATURES - new driver scripts: ljet4l, pips/sc70s, pips/sc80s, stp/pcl-2, stp/pcl-4 7. BUG FIXES - replace awk "duplex" function with psset call - adjust psnup rotation to various converters for landscape mode - add landscape option to enscript command line - introduce IGNORE_LPD_RAW variable to please buggy spoolers that send jobs in raw mode - sanitize ": ${foo:-bar}" to ": ${foo:=bar}" - make n{c}print line whitespace-safe - save return code in global temporary file - typo in wmf2eps line - make apspreview use global "restrictions" file - get basedir in SETUP from configure - protect $foo[bar] contructs from being expanded to array elements by zsh - add "-dPARANOIDSAFER" for gs7.04 (harmless for all older releases) - save "rm" and "rp" in SETUP.cfg - add some hints w.r.t landscape and n-up in handbook - remove media types in scripts for some PCL printers - be more helpful with "invalid method" - LaserJet 4L needs fixed 300dpi - LN macro in Makefile needs -n switch -- we must create a directory link even if one exists already - add .PHONY targets in Makefiles - MAPPING update - change email address in various places New in Apsfilter 7.2.1 (BUGFIX Release) ======================================= 7. BUG FIXES - remove apsfilter installation error when typing "make install" by using ln's -f (force) option to overwrite an existing symlink (just in case you overwrite another installation). - fix some HP driver mapping in MAPPING file - make apspreview work again for FreeBSD (and possibly *BSD). BSD uses a sed implementation, that uses only "normal" regular expressions for backward compatibility not to break existing scripts. Linux (GNU sed) uses "modern REs". We use now awk which turns out to be more portable between different Unix flavours. We use awk instead of sed in other scripts as well (SETUP, aps2file). - import a patch from FreeBSD ports collection necessary for FreeBSD-current to use "user:group" syntax for chown. Old style "user.group" to change owner && group isn't supported anymore. Linux's implementation of chown (from GNU) groks new syntax. New in Apsfilter 7.2.0 ====================== 3. NEW FEATURES - support for NetWare (Novell) remote printer - save network traffic by supporting "remote copies" via new REMOTE_COPIES variable. This tells lpd and Netware print spooler to do copies themselves (enabled by default). - install and test apsfilter as "non-root" user under $HOME ! This helps in testing new apsfilter versions, i.e. to prepare a migration to a new version on a production system. For this feature the configure script supports two new options: --with-printcap=... and --with-spooldir=... 4. SECURITY - use secure temporary directory in SETUP 7. BUG FIXES - aps2file and apspreview now handle printer aliases - remove bogus hpijs driver entries in setup/printer-7.00 (but they were correct in setup/printer-hpijs) - only preview if aps2file generated PostScript - driver: stp/escp2-1160 (thanks to ) - various fixes in driver/MAPPING - adjusted various omni/ scripts to use more reasonable resolution settings - enable PSgs to honor HARDWARE_COPIES - the bjc600 driver script has four new siblings (bjc50, bjc70, bjc4000, bjc7000) to properly handle printers with different print resolutions - various small SETUP clean-ups - create "basedir" link at install time already - doc/Makefile: "make clean" should remove handbook.html since "configure" re-creates it from handbook.html.in - Make handbook generation smarter, cosmetic. New in Apsfilter 7.1.1 ====================== 3. NEW FEATURES - New "apspreview" script and manual page Allows you to preview your printsession using gv, kghostview or ghostview (in that order). If the result fits your need you can of course directly print from within these viewers. - New "apsfilter-bug" utility which supports you to release a helpful bug- or problem report for us developers. Its the first release and certainly will get useful updates in the future. Detects automatically the apsfilter version you use (-current or -stable) and sends mail to proper mailinglist apsfilter-current or apsfilter-stable mailinglist. Would appreciate your feedback ! 5. DOCUMENTATION - Some handbook and manpage updates / fixes. 7. BUG FIXES - pcl3/u970 driver fix for (hardware) duplex printing. Comment: not tested due to hardware fault of our duplex device. Would appreciate some feedback. pcl3 driver is very picky about combination of gs driver options. The options currently in use have been selected from pcl3 handbook to our best knowledge. - unbreak hardware duplex printing for all true Postscript printer - New ljet4 driver for LaserJet4 style lasers. Previously it used the cdeskjet driver, which was wrong. - a2ps sometimes delegates print jobs to other applications even if user wanted to force ASCII printing (using lpr -C ascii). This breaks for example printing of Latex Sources. a2ps will now be executed with "--delegate=no". Fixed ! New in Apsfilter 7.1.0 ====================== 2. DESIGN CHANGES - configure support and a portable written Makefile makes it easier to install apsfilter correctly with proper paths and version numbers in all related files. - Configure options allow easier customized installations 5. DOCUMENTATION - update of apsfilter manpage: supported file types, supported commandline options (lpr -C/-Z), docu fix. 7. BUG FIXES - syntax error in hl1250 driver fixed. New in Apsfilter 7.0.1 ====================== 1. SUPPORT - Support for new HP driver (hpijs 1.0) One special note: the new driver introduce no real change in functionality, but introduce completely unnecessary syntax changes, that require (unnecessary) changes in apsfilter to support both, old and new hpijs driver. From apsfilter's view this is a really braindamaged change from HP, that brings nothing. - new: BJC800 driver, that is slightly different to BJC600 7. BUGFIXES - BJC600 driver fix, syntax for gs changed 8. CODE IMPROVEMENTS - apsfilter: cleanup of debugging code. "set -x" hack is NOT necessary anymore. "aps2file -D" is the right thing to do, to debug apsfilter. - SETUP: more user friendly - don't show insane defaults - check if device is character special New in Apsfilter 7.0.0 ====================== Contents of this ANNOUNCE file: 1. SUPPORT 2. DESIGN CHANGES 3. NEW FEATURES 4. SECURITY 5. DOCUMENTATION 6. CONTRIBUTIONS 7. BUG FIXES 8. CODE IMPROVEMENTS 9. INTERNET RESOURCES 10. UPGRADE SUGGESTIONS 11. DONATIONS / SPONSORS Note: This file lists changes compared to apsfilter 6.1.1 release. See ChangeLog or CVS repository browser for details during development. 1. SUPPORT - Please note, that mails concerning apsfilter that are directly addressed to any of Andreas Klemm's personal account will simply be ignored in the future. This has only organizational reasons: a) He doesn't have the time anymore to answer everything himself b) The mailinlists are there for being used ! Code/Patch submissions should go to apsfilter-hackers, see "mailing-lists" below. - In short: apsfilter support is only available by using the proper mailing-list. Advantage: everybody learns and can re-read the threads in the search- and browseable mailing-list archive. 2. DESIGN CHANGES - each printer driver is now configured with (hopefully) correct options via shell scripts (see driver/ directory) - command line options have been unified, no driver-specific stuff anymore; see doc/handbook.html for details - command line options are now case sensitive (this will allow future watermark specifications and other special things to use mixed-case strings) - cleaner SETUP: GS_RESOL, BPP have been replaced by RESOLUTION and COLOR; QUALITY and METHOD are new - PostScript printer devices are now called "PS" and "PSgs"; resolution is set separately - "raw" printer queues are now installed manually (this helps future printer admin tools -- one APS block in printcap will only contain exactly one printer queue) - "unspec" devices of hpdj and pcl3 are now called "hpdj/unspec" and "pcl3/unspec" resp. (instead of just "hpdj" and "pcl3") - PPA_OPTS is gone; this is now a special case of the more general POST_FILTER and POST_FILTER_OPTS mechanism - you need at least ghostscript 6.51 (GNU), 7.00 (AFPL) or higher 3. NEW FEATURES - "aps2file" script to allow printing directly to a file - ghostscript 7.00 support - support for lzop (de)compression - full support for gimp-print/stp, omni, hpijs, pips - support for many more third-party drivers (gs add-ons or via additional filters) - HARDWARE_COPIES variable (set this if your driver can print multiple copies by itself) - option settings can be restricted by the administrator (-> "/usr/local/etc/apsfilter/restrictions" for all printers, "/usr/local/etc/apsfilter/QUEUE/restrictions" for just one queue) - htmldoc is another html->ps converter (which we right now prefer over html2ps) - new papersize: tabloid (which is the same as 11x17; now we clearly state that "ledger" is 17x11 in SETUP) - print file listings of various archive formats - support for X window dumps, Windows Metafiles, TGIF drawings, PAM pixmaps ("xv" thumbnails -- does anyone want to print these?) - non-printer devices (e.g. image creation or PDF distiller) for print-to-file mode 4. SECURITY - slight update for duplex keys 5. DOCUMENTATION - handbook, 2nd ed. (now available as indexed HTML, PS, PDF, text) - documentation consistently uses "/usr/local/share/apsfilter/" and "/usr/local/etc/apsfilter/" as examples - manpage update 6. CONTRIBUTIONS 7. BUG FIXES - pcl3 driver now works correctly (it was not compatible to hpdj, as incorrectly assumed) - simplex mode fixed - "raw" printing requested on the lpr command line ("-l" or "-b") was overruled by the METHOD=... setting in apsfilterrc - printer models shouldn't have been adjustable via command line - SUN rasterfile entries were useless - PPA drivers now (correctly) rely on ppmraw, pgmraw _and_ pbmraw - "pnmtops" can't handle MAXVAL > 255, we need "pnmdepth" as well 8. CODE IMPROVEMENTS - awk executable path can be adjusted (useful for Solaris people) - /etc/printcap gets a verbose comment for each printer (this will be displayed in any "lpq" listing) - SETUP provides some defaults to prevent incomplete configuration - error messages are also sent to the user now (via Cc:) - unknown command line options cause a message to appear in the log - sk2ps can convert FIG drawings to PostScript - Omni update 9. INTERNET RESOURCES - newer, cleaner, better, upper-to-dater and totally baby-blue homepage: http://www.apsfilter.org/ - mailing lists: * apsfilter-announce release announcements * apsfilter-chat general topics * apsfilter-current bug reports for _development_ releases * apsfilter-cvs commit messages for cvs repository * apsfilter-devel development discussion (closed list) * apsfilter-doc documentation stuff * apsfilter-hackers technical discussion, code submissions * apsfilter-help general help; no bug reports! * apsfilter-printing printing problems (and solutions) * apsfilter-stable bug reports for _stable_ releases Information: To: majordomo@apsfilter.org Body: help Subscription: To: majordomo@apsfilter.org Body: subscribe apsfilter-xxx Mailings: To: apsfilter-xxx@apsfilter.org See also: http://www.apsfilter.org/support.html - Mailing list archive, browseable and searchable: http://www.apsfilter.org/Lists-Archives/ - User Forum "Printing under Unix Environment" (mailinglist): apsfilter-printing@apsfilter.org - Portal to other sources of information concerning printing (Linux HOWTOs, gs homepage, LPRng homepage, ...) http://www.apsfilter.org/links.html - Anonymous CVS Server So you can checkout the newest bits and bytes yourself and easily make contributions to -current or -stable source. http://www.apsfilter.org/support.html - CVS repository browser, to keep track of changes: http://www.apsfilter.org/cgi-bin/cvsweb.cgi 10. UPGRADE SUGGESTIONS This release is _not_ compatible with previous versions of apsfilter! You have to backup your current apsfilter installation directory (recommended) and rebuild your /etc/printcap file with SETUP. If you have problems with apsfilter and "traditional Berkeley line printer scheduler" (lpd) you should give LPRng a try. LPRng is compatible to BSD-style printer spoolers and offers more functionality as well as security features. 11. DONATIONS / SPONSORS - Apsfilter requires funds to operate due to hardware upgrade issues everyone experiences and other issues that might come up. Other projects sell CDROMs, but this isn't an option for apsfilter, since nobody would buy a CDROM with less then 1 MB software on it. So if you like to make hardware or money donations, feel free to send me a cheque or hardware. Please contact me via e-mail to get conto or postal address. I return I will put you onto our official list of Apsfilter Sponsors. The following URL also lists needed things: http://www.apsfilter.org/donation.html - A list of Apsfilter Sponsors: http://www.apsfilter.org/sponsors.html apsfilter-7.2.6.orig/CONTRIBUTORS0000644000175000017500000000036307154230536016613 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/CONTRIBUTORS,v 1.4 2000/09/02 16:57:02 andreas Exp $ An alphabetical list of apsfilter contributors is available at http://www.apsfilter.org/contrib.html Thanks for all the good ideas over the years ! Andreas /// apsfilter-7.2.6.orig/COPYRIGHT0000644000175000017500000004335607076323404016237 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/COPYRIGHT,v 1.2 2000/04/16 11:41:56 andreas Exp $ # You are permitted to use the apsfilter package in the terms of the GNU General Public License. GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. apsfilter-7.2.6.orig/ChangeLog0000644000175000017500000036720610203620773016514 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/ChangeLog,v 1.274.2.45 2005/02/13 09:46:35 andreas Exp $ So 13 Feb 2005 10:45:16 CET Andreas Klemm * Release 7.2.6 So 13 Feb 2005 10:24:01 CET Andreas Klemm * driver/hpdj/550C, driver/pcl3/hpdj550c adjustments to ColorMode/ColorModel as suggested by Zahemszky Gábor So 11 Mai 2003 09:56:27 CEST Andreas Klemm * apsfilter.in: printing of PDF files: use acroread5 before v4 and v3 if present as suggested by Dr. Edward Ajhar Fr 22 Nov 2002 19:40:37 CET Andreas Klemm * roll new bugfix release 7.2.5 which fixes windows/netware/ appletalk remote printing for Unix systems with secure lpd installation, that doesn't run under root privileges (FreeBSD, ...). Fr 22 Nov 2002 19:13:29 CET Andreas Klemm * SETUP: important bugfix config files for remote printing have been secured too much so that lpd, who runs under "daemon" permissions under BSD, was unable to read the config file smbclient.conf with permissions 600 root:daemon. So 10 Nov 2002 17:02:27 CET Andreas Klemm * update the apsfilterrc(5) manual page. Every option is now documented. Updated especially the section concerning the different apsfilterrc conifg files. Big warning NOT to use user manageable config files. But I documented it, because this option is still useful for "single-user" systems, where security is not an issue. So 10 Nov 2002 13:54:56 CET Andreas Klemm * document new pretty command line option introduced with ml-2002-04-14.patch Sa 9 Nov 2002 17:54:44 CET Andreas Klemm * Release 7.2.4 Sa 9 Nov 2002 17:34:28 CET Andreas Klemm * michael.lossin@pdv-FS.de, ml-2002-11-07.patch - fix in driver/stp/escp2-440 - mainly cosmetic changes - support for hpijs 1.1 and later - get rid of GS_MODEL - modified gs_cmnd, use -sstdout, ... - copyright, year 2002 in documentation - handbook cleanups - driver MAPPINGS - cleanup ijs print quality options (use high, medium, low, photo) - cleanup of RECODE_PROLOGUE in apsfilterrc - disable some hpijs printer: 400C, 540C, 600C modified files: bin/apsfilter.in doc/handbook.html.in driver/ijs/APOLLO_P-22 driver/ijs/Apollo-2500-2600 driver/ijs/DESKJET_350 driver/ijs/DESKJET_600 driver/ijs/DESKJET_610 driver/ijs/DESKJET_630 driver/ijs/DESKJET_810 driver/ijs/DESKJET_825 driver/ijs/DESKJET_920 driver/ijs/DESKJET_960 driver/ijs/PHOTOSMART_100 driver/stp/escp2-440 driver/MAPPING driver/st800 sbin/apssetup.in setup/printer-hpijs setup/printer-ijs template/apsfilterrc.in SETUP.in Fr 8 Nov 2002 05:38:26 CET Andreas Klemm * wrong manual reference in apsfilter manpage changed from smbprint to smbclient(1) So 3 Nov 2002 23:47:31 CET Andreas Klemm * Martin.Kraemer@Fujitsu-Siemens.com set umask in SETUP to make it possible to install apsfilter under root environments, that are very restrictive concerning umask settings. So 27 Okt 2002 23:24:10 CET Andreas Klemm * release version 7.2.3 So 27 Okt 2002 22:22:19 CET Andreas Klemm * prepare for version 7.2.3 * Michael Lossin: unbreak printing via smbclient, SETUP was o.k., but a typo in apsfilter broke things. * Michael Loßin, ml-2002-04-14.patch - add support for "ijsgimpprint" driver (in new driver/gimp/ directory) - update support for "ijs" driver (hpijs-1.0.x) to accomodate to new interface - add "pretty=0/1/2" command line option (plus PRETTY_PRINTING=0/1/2 variable) to explicitly set the highlight level for text-to-PostScript converters (none/normal/heavy) - add RECODE_PROLOGUE and RECODE_EPILOGUE variables to be used before/after "recode" conversion (will be used in addition to RAW_PROLOGUE and RAW_EPILOGUE) - fix "remote copies" parameter to lpr - move several SETUP files to the .../etc/apsfilter directory instead of .../share/apsfilter (which might be write-protected) - clean up template apsfilterrc to separate default values from examples Note: If you want to test the ijsgimpprint driver, please bear in mind that any strange behaviour you'll get is most likely caused by the driver itself, not apsfilter. The driver itself is still kind of buggy (I checked 4.2.1-pre5), but apsfilter support should be robust (since it's only syntactic stuff compared to the "stp" driver). The gimp-print folks have announced that the "stp" driver will be phased out after 4.2.x, so I guess support for it will eventually be removed from apsfilter as well. (Maybe we should do the same with "hpdj" and the old "hpijs" driver, since both have been obsoleted.) So 24 Mär 2002 09:27:49 CET Andreas Klemm Added FAQ entry regarding: "Is is possible to persuade apsfilter to attach EOT to PS jobs?" So 3 Mär 2002 21:10:50 CET Andreas Klemm * Michael Loßin , ml-2002-03-03.patch - introduce DUPLEX_REVERSE_{EVEN,ODD} and DUPLEX_ODD_FIRST variables for page order selection in fake duplex mode - add optional blank page to make document have even number of pages; introduce new BLANK_PAGE variable - drop "pstops" check, since both psselect and pstops are part of psutils psckage - don't bother printing a 1-page document in duplex mode - make "fake duplex" work correctly with "remote copies" mode - move PS_UTILS command to end of pipeline during ps_postprocessing to allow pages to be reversed at the correct time - add "iso-8859 html" pattern for file type recognition - make apspreview use *local* restrictions config file as well - explain fake duplex more elaborately in handbook (plus a couple of fixes) - use "install -c" in Makefile - add MEDIA default in SETUP - new "cdj670" script (without BPP setting) - new "omni/Canon_S450" script So 24 Feb 2002 16:23:18 CET Andreas Klemm * Michael Loßin , ml-2002-02-24.patch - replace awk "duplex" function with psset call - adjust psnup rotation to various converters for landscape mode - add landscape option to enscript command line - introduce IGNORE_LPD_RAW variable to please buggy spoolers that send jobs in raw mode - sanitize ": ${foo:-bar}" to ": ${foo:=bar}" - make n{c}print line whitespace-safe - save return code in global temporary file - typo in wmf2eps line - make apspreview use global "restrictions" file - get basedir in SETUP from configure - protect $foo[bar] contructs from being expanded to array elements by zsh - add "-dPARANOIDSAFER" for gs7.04 (harmless for all older releases) - save "rm" and "rp" in SETUP.cfg - add some hints w.r.t landscape and n-up in handbook - remove media types in scripts for some PCL printers - be more helpful with "invalid method" - LaserJet 4L needs fixed 300dpi - LN macro in Makefile needs -n switch -- we must create a directory link even if one exists already - add .PHONY targets in Makefiles - MAPPING update - change email Fr 18 Jan 2002 09:28:11 CET Andreas Klemm * Josef Karthauser - support for some more HP printer according to linuxprinting.org database. Not all entries are tested with all print resolution, so some feedback would be fine. HP OfficeJet 500|ijs/DESKJET_660 HP OfficeJet 600|ijs/DESKJET_660 HP OfficeJet 625|ijs/DESKJET_660 HP OfficeJet 635|ijs/DESKJET_660 HP OfficeJet 710|ijs/DESKJET_610 HP OfficeJet G55|ijs/DESKJET_930 HP OfficeJet G85|ijs/DESKJET_930 HP OfficeJet G95|ijs/DESKJET_930 HP OfficeJet K60|ijs/DESKJET_930 HP OfficeJet K80|ijs/DESKJET_930 HP OfficeJet Pro 1170C|ijs/DESKJET_810 HP OfficeJet Pro 1175C|ijs/DESKJET_810 HP OfficeJet R45|ijs/DESKJET_810 HP OfficeJet R60|ijs/DESKJET_810 HP OfficeJet R65|ijs/DESKJET_810 HP OfficeJet R80|ijs/DESKJET_810 HP OfficeJet T45|ijs/DESKJET_810 HP OfficeJet T65|ijs/DESKJET_810 HP OfficeJet V40|ijs/DESKJET_930 Do 17 Jan 2002 09:25:26 CET Andreas Klemm * Michael Lossin , ml-2002-01-14.patch - while in aps2file mode, don't deliver error mails, rather send messages to stderr only - setup/devices-6.01, setup/printer-6.01 and setup/printer-ps are obsolete - new printer: pips/sc70s - cleanup for setup/printer-epson Fr 11 Jan 2002 23:01:13 CET Andreas Klemm * Release apsfilter 7.2.1 (MFC) * Michael Lossin - Makefile.in: use ln -sf ("force") - SETUP, aps2file, apspreview: fix sed (old style) regular expression problems by using awk. Some systems does't use gnu sed for backward compatibility reasons (FreeBSD,...) not to break existing scripts. GNU sed (Linux) uses "modern REs", FreeBSD for example uses "basic REs" as of 1003.2. See re_format(7) for more info. - use "chown user:group" syntax, since some OS doesn't support old style (chown user.group) anymore (FreeBSD-current, ...) - fix some HP driver mapping in MAPPING file Do 10 Jan 2002 21:38:30 CET Andreas Klemm * For 7.2.0, MFC * Michael Lossin * make handbook build process cleaner - new doc/Makefile - new doc/handbook.html.in - get rid of source.html.in - convert apsfilter4.gif to apsfilter4.png - Makefile: install apsfilter4.png - configure: remove source.html.in Mi 9 Jan 2002 22:03:18 CET Andreas Klemm * Change Version to 7.2.0, because of new features like supporting Novell remote printer. * Adjust ANNOUNCE file for new apsfilter version * MFC: Michael Lossin , ml-2002-01-09.patch - support for NetWare printer servers (with ncprint or nprint); configuration via .../QUEUE/netware.conf - fix: aps2file and apspreview handle printer aliases - fix: hpijs drivers were wrong in setup/printer-7.00 (but correct in setup/printer-hpijs) - fix: only preview if aps2file generated PostScript - stp/escp2-1160 fix (thanks to ) - various fixes in driver/MAPPING - adjusted various omni/ scripts to use more reasonable resolution settings - configure variables: --with-printcap=... and --with-spooldir=... (nice for local installations in $HOME) - relaxed SETUP: don't check for "root", just for read/write permissions in (probably $HOME) dirs; as root do a full check, however - new REMOTE_COPIES variable: tells lpd and NetWare printer servers to do copies themselves (enabled by default), so we save some network traffic - enable PSgs to honor HARDWARE_COPIES - never ending story: the bjc600 driver script has four new siblings (bjc50, bjc70, bjc4000, bjc7000) to properly handle printers with varying resolutions - use secure temporary directory in SETUP - various small SETUP clean-ups - create "basedir" link at install time already - doc/Makefile: "make clean" should remove handbook.html since "configure" re-creates it from handbook.html.in Sa 29 Dez 2001 21:39:10 CET Andreas Klemm * Roll new release 7.1.1 Sa 29 Dez 2001 21:35:27 CET Andreas Klemm - MFC (Merges From Current): - manpage cleanups, update BUGS and USER FORUM section - include in all manpages BUGS, DOCUMENTAION and USER FORUM section from apsfilter(1) manpage, to guide people more to "do the right thing(tm)". - doc/Makefile is missing a RM define - on a make clean we shouldn't remove handbook.html since we have handbook.html under CVS control and distribute it with the apsfilter sources. And we need it for toplevel Makefile's "install:" target ! Sa 29 Dez 2001 19:43:21 CET Andreas Klemm * HOWTO-BUGREPORTS: revamped, since apsfilter-bug is available now. Will keep it under configure control, maybe wee need it later and now it saves a repository copy. Sa 29 Dez 2001 18:00:10 CET Andreas Klemm * Preparation for apsfilter 7.1.1 * MFC (Merges From Current): * Michael Lossin , ml-2001-12-29.patch - new "ljet4" script (thanks to Udo Schweigert); MAPPING update - add "--delegate=no" to A2PS_BASIC (thanks to Camille Dominique) - remove color options from {A2PS,ENSCRIPT}_BASIC, rather handle them dynamically - don't complain if input turns out to be empty, just quit gracefully - handle multiple input files in apspreview - warn about using {2,4,8}pps with both apspreview _and_ printing - when doing "make clean", don't forget doc/ dir * From me: - manpage fixes (see also: apsfilter-preview -> apspreview) Sa 29 Dez 2001 15:59:40 CET Andreas Klemm * Preparation for apsfilter 7.1.1 - MFC (Merges From Current): - Makefile.in: -r 1.58: install new bin/apspreview script and manpage - VERSION -r 1.4: split version info into "version" and "branch" (needed for apsfilter-bug) - bin/aps2file.in -r 1.5: - set shell mode for editors - simplifications from -current, no need to parse printcap -r 1.6: - support for apspreview (APS_CONFDIR) - bin/apsfilter.in -r 1.218: - fix: fix hardware duplex for PS printer -r 1.219: - aps2file context additions - configure -r 1.5: - take apsfilter-bug and manpage under configure control - add @branch@ and @confopts@ - make script apsfilter-bug executable -r 1.6: - take apspreview and manpage under configure control - make script apspreview executable - man/apsfilter.1.in -r 1.28: - updated "see also", apsfilter-bug(1) -r 1.29: - updated "see also", apspreview(1) - man/apsfilterrc.5.in - setup/test.ps.in - template/apsfilterrc.in Mo 24 Dez 2001 20:01:22 CET Andreas Klemm - duplex printing fix for pcl3 driver u970 according to handbook (gs-pcl3.html). My Duplex hardware seems to be malfunctioning, so I can't test. So 23 Dez 2001 18:47:21 CET Andreas Klemm - manpage correction * apsfilter.1.in: - added lpr -C / -Z options - removed sh from SEE ALSO section - update list of supported filetypes - correct info concerning FAQ (included in Handbook) * aps2file.1.in: - HISTORY section fix - Holger Petersen : - bugfix in hl1250 driver (3 missing ;; in case structure) - ANNOUNCE updated - SETUP: update URL of our band So 23 Dez 2001 14:21:55 CET Andreas Klemm - put some more files under configure control: HOWTO-BUGREPORTS, setup/test.ps, template/apsfilterrc - add new configure variable DOT_IN_FILES, which allows automatic creation of a complete make "distclean:" target in Makefile.in So 23 Dez 2001 10:51:30 CET Andreas Klemm * Michael Lossin , ml-2001-12-21.patch - Makefile: fix: define RM target clean: is now an empty target new target distclean: removes files created by configure - configure: display the real destination of datadir, sysconfdir, docdir (when defining own paths, configure appends string "/apsfilter", to make sure, that apsfilter gets a subdir of its own. Please tell us, if you have problems with this extra caution. Do 20 Dez 2001 22:27:27 CET Andreas Klemm * Michael Lossin , ml-2001-12-20.patch - fix bjc600/800 driver scripts - configure: VERSION read via "." command - new manpage aps2file - Makefile.in: introduce DESTDIR var - INSTALL: introduce configure for installation - Solaris fixes - handbook updates - copyright corrections Do 20 Dez 2001 16:27:27 CET Andreas Klemm * Michael Lossin , aps-configure.tar - apsfilter gets configure script, that sets paths and version correctly So 16 Dez 2001 19:24:05 CET Andreas Klemm * general preparation for 7.0.1: - resolve bin/apsfilter.rej (removal of set -x) - update Copyright to -2002 - update release strings to 7.0.1 - update -stable docu, this document is for version 7.0.1 So 16 Dez 2001 18:05:58 CET Andreas Klemm * Michael Lossin , ml-2001-12-16.patch - ANNOUNCE: update to 7.0.1, document changes - SETUP: - additional sanity checks for - character special print device - PRINTER, INTERFACE, PAPER variable (has to be set) - support for new hpijs driver 1.0 and old hpijs driver - PRINTER, PAPER, INTERFACE, DEVICE are left blank now, user HAS TO choose proper settings. Everything other seems error prone. - bin/apsfilter: - support for new hpijs 1.0 - remove "set -x for debugging", "aps2file -D" is now "the right thing(tm)", when debugging apsfilter. - therefore 2 debugging specific functions/overwrites (print_data and print_ps) has been removed as well, since aps2file does the job now. - updates for handbook - new driver files for new hpijs driver v 1.0 (driver/ijs subdir) - additional fix for bjc driver, it turned out 600 and 800 have different capabilities, therefore another driver script needed - update for the MAPPING file (bjc800 and ijs driver) So 16 Dez 2001 16:21:51 CET Andreas Klemm * MFC: fix BJC600 driver, use -sPrintQuality instead of -dPrintQuality (Michael Lossin) So 9 Dez 2001 19:01:17 CET Andreas Klemm * post release updates: - fix1: update Makefile (some files from setup are missing) - fix2: correct filename to "non-printer" - fix3: cp -d is not portable *sigh*, use tar So 9 Dez 2001 13:21:21 CET Andreas Klemm * preparing for new apsfilter release 7.0.0 - DONATIONS: style - FAQ: be more verbose and up to date - HOWTO-BUGREPORTS: some adjustments, new printcap example, more verbose on some topics. - INSTALL: some minor adjustments (style, version numbers) - Makefile: additionally install apsfilter4.gif for handbook - TODO: removed already resolved topics, added webmin * update mail addresses to use only @apsfilter.org - LICENSE, PROMOTION, SETUP, doc/handbook.html, doc/source.html Sa 1 Dez 2001 17:16:28 CET Andreas Klemm * Michael Lossin - add missing driver scripts and do some corrections driver/MAPPING driver/omni/Brother_HL_1240 driver/omni/Brother_HL_4V driver/omni/Brother_HL_660 driver/omni/Brother_HL_P2000 driver/omni/Epson_EPL_5700 driver/omni/Epson_EPL_N2000 driver/omni/HP_Color_LaserJet driver/omni/HP_Color_LaserJet_4500 driver/omni/HP_Color_LaserJet_8500 driver/omni/HP_Color_LaserJet_8550 driver/omni/HP_LaserJet_1200 driver/omni/HP_LaserJet_2000 driver/omni/HP_LaserJet_5000 driver/omni/HP_LaserJet_8000 driver/omni/HP_LaserJet_Classic driver/omni/HP_Mopier_240 driver/omni/Kyocera_FS_1750 driver/omni/Kyocera_FS_5500A_FS_5500 driver/omni/Kyocera_FS_5800C driver/omni/Kyocera_FS_600 driver/omni/Kyocera_FS_6300 driver/omni/Kyocera_FS_6700 driver/omni/Kyocera_FS_680 driver/omni/Kyocera_FS_7000 driver/omni/Kyocera_F_800A_F_800 driver/pips/sc60s Mi 28 Nov 2001 20:06:42 CET Andreas Klemm * Michael Lossin - JUMBO update for Omni (~100 new devices, many covered by the MAPPING file) - gimp-print (update to 4.2.0): dropped 3 (not working) printers, added Lexmark Z43 - pips: added SC60 - replaced wmftopng+wmftofig by wmf2eps - minor typo fixes Di 20 Nov 2001 20:27:51 CET Andreas Klemm * Michael Lossin - support for lzop (de)compression - print_auto: stricter case patterns, less mismatches caused by freeform strings - more archive formats (file listings): arc, arj, lha, rar, zoo - support for PAM pixmaps (aka p7 aka xv thumbnails) and tgif drawings - do_convert changes: -monochrome switch, output to PostScript Level 1 (seems more reliable) - slight handbook update (links, typos) - stp: Lexmark Z42 (mapped to Z52) - typo fixes for some Omni scripts Sa 17 Nov 2001 15:26:21 CET Andreas Klemm * Michael Lossin * merge in changes from his experimental version of Nov 9th 2001 (http://y42.briefcase.yahoo.com/losse) * lots of changes, new driver design etc: * ->>> tagged old -current with PRE_DRIVER_SCRIPTS * Doesn't support gs5.x anymore, you NEED at least ghostscript 6.x !!! This is possible, since gs6.x has been GPL'd, so supporting old gs 5.x is not necessary anymore... - each printer driver is now configured with (hopefully) correct options via shell scripts (see driver/ directory) - command line options have been unified, no driver-specific stuff anymore; see doc/handbook.html for details - command line options are now case sensitive (this will allow future watermark specifications and other special things to use mixed-case strings) - cleaner SETUP: GS_RESOL, BPP have been replaced by RESOLUTION and COLOR; QUALITY and METHOD are new - PostScript printer devices are now called "PS" and "PSgs" resolution is set separately - "raw" printer queues are now installed manually (this helps future printer admin tools -- one APS block in printcap will only contain exactly one printer queue) - "unspec" devices of hpdj and pcl3 are now called "hpdj/unspec" and "pcl3/unspec" resp. (instead of just "hpdj" and "pcl3") - PPA_OPTS is gone; this is now a special case of the more general POST_FILTER and POST_FILTER_OPTS mechanism - you need at least ghostscript 6.51 (GNU), 7.00 (AFPL) or higher - "aps2file" script to allow printing directly to a file - ghostscript 7.00 support - full support for gimp-print/stp, omni, hpijs, pips - support for many more third-party drivers (gs add-ons or via additional filters) - HARDWARE_COPIES variable (set this if your driver can print multiple copies by itself) - option settings can be restricted by the administrator (-> "/usr/local/etc/apsfilter/restrictions" for all printers, "/usr/local/etc/apsfilter/QUEUE/restrictions" for just one queue) - htmldoc is another html->ps converter (which we right now prefer over html2ps) - new papersize: tabloid (which is the same as 11x17; now we clearly state that "ledger" is 17x11 in SETUP) - print summaries of AR, RPM, TAR, CPIO, CAB and ZIP files - support for X window dumps and Windows Metafiles - non-printer devices (e.g. image creation or PDF distiller) for print-to-file mode - awk executable path can be adjusted (useful for Solaris people) - /etc/printcap gets a verbose comment for each printer (this will be displayed in any "lpq" listing) - SETUP provides some defaults to prevent incomplete configuration - error messages are also sent to the user now (via Cc:) - unknown command line options cause a message to appear in the log - sk2ps can convert FIG drawings to PostScript - Omni update - fix ANNOUNCE: get help from majordomo via "help" keyword in the _Body_ of the mail (NOT subject line). Do 4 Okt 2001 08:25:21 CEST Andreas Klemm * From: "Jose M. Alcaide" pcl3 and hpdj driver have different commandline options for selecting color model. Fix: hpdj and pcl driver now get separate case structures with suitable commandline options, i.e.: hpdj: GS_FEATURES="$GS_FEATURES -sColourMode=CMYK" ;; pcl3: GS_FEATURES="$GS_FEATURES -sColourModel=CMYK" ;; Sa 15 Sep 2001 13:17:01 CEST Andreas Klemm * hpijs support: SETUP: - gs -h only prints hpijs, not all the models, so the hpijs printer selection function had to be modified. - Additionally printing of test page needed modofication. apsfilter: - fix of hpijs support needed modifications at different places in the source. - added -C option debug, so that you can enable set -x on the commandline. Although this doesn't enable debugging at a very early stage it should be sufficient for certain situations where you only want to see some stuff + how gs has been called. - because of debug options, check printer independend options first Makefile: - install new setup profiles in FreeBSD for gs 7.0 and hpijs printer models So 1 Jul 2001 10:49:06 CEST Andreas Klemm * Added a FAQ entry, ASCII print problems because of `out of date' a2ps version So 15 Apr 2001 12:13:32 CEST Andreas Klemm * Michael Lossin - update for ghostscript 7.00 (-> setup/printer-7.00, setup/devices-7.00) - support for HP's official "hpijs" drivers (-> setup/printer-hpijs); right now they appear in setup/printer-7.00 as well, since gs7.00 includes them - _again_ new duplex key generation routine (in a silly attempt to make it portable); uses awk's rand() - customizable AWK executable (mostly for Solaris, which has a default awk not suitable for apsfilter) - expressive /etc/printcap comment for each printer - setting the hpdj/pcl3 printer model on the command line isn't really useful (who changes printers dynamically?) - defaults for some SETUP variables - handbook updates to reflect these changes - "SUN rasterfile" entries in printer databases were rather useless - minor code cleanups Maybe someone with an HP printer is willing to test the hpijs drivers (see http://hpinkjet.sourceforge.net/ or the gs7.00 release). Michael So 1 Apr 2001 13:36:04 CEST Andreas Klemm * Michael Lossin - fix for duplex printing on FreeBSD, we need to use hexdump + od -A n -t x -N 8 /dev/urandom od: illegal option -- A od: od(1) has been deprecated for hexdump(1) special quoting necessary for Linux using the hexdump command * Andreas bin/apsfilter: set -x is new default for apsfilter-current this is a developer release. I'm getting sick of commenting it out every time when I check new code ;-) Do 29 Mär 2001 21:31:40 CEST * Michael Lossin : - The duplex password generation routine and the reading from the fifo don't happen to behave correctly in all cases, mostly due to possible space/tab characters in the key. This fix just strips all non-alphanumerical characters from the password, just to be sure. Di 20 Mär 2001 15:50:26 CET Andreas Klemm * minor fix: HOWTO-BUGREPORT, release = 7.x * install README.BSD for FreeBSD ports collection Di 20 Mär 2001 00:37:00 CET Andreas Klemm * wrote ANNOUNCE file * remove TROUBLESHOOTING file, see handbook now * FAQ, reference to handbook * Merge from Stable, trim DONATIONS, add reference to webserver * update INSTALL file * move comments about patching lpd for CLASS support to a separate file README.BSD So 18 Mär 2001 18:30:51 CET Andreas Klemm * update manual pages in nroff format. Di 13 Mär 2001 18:36:10 CET Andreas Klemm * Michael Lossin : - TEXINPUTS was exported in the wrong context; it also gets extended by "$HOME:/tmp:/var/tmp" to help users provide the embedded files - PRINT_DVI gets its input from a seekable file - PRINT_DVI was documented as DVI->PS, but is actually DVI->PrinterLanguage - some "eval vs. whitespace" fixes - add warning if duplex fifo couldn't be created - convert had some problems with reading from pipes (at least with bmp and sgi files) - nconvert couldn't read ilbm files from a pipe Do 8 Mär 2001 04:33:39 CET Andreas Klemm * Michael Lossin : - TMPDIR fix: apsfilterrc entry was ignored - html2ps fixes: - ghostscript needed for DSC output (issue a warning if gs can't be found) - honor LANDSCAPE and PAPERSIZE settings - omni update: -sproperties='...' used for parameters - setup/printer-stp update - handbook updates Sa 3 Mär 2001 11:52:25 CET Andreas Klemm * Michael Graywane : typo/bugfix: correct bj200 driver name in printer-5.50 file Do 1 Mär 2001 06:49:12 CET Andreas Klemm * Michael Lossin SETUP: * samba passwords with ' characters are used correctly now (a password a'b'c was saved as SMB_PASSWD='a'b'c' which was read as abc ; now it becomes SMB_PASSWD='a'\''b'\''c' ) * spool dir owner/group is correctly recognized in most cases, so use "yes" as a default answer bin/apsfilter: * more papersize hints for various filters: pnmtops, tiff2ps, pdftops, pdf2ps some need sizes in points, some need inches * nconvert can't read fits images from a pipe (for whatever reason), so we need a temp file (-> fitstopnm is preferred now) doc/handbook.html: * no output from the printer can be caused by (unwanted use of) a default "lp" printcap entry or speaking to the wrong printer queue Mo 26 Feb 2001 10:14:30 CET Andreas Klemm * Bugfix: tmpdir didn't get set properly because we need := not :- in this case. So 25 Feb 2001 17:04:20 CET Andreas Klemm * Lars Köller Add -size ${PAPERSIZE} to acroread options for better A4 printing (and probably printing of other formats) So 25 Feb 2001 13:16:48 CET Andreas Klemm * Joerg Wunsch - apsfilterrc file: add another sample A2PS_BASIC entry #A2PS_BASIC='-Eplain' prevents a2ps for example to preformat troff documents So 18 Feb 2001 21:26:54 CET Andreas Klemm * Michael Lossin - replaced "psset" from the a2ps package with an inline function 'ps_set_tumble()' - PS_EXIT will be parsed by gs after the data - PS_INIT was not whitespace safe - true random duplex passwords (if available) - duplex notification uses USER@HOST - new filters: g32pbm, tiff2ps - cleanup of TEMP and TMPDIR usage - Omni drivers use PRINT_MODE_1_ANY for b/w - handbook.html fixes and updates - printer-omni: added Epson Stylus Photo 1270 - some case pattern fixes Do 1 Feb 2001 22:57:15 CET Andreas Klemm * Michael Lossin - convert has some problems with file magic (most notably Targa files), so now there's an additional command line option which sets the image format the hard way (to be on the safe side, all image formats got that) - PC bitmap files were not recognized correctly - match patterns for compressed file types were too greedy - bonus for no extra cost: 3 new printer models for the Omni driver collection Do 25 Jan 2001 19:45:27 CET Andreas Klemm * Michael Lossin - handbook got some more links and a decent coverage of the error messages created by apsfilter (plus some minor stuff), and the gimp-print driver knows more printer models. Di 23 Jan 2001 08:24:42 CET Andreas Klemm * Michael Lossin - take first draft of apsfilter handbook under CVS control Mo 22 Jan 2001 21:09:14 CET Andreas Klemm * Michael Lossin - setup/printer-addon was split into several files (basically one for each driver type): now we have cdj, hpdj, omni, pcl3, ppa, ps, stp - the driver type next to the printer model is useless now - changes to the driver selection menu - listing of ghostscript devices also shows version number - pcl3 fully integrated (compatibility to hpdj assumed) - color depth menu was a bit large for 25 line screens - slight changes to the papersize menu - apsfilter copy machine is actually implemented - changes to variable handling ("parallel" vs. "sequential" setting) - RAS2PS_OPTS removed - "(STDIN)" for LPRng recognized - checking the ghostscript version with class options was basically useless (SETUP already checks it, and the options are known to all current versions anyway) - bug fix: "pswrite" vs. "psgray" usage was reversed So 21 Jan 2001 11:02:47 CET Andreas Klemm * Michael Lossin * checked out before his patch: ml-20010112.patch * applyed reworked patch: ml-20010117.patch - apsfilter can print multiple copies of the same document, independent of the spooler -- it only has to pre-process the input once (including gs rendering), then sends the raw data multiple times, and it even work correctly in "fake" duplex mode [use "lpr -C copies=42 file.txt" for 42 copies -- the default maximum copy count is 10, however] - IBM Omni update -- 30 additional Canon models - LPRng uses "(STDIN)" as the job title (again) -- now check for "stdin", "(stdin)" and "(STDIN)" - PSgs_* devices use "pswrite" and "psgray" drivers - a2ps needed some help with file types -- now heavy markup is the default (via A2PS_BASIC) - new filters: ilbmtoppm, jpegtopnm, mgrtopbm, rletopnm - recode always uses "-q" - unneeded options to djpeg and ras2ps have been removed - TMPDIR clean-up in SETUP - gs >= 6.60 use 6.50 as the feature base - SETUP pretty-prints gs devices - Linux USB device paths shown during SETUP Di 9 Jan 2001 13:41:14 CET Andreas Klemm * Ian Heggie - fix samba remote printing bug. Export password using PASSWD (not PASSWORD) variable as of samba 2.0.7 (man smbclient...) Di 9 Jan 2001 13:20:52 CET Andreas Klemm * Michael Lossin - SETUP: allows user enter an apsfilter ETC_DIR of his choice Please Note: this is still in discussion and will probably be replaced in the near future by a configure script - bin/apsfilter: - in traps use signal *number* - set umask 077 for apsfilter script (we are already secure, because the tmp directory for a print job is secure. But but now we are even more secure by setting this file creation mask for every tmp file in the already secure tmpdir. - changes concerning etcdir ($CONF_DIR, $QUEUE) - make functions better readable and quoting easier old: functions are given the command arguments which will generate their input. new: These now all take their input from stdin (again); the previous approach (to provide commands as parameters that generate the proper input) would only save two (at most three) trivial cat commands, but it was very picky w.r.t quoting -- and also a pain to read and debug. So 7 Jan 2001 16:48:50 CET Andreas Klemm * new developement version 7 - ANNOUNCE: trim file, so that new features can be documented but keep keep things that are still valid (support, mailinglists) - HOWTO-BUGREPORTS: change version strings - INSTALL: trim file, there is currently no FreeBSD port of apsfilter developement snapshot available. - KNOWN_BUGS: remove version string so that we don't need to update it on release changes, currently none - LICENSE: update copyright, add year 2001 - SETUP: update version to 7.0 devel, change copyright (year 2001) - bin/apsfilter: update version string and add year 2001 to copyright Fr 22 Dez 2000 18:26:04 CET Andreas Klemm * Michael Lossin update for the gimp-print (stp) and IBM Omni drivers... Sa 16 Dez 2000 13:24:46 CET Andreas Klemm * Michael Lossin SETUP: support for gs 6.50 Do 14 Dez 2000 08:09:32 CET Andreas Klemm * Ilya Martynov Fix syntax error in apsfilter script Mo 11 Dez 2000 22:17:28 CET Andreas Klemm * choose another syntax for dd and use 16k instead of 8k otherwise file doesn't detect all filetype right as binary. Sa 9 Dez 2000 17:20:24 CET Andreas Klemm * support for printing MS Windows applications of type 'ms windows coff unknown cpu' on standard printer lp (no need for an additional raw queue for the same physical printer) So 26 Nov 2000 16:08:53 CET Andreas Klemm * Michael Lossin - support for cdj970 3rd party driver from www.harsch.net and hardware duplex support in apsfilter for HP DeskJet 970 Currently SETUP doesn't make an HARDWARE_DUPLEX=set entry in /etc/apsfilter/.../apsfilterrc You should set it manually until this minor issue is resolved. Sa 11 Nov 2000 08:39:10 CET Andreas Klemm * quick commit before holidays * Michael Lossin - support for IBM omni driver - updates for gimp-print/stp - support for pswrite devices, which are devices, that add an additional rendering stage: input -> conversion to PS -> gs -sDEVICE=pswrite ... -> printer to enable PS printer to recognize non-standard PS fonts, that are not embedded in the PS file. Same for images. For example: Sketch can be configured to use Type1 fonts. these are referenced by name in the *.sk file and (after conversion with sk2ps) also in the PS file. These devices are now named PSgs_XXXdpi or PSgs_XXXXdpi Mo 11 Sep 2000 08:41:18 CEST Andreas Klemm * Michael Lossin : - add support for the stp driver from gimp-print - add support for the pnm2ppa tool setup/printer-6.01 has been split into several files for real PostScript printers, add-on drivers for gs and PPA-printers, so people get better overview of printer types and drivers this way. * Andreas: - update setup/README - remove not used printerdb Sa 9 Sep 2000 17:41:31 CEST Andreas Klemm * SETUP: bugfix: cleanup after removal of GLABAL.sh: TMP was undefined, so testpages have been created in "/" instead of "/tmp" Sa 9 Sep 2000 11:10:51 CEST Andreas Klemm * release new developement snapshop Sa 9 Sep 2000 09:51:55 CEST Andreas Klemm * Andreas Reuter watermark.ps is very simple and makes some assumptions that can easily be broken by postscript documents. Created watermark routine with whole calculation code, maybe this fixes up some of the oddities. Sa 9 Sep 2000 09:03:37 CEST Andreas Klemm * based on idea and feedback from: Jeffrey Moskot SETUP: hint to enter 'raw' as remote queuename when configuring remote printer with HP Jetdirect network card. The JetDirect card has two queues on it, 'raw' is the one we may use to print, the other is for text only. Fr 8 Sep 2000 15:44:53 CEST Andreas Klemm * Michael Lossin : * fix a sh syntax bug in SETUP Do 7 Sep 2000 20:02:12 CEST Andreas Klemm * Michael Lossin : * samba password is not used on the command line anymore, but in the PASSWORD environment variable * custom printer queue names really work now (the given default name is "lp" if it isn't used already) * /etc/apsfilter/$QUEUE/apsfilterrc.$USER is another config file * new config variable: DISABLE_DUPLEX (needed if apsfilter is not running on the host the print job was started) * more verbose apsfilterrc template * some documentation updates Mi 6 Sep 2000 22:08:56 CEST Andreas Klemm * Michael Lossin : NIS corrections. Di 5 Sep 2000 21:11:13 CEST Andreas Klemm * statement concerning personal e-mail to me and SUPPORT in general. Di 5 Sep 2000 20:37:33 CEST Andreas Klemm * make it possible to run apsfilter in NIS environment extraction of $HOMEDIR works now. idea from: Volker Seebode Mo 4 Sep 2000 21:34:06 CEST Andreas Klemm * fixes for hpdj printers, special treatment for driver hpdj_u970 * BITSPERPIXEL can't be changed for hpdj * due to popular demand: ASCII_PPS and ASCII_LANDSCAPE change the printout just for ASCII files, independent of PS_NUP and LANDSCAPE (but these provide default values if needed) * BINDING now uses "short" and "long" instead of psset-switches * fixed printing on PS-printers and during debugging Sa 2 Sep 2000 18:53:41 CEST Andreas Klemm * replace list of apsfilter contributors with this link: http://www.apsfilter.org/contrib.html Sa 2 Sep 2000 12:57:15 CEST Andreas Klemm * added working watermark template from Andreas Reuter this file is the basis to _dynamically_ create backgrounds for every printed page, i.e.: "internal use only", "Top Secret" etc. Probably we'll use it this way in the future: lpr -C wmark="Top Secret" file Sa 2 Sep 2000 10:40:32 CEST Andreas Klemm * be more verbose about what A2PS_OPTS gives you (overwrites the complete a2ps commandline) Fr 1 Sep 2000 17:25:12 CEST Andreas Klemm * yes, we can remove the two entries from KNOWN_BUGS These entries are no apsfilter bugs. Have been added to FAQ * FAQ has been updated on webserver. Fr 1 Sep 2000 16:19:35 CEST Michael Lossin * custom printer queue names, as suggested by Jef Moskot * cloning spool dir permissions with chmod (I think this needs the GNU version) * call checkpc after printcap fiddling (will be ignored by BSD spoolers) * faster code insertion for paper tray selection with awk, as suggested by Beat Rubischon * color mode fixed for hpdj * small changes in class option code * INSTALL, README and apsfilterrc updates * remove unneeded docu .... doc/methods, doc/features, doc/WHAT_AM_I KNOWN_BUGS and by me: * still keep KNOWN_BUGS have to test this ... * update Makefile (remove nuked stuff) * check for checkpc before using it. * add /usr/local/sbin for checkpc Do 31 Aug 2000 20:00:33 CEST Michael Lossin * read command in ash already has the functionality to "raw" read the input. Check if the read command can handle "-r" and use it if possible * fix some minor bugs with PostScript handling Mo 28 Aug 2000 18:09:55 CEST Andreas Klemm Michael Lossin : * ASCII_STYLE is gone; use PS_NUP and LANDSCAPE now (class options: 1pps, 2pps, 4pps, 8pps, landscape, portrait) * new config option: HARDWARE_DUPLEX; set this for printers that can handle duplex printing by themselves * new function: ps_postprocessing() handles all PS_UTILS etc. * tray selection for duplex printers (as a shell function) * more class options: shortbind, longbind, tray0...tray9, book; related config options: BINDING, PAPERTRAY, PS_BOOK * give some more info on how to manually flip sheets * SETUP: fix SMB_FLAGS line for smbclient.conf * use "-r" option for many read operations * small fixes here and there So 27 Aug 2000 22:29:05 CEST Andreas Klemm * bin/apsfilter: fix samba remote printing Space was missing "-c'print -'" -> "-c 'print -'" Thanks to: max@dotcom.fr (Maxime Soulé) So 27 Aug 2000 15:24:01 CEST Andreas Klemm Michael Lossin -------------------------------- Here are some small changes to the duplex code, more class stuff and several minor tweaks: * duplex printing: - "forced simplex" mode was totally fscked up (infinite loop _and_ wrong print command) - use psselect _or_ pstops to extract odd/even pages - one less temporary file * new function send_mail for duplex and failure messages * DVIPS_REVERSE and ACROREAD_REVERSE are gone; PS_UTILS should be used to correct _all_ file formats * new class options: - a3,a4,letter,legal,ledger (paper size) - a2ps,mpage,recode (ASCII filter) - 1pps,2pps,4pps,8pps (pages per sheet) - border,noborder,header,noheader (ASCII style) - landscape (force orientation for ASCII and DVI) - simplex (force non-duplex mode) - color,mono (color handling) * FAQ update * slight manpage fixes * Makefile fixes * small cosmetic changes here and there changes from me: ---------------- * SETUP: A -> abort, I -> install a printer, Q finish installation I think quit is the usual leave operation * hint for FreeBSD ports collection, not to install manpages * SETUP, apsfilter: Change my mail address to andreas@apsfilter.org * SETUP: make more clear how to restart the lineprinter scheduler * SETUP: install_man_pages: - document 'default' to not install manpages when simply hitting RETURN, ie. when installing from FreeBSD ports collection - its not clear if FreeBSD user used ports collection or not, so ask if manual pages should be installed or not * SETUP: save 2 seconds sleep by combining a message * FAQ, use the SGML based version Changes to the FAQ should directly be made to the doc tree ! * TODO: remove resolved items, update some ITEMS and one new. Sa 26 Aug 2000 18:26:51 CEST Andreas Klemm * SETUP: fix permissions of $SPOOLDIR 700 was to restrictive for BSD. TODO: "clone" permissions of $SPOOL * SETUP: bugfix: BSD needs /usr/sbin in PATH to find chown. added /sbin as well, since this is unexpensive and possibly needed for other systems. Sa 26 Aug 2000 17:58:33 CEST Andreas Klemm * SETUP: cosmetic, reformat menues to still fit within 25 lines Sa 26 Aug 2000 13:48:40 CEST Andreas Klemm * SETUP: fix: grep -c needs an argument (".") in echo "\c" | grep -c . to work on FreeBSD and possibly other BSDs with GNU grep 2.4 Fr 25 Aug 2000 18:44:38 CEST Andreas Klemm * update apsfilter.1 man page concerning duplex printing. * fix default installation directory, which is now /usr/local/share. * nuke GLOBAL.sh entirely Fr 25 Aug 2000 17:45:21 CEST Andreas Klemm * Michael Lossin - enable apsfilter to fake a duplex PostScript printer. What is basically does is: - extract the even pages from a ps file and print them - mail a notification to the user to flip the pages and to echo a "secret" key into a named pipe which is used for communication - wait for the key by busy-reading the named pipe - print the odd pages This probably only supports remote printing if apsfilter is running on the local host. Local printers work (as far as I tested). Maybe the page order of the odd pages has to be reversed this can be done with a new config variable if needed. BTW: use "lpr -C duplex file.ps" to try it - GLOBAL.sh is gone (apsfilter and SETUP now have everything "on board") - apsfilter man page got an update. Fr 25 Aug 2000 11:07:42 CEST Andreas Klemm * SETUP, mention USB ports for BSD ... Di 22 Aug 2000 17:56:28 CEST Andreas Klemm * From Michael Lossin use warn_about_missing_gs in SETUP Di 22 Aug 2000 08:42:01 CEST Andreas Klemm * installation destination for FreeBSD ports collection ${PREFIX}/apsfilter -> ${PREFIX}/share/apsfilter reason: apsfilter libdir can be exported. NFS clients theoretically could install apsfilter by simply calling SETUP from the mounted directory. Mo 21 Aug 2000 19:35:10 CEST Andreas Klemm * From Michael Loßin : - decent quoting for configuration files - return codes for LPRng in case of fatal_*() exit (I hope this doesn't upset BSD-lpr) - use of local variables - TEMP directory for gs is now APS_TMPDIR (gs doesn't always remove its temp files; this is fixed now) - use of do_pager in SETUP instead of more - small fixes here and there Sa 19 Aug 2000 10:47:58 CEST Andreas Klemm * clean up Makefile after src subdir has gone create a new snapshot, since FreeBSD port apsfilter6 had problems with that Mi 16 Aug 2000 11:49:01 CEST Andreas Klemm * make developement version available Mi 16 Aug 2000 10:36:59 CEST Andreas Klemm * From Michael Loßin SETUP - mass installation of printer - New configuration directory (/etc/apsfilter/...) - raw-printer optional - /etc/printcap, cosmetic change - keep non apsfilter entries in /etc/printcap, even if overwrite has been selected - you can skip installation of manpages. - Tab 4 - minor bugfixes - misc optimization / fixes. bin/apsfilter: - use new config dir /etc/apsfilter - prefer use of do_convert instead of do_nconvert - new env var RAW_PROLOGUE and RAW_EPILOGUE substitute RAW_SETUP and RAW_ADD_FF - Bugfixes and optimizations apsfilterrc changes to reflect changes in apsfilter and SETUP All configuration now in /etc/apsfilter a) global config for all printer - /etc/apsfilter/apsfilterrc b) APS_BASEDIR in printcap is gone, new basedir file: /etc/apsfilter/basedir c) /etc/apsfilter/apsN contains: * link apsN-... to ../basedir/bin/apsfilter for :if=...: * apsfilterrc (optional) * smbclient.conf (optional) * pap.conf (optional) Advantages: everybody has access right for configuration SPOOLDIR now may get restrictive access rights again ! Wed, 2 Aug 2000 16:54:52 +0200 Matej Vela * bin/apsfilter: * More contributions from Michael Lossin : * print_ascii: Must use `a2ps -b...' instead of `a2ps -b=...'. * print_pcd: pcdtoppm needs `-' as second argument. * Check for LPRng Z options. * print_pdf: * pdftops 0.80 and earlier don't support `-q', so don't force it. * acroread always needs to be run with `-toPostScript'. * Create a temporary input file for acroread because it creates one in the pipeline mode too, but forgets to remove it. * print_ps: A simpler default for $GS_FONTPATH and $GS_LIB. * print_dvi: Simplified the setting of a default resolution. * Simplified the parsing of the lock file. * Noted support for WordPerfect graphics and XCF. Tue, 1 Aug 2000 17:18:29 +0200 Matej Vela * bin/apsfilter: Simplified the parsing of the lock file. * SETUP: Fixed a copy/paste oversight. * Makefile: Removed the obsolete `release' and `webpage' targets. Mon Jul 31 22:29:17 CEST 2000 Andreas Klemm * change make-release to operate on apsfilter.org Matej and I are now both possible to roll apsfilter releases. Sun, 30 Jul 2000 15:10:20 +0200 Matej Vela * SETUP: Determine whether user is super-user by checking the UID instead of the username. * bin/apsfilter: * do_nconvert: Check whether pnmtops is present. * Better comments. * print_pdf: Support for pdftops (part of Xpdf). * ash doesn't do word splitting on WORD from ${PARAMETER:+WORD}, while bash does. Both should be satisfied now. Sun, 23 Jul 2000 16:30:16 +0200 Matej Vela * bin/apsfilter: * find_filter: Use `type' instead of `command -v' because the latter (although a part of POSIX) isn't supported by the FreeBSD and the NetBSD version of ash. * More contributions from Michael Lossin : * Support for FBM, FITS, IFF ILBM, MGR, MIFF, Kodak Photo CD, PNG, RLE, SGI, Sketch, Targa, WordPerfect graphics, GIMP XCF, X pixmap. * print_ascii: Renamed $A2PS_STYLE, $A2PS_BORDER, $A2PS_HEADER to $ASCII_STYLE, $ASCII_BORDER, $ASCII_HEADER, respectively; now used both by a2ps and mpage. Added a default for $MPAGE_BASIC. * Shortened class options handling. * Process LPRng Z options like class options. * (By Andreas.) unpack: Run file without -b since the FreeBSD version doesn't support it. * Fixed a quoting problem with $A2PS_BASIC, $HTML2PS_OPTS, and $RECODE_OPTS. * print_dvi: Always run dvips with `-q -o -'. * Renamed the convert and the nconvert function to do_convert and do_nconvert, respectively, to avoid convert and nconvert being always detected as present by type in find_filter. * Style and consistency improvements. * print_ps: Use $PS_INIT for UPP printers too. * template/apsfilterrc: * Corrected `PSUTILS' to `PS_UTILS'. Removed a superfluous `|'. * Corrected a `=' to `!'. * Commented out default values. * Moved $NOTIFY from global/GLOBAL.sh to template/apsfilterrc since it is used only in apsfilter. * Testing: reverted to shell syntax for configuration files. If you want user configuration files, you should run apsfilter under a specialized UID -- see the apsfilterrc template. Fri, 21 Jul 2000 16:22:18 +0200 Matej Vela * bin/apsfilter: * More contributions from Michael Lossin : * Support for convert (part of ImageMagick). * Support for PGM. * Support for nconvert (part of XnView). * Changed indent to 4 spaces for readability; made everything fit in 78 columns for context diff. Thu, 20 Jul 2000 18:21:20 +0200 Matej Vela * bin/apsfilter: * Reworked the option processing. * Style and consistency improvements. * More contributions from Michael Lossin : * bin/apsfilter: * Print raw when given the -c option. * LPRng provides $SPOOL_DIR. * print_ps: Check whether gs is installed. * print_sunraster: Fixed missing evaluation. * lib/redir_gs_msg.ps: Removed because it doesn't work on gs 6.01. Tue, 18 Jul 2000 15:48:48 +0200 Matej Vela * bin/apsfilter: * Reworked the handling of temporary files -- using a temporary subdirectory is simpler to implement and more portable. * More contributions from Michael Lossin : * Run dvips in secure mode (-R). * Run html2ps in grayscale (-g) when appropriate. * Run djpeg without `-colors 256'. * Get $HOMEDIR via tilde expansion when available. * Fixed a missing bracket. * Run groff in safer mode (-S). * Filter presence is now checked at run-time; filtersetup is gone. Still need to update the documentation... * Merged from the RELENG_5 branch: * HP DJ 970C support. hpdj bug fixes. * PAP support. * bin/apsfilter: * Run acroread with -fast; also -reverse when appropriate. * Discard -dBitPerPixel options for the hpdj driver -- it doesn't like them. * Run gs 6.x using -_ instead of - for efficiency. * Replaced $RAW_SUPPRESS_FF with $RAW_ADD_FF. * SETUP: Use the suppress formfeed (sf) printcap setting for raw. * Removed occurences of /etc/apsfilterrc from the documentation. * New/revised uniprint profiles from Harold Bower . Sat, 15 Jul 2000 23:02:10 +0200 Matej Vela * More contributions from Michael Lossin : * bin/apsfilter: * SIGINT is no longer ignored. * Fixed a missing redirection. * Always export $GS_LIB. * unpack: Pass on the handler command line when recursing. * Stricter label checking. * When LPRng is used, parse the command line options instead of $CONTROL. * Epson Stylus Color 640 profiles updated. Fr 26 Mai 2000 13:39:24 CEST Andreas Klemm * SETUP: tell the user, that he has to use at least gs version 5.50, but 6.01 is really recommended. Fr 26 Mai 2000 12:22:59 CEST Andreas Klemm * new file doc/README.SuSE, installation hints for SuSE 6.3 and 6.4 submitted by robin@cosby.demon.co.uk Do 25 Mai 2000 21:42:12 CEST Andreas Klemm * make-release: path for sitebackup directory changed * make-release: use diff -kk Mi 24 Mai 2000 17:38:04 CEST Andreas Klemm * call apsfilter-current apsfilter 6.0 Sun, 14 May 2000 03:18:12 +0200 Matej Vela * bin/apsfilter: Corrected `$GS_VERSION' to `$gs_version', as noted by Michael Lossin . Wed, 10 May 2000 18:16:35 +0200 Matej Vela * Added preliminary mpage support, as suggested by Michael Lossin . Sat, 6 May 2000 18:21:27 +0200 Matej Vela * Implemented the rest of the suggestions from Michael Lossin : * bin/apsfilter: * Print recode(1) output using print_raw. * Look for `*.upp' instead of `uniprint' in print_dvi. * SETUP: * Disabled changing the resolution on Uniprint and PostScript printers. * Added the uniprint profiles for Epson Stylus Color 640. Thu, 4 May 2000 22:26:52 +0200 Matej Vela * bin/apsfilter: Fixed a design flaw in the rewrite -- files were not unpacked for `lpr -C ascii' -- by separating the auto_print function to two new functions, unpack and print_auto, and calling them appropriately. Wed, 3 May 2000 07:19:53 +0200 Matej Vela * bin/apsfilter: * An experimental rewrite. * Added search for sendmail in several standard places. * Fixed the control file location determination for lpr. * Replaced dd with tr because of the size difference on FreeBSD. * Fixed print_raw to comply with the general calling convention. * Changed to new recode invocation syntax. Thanks to Michael Lossin for noting this. * setup/filtersetup: Added mktemp and pdf2ps to $SUPPORTED_FILTERS. * TODO: Spelling correction. Di 2 Mai 2000 01:36:06 CEST Andreas Klemm * released apsfilter 5.4.3 as release branch for RELENG_5 * introduce tag RELENG_5 for apsfilter-stable * HEAD branch is apsfilter-current, which will become apsfilter 6.x in the future ... So 30 Apr 2000 16:34:53 CEST Andreas Klemm * roll release 5.4.2 So 30 Apr 2000 16:34:53 CEST Andreas Klemm * Change make-release for better Apsfilter Software Center webpage. - don't create hypertext links for old apsfilter releases - but provide patches for updates * remove note about manually installing manpages on Linux Systems * update version number in different files as always * new TODO item: automate update of apsfilter release number should perhaps go into make-release, since make-release _has_ to be updated manually. Do 27 Apr 2000 21:19:16 CEST Andreas Klemm * APSFILTERRC hasn't been used, so INSECURE didn't have any effect Mi 26 Apr 2000 06:31:25 CEST Andreas Klemm * rolled release 5.4.1 Di 25 Apr 2000 22:43:11 CEST Andreas Klemm * Update infos (News) in SETUP Change setup, that internet resources stay on screen as last point Di 25 Apr 2000 21:59:00 CEST Andreas Klemm * come-back of INSECURE variable reading environment variables from user customizeable apsfilterrc files is still NOT save and therefore forbidden by default ! You have to set it as administrator in every apsfilterrc file (in every printers spooldir) Reading variables using awk was a major improvement over sourcing the apsfilter files (executing them as script), but these two problems remain: - ENVVAR="evil_script", eval $ENVVAR - ENVVAR="`evil_script`" apsfilter security fix is: if [ -n "$INSECURE" ]; then APSFILTERRC="$SPOOL_DIR/apsfilterrc \ $HOME_DIR/.apsfilter/apsfilterrc.${LABEL}" else APSFILTERRC="$SPOOL_DIR/apsfilterrc" fi Di 25 Apr 2000 20:41:10 CEST * update TODO file (SETUP support for lpr.conf file) Di 25 Apr 2000 19:45:41 CEST Andreas Klemm * remove contributors from ChangeLog new home: CONTRIBUTORS file Di 25 Apr 2000 19:37:34 CEST Andreas Klemm * Add file ANNOUNCE.previous ANNOUNCE: contains announcements for new release ANNOUNCE.previous: contains announcements for all older releases Di 25 Apr 2000 18:40:44 CEST Andreas Klemm * Add LICENSE file in addition to COPYRIGHT file * Add PROMOTION file * Add DONATION file * README more informative Di 25 Apr 2000 07:58:22 CEST Andreas Klemm * apsfilter.1: add reference to gs-hpdj(1) manpage Mo 24 Apr 2000 17:47:52 CEST Andreas Klemm * Welcome Matej Vela to the apsfilter developer team. Mo 24 Apr 2000 15:41:15 CEST Andreas Klemm * TMP has to be declared before using ID for debugging permissions Mo 24 Apr 2000 14:04:56 CEST Andreas Klemm * apsfilter: - style put '"' around variable names in apsfilter - style use tabs instead of spaces in CLASS section * additions to Matej's hpdj support - set HPDJ_MODEL before CLASS features - if driver is only called hpdj in list of supported printers then set HPDJ_MODEL to unspec, which causes the HPDJ driver to produce code for newer DeskJets - user is permitted to choose another HPDJ printer model via CLASS support (lpr -C) - added many hpdj driver options, available via CLASS support (lpr -C) Mo 24 Apr 2000 12:00:04 CEST Andreas Klemm * filtersetup: after making use of mktemp to create a workfile filters_found file has been created with unsufficient read permissions (0600) for apsfilter script * update version number in test.ps Mo 24 Apr 2000 10:48:35 CEST Andreas Klemm * Patches from Debian Project Big thanks to Matej Vela especially for his patience ;-) - code improvements SETUP, GLOBAL.sh - do_pager function - do_view_perflog and gs -h uses new do_pager function - better newline on echo detection (without tmp file) - bugfixes - GLOBAL.sh: - missing #!/bin/sh - SETUP: - no testpage in serial setup - Startbits unimplemented - support for Martin Lottermoser's hpdj driver got patches for apsfilter 5.1.4, changed it to fit in 5.4.x - apsfilter -> a2ps: LPRng uses `(STDIN)' for jobs coming from stdin, strip this as well from header - "spalling" errors ;-) So 23 Apr 2000 19:45:05 CEST Andreas Klemm * SETUP, apsfilter: reduce the amount of printcap entries to 2 ascii printer can vanish if you want to treat file as ASCII file, then use CLASS option: lpr -C ascii So 23 Apr 2000 19:12:42 CEST Andreas Klemm * use acroread4 or acroread for printing pdf files, it produces better PS code don't pipe through acroread since it leaves a tmp file in tmpdir add acroread4 and acroread to filtersetup From: Michael Lossin So 23 Apr 2000 19:06:20 CEST Andreas Klemm * apsfilter -> print_dvi use 360x360dpi when printing DVI files using uniprint driver So 23 Apr 2000 19:02:30 CEST Andreas Klemm * apsfilter: Use additionally to GS_FONTPATH GS_LIB then additional Fontmap files are also read in From: Michael Lossin So 23 Apr 2000 18:53:00 CEST Andreas Klemm * apsfilter + SETUP: gs: use -_ instead of - when reading from pipe Use.html: The difference between "-" and "-_" is that "-" reads the input one character at a time, which is useful for programs such as GSview that generate input for Ghostscript dynamically and watch for some response, whereas "-_" reads the input in blocks, which is more efficient for ordinary (batch) execution. obtained from: Michael Lossin So 23 Apr 2000 18:44:56 CEST Andreas Klemm * add -dNOPAUSE -dSAFER when printing with uniprint driver although all upp driver (gs 6.01) already contain this. To be sure... obtained from: Michael Lossin So 23 Apr 2000 18:17:56 CEST Andreas Klemm * add missing evals in print_ functions detected by: Michael Lossin So 23 Apr 2000 13:33:19 CEST Andreas Klemm * apsfilter, setup, GLOBAL.sh, uppdescr use mktemp to create tmp file names failover to "less secure" method if mktemp fails for some reason removed it from TODO list use of mktemp suggested by: Michael Lossin * add Michael to list of contributors * SETUP, style: print test page functions better formatted by splitting funtion into two parts Fr 21 Apr 2000 23:33:05 CEST Andreas Klemm * remove unnecessary TODOs * SETUP: install Linux / other systemns manpages allow choosing - different paths - different compressions note: *BSD have a ports collection, which takes care of this Fr 21 Apr 2000 23:12:05 CEST Andreas Klemm * prepare for release 5.4.1 Fr 21 Apr 2000 23:06:00 CEST Andreas Klemm * Update gs 6.01 List of supported printers Assuming your gs binary supports the hpdj driver ftp://ftp.sbs.de/pub/graphics/ghostscript/pcl3/pcl3.html FreeBSD ports collection has this driver included Fr 21 Apr 2000 22:44:00 CEST Andreas Klemm * INSTALL: life printcap example for uniprint drivers with different print resolutions Fr 21 Apr 2000 22:32:31 CEST Andreas Klemm * SETUP: fix "r" option, to read gs driver docu Fr 21 Apr 2000 22:02:00 CEST Andreas Klemm * ANNOUNCE ChangeLog INSTALL: style: class -> CLASS from: Harold Bower Fr 21 Apr 2000 21:52:47 CEST Andreas Klemm * INSTALL/TODO: installation of Linux manpages Fr 21 Apr 2000 21:52:47 CEST Andreas Klemm * Clean import of patch submission from Bjorn Hansson SETUP: - Print as Windows GUEST user, yes/no fix - fix print test page on samba printer apsfilter: - Printing to a remote printer through apsfilter results in an empty SPOOL_DIR. This should either be considered a misconfiguration of apsfilter (easiest) or be handled (on my RedHat system the working directory is the spool directory). - Printing files other than PostScript cannot be redirected to a Samba printer (or remote). Also, choosing PRINT_TO_FILE for a Samba or remote printer still results in data sent to Samba printer. - Printing to Samba printer did not work if ip no. and/or workgroup were absent. - Print redirection missing for non PS print_xxxx() functions. - Raw printing to a HP printer does not reset printer. - Some eval:s missing (or am I completely wrong here) in front of $PRINT_PS string, see print_html and print_sunraster. - If no ip no. and/or workgroup were given, the test page couldn't be printed on a samba printer. - patch that makes it possible to choose remote printers in the same way Samba printers are chosen, i.e. through a .conf file in the spool directory. It uses the file lpr.conf Fr 21 Apr 2000 21:01:00 CEST Andreas Klemm * INSTALL: - Add note to read platform specific installation notes, i.e. doc/README.TurboLinux - comments on different print resolution when using uniprint driver from: Harold Bower Fr 21 Apr 2000 19:42:00 CEST Andreas Klemm * uniprint driver profile finetuning by Harold Bower medium definition driver (lqx70cm.upp) changed to unidirectional print to reduce alignment problems. It is only slightly slower, but produces much nicer print. Fr 21 Apr 2000 19:42:00 CEST Andreas Klemm * make-release use local CVS repo for diffing as well Fr 21 Apr 2000 19:37:00 CEST Andreas Klemm * make-release Before making a release, mirror apsfilter remote cvs repository first. Then use the just mirrored apsfilter repository for rolling apsfilter releases (more speed, less costs, more consistency). Fr 21 Apr 2000 19:30:47 CEST Andreas Klemm * make-release: use CVSROOT from environment Fr 21 Apr 2000 18:17:42 CEST Andreas Klemm * Fix printer selection in SETUP Now comments are really ignored and selection works properly. Fr 21 Apr 2000 17:29:27 CEST Andreas Klemm * Changes in SETUP to ignore comments in printer list * Introduce apsfilter developement site in Internet Fri Apr 21 13:52:29 CEST 2000 Andreas Klemm Good News !!! * The cosmo project sponsored a new apsfilter home - mailing lists: majordomo@cosmo-project.de - apsfilter-announce - apsfilter-cvs - apsfilter-devel - apsfilter-hackers - apsfilter-help - apsfilter cvs repository srv1.cosmo-project.de:/var/apscvs/APSCVS - cvsweb.cgi CVS browser http://www.cosmo-project.de/cgi-bin/cvsweb.cgi - anonymous cvs server Handling: ========= setenv CVSROOT :pserver:cvs@srv1.cosmo-project.de:/var/apscvs/APSCVS cvs login (Logging in to cvs@srv1.cosmo-project.de) CVS password: cvs checkout -r apsfilter cvs server: Updating apsfilter U apsfilter/ANNOUNCE U apsfilter/COPYRIGHT Valid release tags are for example: HEAD - for the latest changed (head branch) RELENG_5_3_3_RELEASE - for release 5.3.3 So 16 Apr 2000 13:52:52 CEST Andreas Klemm * removed some outdated doc files from docu directory updated Makefile * Add new CVS header to some file have to change SETUP, because printer list got also CVS header have to ignore the first two lines... * build up new apsfilter CVS repository on srv1.cosmo-project.de * moved apsfilter sources to new CVS repository * Changed CVS header from $Id$ to $ApsCVS: src/apsfilter/ChangeLog,v 1.274.2.45 2005/02/13 09:46:35 andreas Exp $ So 9 Apr 2000 21:06:38 CEST Andreas Klemm * added manpage for filtersetup(8) So 9 Apr 2000 11:58:45 CEST Andreas Klemm * Printer dependend apsfilterrc files SETUP, apsfilter (printcap): name change in if name Note: '"' only highlites the change aps"1"-stcolor-a4-ascii-360x360 aps"2"-stcolor-a4-auto-360x360 aps"3"-stcolor-a4-raw ... aps"N-2"-stcolor-a4-ascii-720x720 aps"N-1"-stcolor-a4-auto-720x720 aps"N"-stcolor-a4-raw * New location and names for apsfilterrc files $SPOOL_DIR/apsfilterrc i.e.: /var/spool/lpd/PRINTER/apsfilterrc $HOME/.apsfilter/.apsfilterrc.$LABEL i.e.: /home/USER/.apsfilter/apsfilterrc.aps1..apsN * name change: mksymlinks -> mksymlink reason, only creates one now Changes in SETUP... * SETUP: color depth: add missing setting for bpp: 3,16,30 bpp So 9 Apr 2000 11:38:28 CEST Andreas Klemm * start writing manpage apsfilterrc(5) * Makefile: install manpage apsfilterrc(5) Sa 8 Apr 2000 22:09:58 CEST Andreas Klemm * create/install apsfilter manpage * added CLASS support for EPSON stcolor driver and other * enhanced CLASS support. It's possible to set multiple gs driver dependend options on the commandline with -C option: lpr -C opt1:opt2:opt3 * released apsfilter 5.3.3 * apsfilter fix: remote printing with samba didn't work if SMB_PASSWD was used, due to syntax error in script (only one SPACE too less). by: Olivier PAGE * some comments concerning CLASS support without printing the header page. * released apsfilter 5.3.2 * SETUP: bash detected a bug in syntax doesn't work: PRINTER=`awk -F "|" \ "{ if (FNR == $answer ) print \\$2 }" \ < $PRINTER_LIST"` works: PRINTER="`awk -F "|" \ "{ if (FNR == $answer ) print \\$2 }" \ < $PRINTER_LIST`" * released apsfilter 5.3.1 Mo 3 Apr 2000 20:59:03 CEST Andreas Klemm * bugfix: when selecting uniprint driver you entered printer selection loop. Reason is, that uniprint driver aren't compiled in by single driver name, they are all referenced by driver named "uniprint". * remove finished part from todo list. * update HOWTO-BUGREPORTS So 2 Apr 2000 22:52:48 CEST Andreas Klemm * ANNOUNCE: add libtiff URL to list of needed software So 2 Apr 2000 19:58:51 CEST Andreas Klemm * added printer database from RedHat (gs 5.50 based) * added CLASS support from "Louis A. Mamakos" allows you to choose different print quality from commandline if driver and apsfilter supports it, i.e.: lpr -C med filename currently apsfilter supports setting -dQuality for "cdj8*" drivers -dQuality=[-1,0,1] So 2 Apr 2000 15:27:00 CEST Andreas Klemm * released apsfilter 5.3.0 So 2 Apr 2000 15:14:32 CEST Andreas Klemm * updated SETUP, setup/README, setup/printer-5.50, setup/printer-6.01 - contributed driver are marked with (+) - contributed driver in developement are marked with (*) mark contributed drivers and contributed drivers in developement So 2 Apr 2000 13:43:07 CEST Andreas Klemm * SETUP: disallow user to change print resolution if they choose an uniprint or Generic Postscript driver, doesn't make sense. * SETUP: sanity check, if print driver is compiled in into gs So 2 Apr 2000 12:57:02 CEST Andreas Klemm * committ new SETUP * complete printer selection support for - gs 5.50 - gs 6.01 - user contributed driver * adding valid/supported printer is now easy. Simply add the entries in setup/printer- So 2 Apr 2000 11:28:47 CEST Andreas Klemm * SETUP: cdj880 driver was missing. reported by dave * missing "`" in do_check_gs_version Sa 1 Apr 2000 13:19:29 CEST Andreas Klemm * Enhanced make-release script, to provides patches - from earlier releases to last release - from last release to -current release * prepare to update apsfilter port... * make-release: style * make-release: update toplevel index.html automatically Sa 25 Mär 2000 15:11:34 CET Andreas Klemm * Added (to enhance SETUP later) devices-5.50 - list of driver options devices-6.01 - list of driver options printer-5.50 - list of supported printers printer-6.01 - list of supported printers Di 21 Mär 2000 19:15:09 CET Andreas Klemm * new URL -> http://people.freebsd.org/~andreas Sa 18 Mär 2000 16:22:44 CET Andreas Klemm * generate diffs for the latest release and create webpage with diffs.offer patchesb * fix make-release: add --newfile Fr 17 Mär 2000 07:01:18 CET Andreas Klemm * upp profiles for Epson LQ-570/870/1070/1170 ESC/P2 24-pin Dot Matrix contributed by: Harold Bower So 12 Mär 2000 09:19:49 CET Andreas Klemm * when sending to "request-snailmail", mention apsfilter release in use So 12 Mär 2000 09:19:49 CET Andreas Klemm * Forgot to mention: Released apsfilter 5.2.0 Sa 11 Mär 2000 17:54:30 CET Andreas Klemm * SETUP + apsfilter allow windows (samba) remote printing as - GUEST user - real user and (optionally) password * SETUP: allow printing of testpage on local, local Postscript and windows remote printer (via smbclient -> SAMBA) * Change version to 520 * update INSTALL and ANNOUNCE file Mi 8 Mär 2000 20:02:58 CET Andreas Klemm * write GS_RESOL only to apsfilterrc file, if resolution = default has been chosen. This is because the x-res/y-res in the symlink name (if=....) has now precedence over everything. Only if you choose default, then you can use GS_RESOL to customize print resolution Di 7 Mär 2000 22:27:26 CET Andreas Klemm * SETUP fixes, you can now toggle back to gs default resolution * SETUP: when overwriting printcap it will be nuked entirely * SETUP: when adding entries to printcap old entries won't be commented out * complete revamp of print resolution. * Now you can create different printer with different resolution * if you choose default print resolution, then you are allowed to overwrite print resolution in apsfilterrc with GS_RESOL value Di 7 Mär 2000 21:15:38 CET Andreas Klemm * SETUP creates symlinks with print resolution or "default" * If you need two different print resolutions, simply create 2 printers with SETUP. Di 7 Mär 2000 19:39:34 CET Andreas Klemm * reduce the amount of printer entries per printer I think it's matter of the application to do color or b&w printing So we have now 3 printcap entries per printer * Introduce apsfilterrc variable color, to make it possible to choose "mono" if needed Di 7 Mär 2000 17:20:01 CET Andreas Klemm * SETUP / Global.sh / apsfilter / make-release : prepare for 5.2.0 * bugfix GS_FONTPATH hasn't been set because of wrong test (-f -> -d) Di 7 Mär 2000 13:50:37 CET Andreas Klemm * revamp control over a2ps operation and look&feel either configure - A2PS_OPTS - or a combination of A2PS_BASIC A2PS_STYLE A2PS_BORDER A2PS_HEADER A2PS_OPTS = overwrites complete a2ps command line, only exception: apsfilter auto file type recognition adds a file type parameter A2PS_BASIC = basic options A2PS_STYLE = how many pages per sheet, portrait or landscape A2PS_HEADER = want a page header A2PS_BORDER = want a border around pages A2PS_PAPERSIZE = want to use an own customized a2ps printertype which has been defined in /usr/local/etc/a2ps.cfg Di 7 Mär 2000 13:03:33 CET Andreas Klemm * fixes in SETUP because of new config variables * fix in SETUP under "News", /etc/apsfilter.$PRINTER * fix in SETUP, because no INSECURE FLAG anymore * fix in SETUP, concerning old Design informations Di 7 Mär 2000 12:19:03 CET Andreas Klemm * more security for apsfilter apsfilterrc files aren't sourced anymore instead of this config variables are grabbed via awk So -> got rid of INSECURE FLAG !!! * some environment variables have changed because of length and style OLD NEW ---------------------------------------------------------- PRINT_RAW_SETUP_PRINTER RAW_SETUP PRINT_RAW_SUPPRESS_FORMFEED RAW_SUPPRESS_FF FEATURE A2PS_FEATURES DVIPS_RESOL_DorP DVIPS_RES_DorP USE_RECODE_NOT_A2PS USE_RECODE PAGES_REVERSE_ORDER DVIPS_REVERSE * apsfilterrc files have different format defining above variables field separator is "!" (because all other possible good signs are already used by command options), i.e.: A2PS_FEATURES!1n! Please use the 2nd "=", so that only "1n" will be fetched and nothing more from the rest of the line which might be a comment. note: the file itself looks like shell syntax, but won't be sourced ! * changed the field separator of smbclient.conf file from ':' to '!' so that this is unique within apsfilter SETUP and apsfilter script are affected * modified apsfilterrc template file to reflect new file format (field separator '!') * modified SETUP to write some defaults in that format. Mo 6 Mär 2000 23:58:36 CET Andreas Klemm * fix samba remote printing, -c 'print -' was missing... Mo 6 Mär 2000 21:31:17 CET Andreas Klemm * Extended samba support SAMBA printer is automatically recognized if there is a smbclient.conf file in the printers spool directory Following format: SMB_SERVER:SALOME: # NetBIOS name, i.e.: "NT40SRV" SMB_PRINTER:EPSON: # service (printer) name, i.e.: "EPSON" SMB_IP:172.16.1.2: # IP Address of NetBIOS server SMB_WORKGROUP:KLEMM: # Workgroup Name SMB_BUFFER:1200: # finetune send buffer size (def. 65520) SMB_FLAGS:-N: # suppress password prompt The environment variable SAMBA_PRINTER is unnecessary now * Added Samba Printer support in SETUP * trim sleeps a bit in SETUP Mo 6 Mär 2000 19:13:12 CET Andreas Klemm * when testing and setting PRINT_TO_FILE if you want trash: KEEP_PRINTOUT="YES" # set to keep $TMP_PRINTOUT if you want to postprocess tmp printout with gs POSTPROCESS_PRINTOUT="YES" # set to pipe it through PRINT_PS * style: "! -z" -> "-n" in string tests * GLOBAL.sh: add /home/local/bin as local path Mo 6 Mär 2000 13:35:12 CET Andreas Klemm * some style fixes from Debian concerning tmp file handling in apsfilter. Declare tmp variables at the beginning of apsfilter. * introduce TMP variable, might be set to /var/tmp, if root- or memory filesystem too small * document PRINT_REMOTE a little bit more verbose * Fix e-mail address in README, to get postal address Do 2 Mär 2000 17:30:14 CET Andreas Klemm * released apsfilter 5.1.5 Do 2 Mär 2000 17:13:24 CET Andreas Klemm * SETUP: added support for configuring remote printer Beware: you still have to make sure, that your line printer scheduler supports input filter processing with remote printers as it is the case for FreeBSD 3.x and later with a "fixed" lpd as well as for Unix systems with LPRng installed as lineprinter scheduler, which is the case for some (not all !!!) Linux Systems. * updated HOWTO-BUGREPORT, former name APS-BUGFORM, moved it to toplevel * updated TROUBLESHOOTING Do 2 Mär 2000 16:38:25 CET Andreas Klemm * Added menue entries in SETUP for the contributed uniprint driver settings for Epson Stylus Color 740 stc740ih.upp : Epson Stylus Color 740, 1440x720DpI, Inkjet Paper stc740p.upp : Epson Stylus Color 740, 720x720DpI, Plain Paper stc740pl.upp : Epson Stylus Color 740, 360x360DpI, Plain Paper Do 2 Mär 2000 14:26:45 CET Andreas Klemm * Bugfix for installing multiple printer of different flavor Old behaviour: SETUP creats an /etc/apsfilterrc file for 1st printer. When installing 2nd printer - which differs in gs-driver - then /etc/apsfilterrc file gets overwritten and the settings at the end of apsfilterrc file are lost. Even worse, your 1st printer which might be a color printer might be confused by the B&W settings of the 2nd printer. FIX: /etc/apsfilterrc (global settings, created only by system administrator, not SETUP script) SETUP now installs only /etc/apsfilterrc.PRINTER config file * changes in SETUP and apsfilter to get rid of UP_PROFILE variable. apsfilter script now is capable of detecting uniprint driver by scanning the name of the printer: case $PRINTER in *.upp) PRINT_PS="gs command with uniprint syntax";; *) PRINT_PS="gs command with normal syntax";; esac Di 29 Feb 2000 10:34:43 CET Andreas Klemm * Update FAQ (questions from Mike Riella ) What are the 5 printers for in /etc/printcap Which printer to use for samba users -> raw Sa 19 Feb 2000 13:04:59 CET Andreas Klemm * Linux RedHat and Slackware permission problems find out, under which user id apsfilter runs, by writing the output of id command to tmp-file... * Updated FAQ concerning RedHat and Linux lpd permission problems. Mi 9 Feb 2000 04:52:39 CET Andreas Klemm * Add FAQ entry about incorrect papersize when printing ASCII using a2ps. make clear to use a2ps-letter. So 2 Jan 2000 18:16:14 CET Andreas Klemm * Default for A2PS_OPTS still wrong ... did it right now Got a wrong submission from a user and I didn't test it thoroughly in the past -X iso1 --portrait --no-header --borders=no -1 So 2 Jan 2000 16:49:46 CET Andreas Klemm * "Francois D. Menard" contributed upp driver files for Epson Stylus Color 740 * added uniprint subdirectory for additional contributed upp files * add support for different upp files for _one_ printer via apsfilterrc file as suggested by Francois * add docu and examples to template apsfilterrc file * Eran Guendelman make more clear in SETUP, that you need to set PAPERTYPE in order to print the test page and properly setup the printer also changed order of menue entries. So 2 Jan 2000 15:48:16 CET Andreas Klemm * rodney simioni SETUP and setup/filtersetup doesn't run under Solaris 7 /bin/sh doesn't grok [ -z $var ], have to use [ -z "$var" ] like in apsfilter script * make-release changes, so that only _missing_ apsfilter release tar archives are re-created to prevent frequent md5 checksum changes... So 28 Nov 1999 11:06:36 CET Andreas Klemm * Update FAQ, how to get rid of the borders when printing ASCII documents. * Change apsfilterrc, to state out, that A2PS_OPTS is the now recommended way to configure a2ps text formatting * Be more verbose about difference of legacy config option FEATURE and the A2PS_OPTS config variable, wich overwrites a2ps printing options completely. * Feature request by John Culleton : Changed default to print portrait without border, since many people seem to want this as (better) default. So 21 Nov 1999 10:09:11 CET Andreas Klemm * Update FAQ, how to adjust page margins Sa 13 Nov 1999 15:26:30 CET Andreas Klemm * Updated FAQ, printing on Solaris 7 (x86, sparc) Fr 22 Okt 1999 20:09:11 CEST Andreas Klemm * added doc/REMOTE-PRINTING sample how to implement this So 29 Aug 1999 17:06:47 CEST Andreas Klemm * Improve functionality of make-release script Automate as much as possible !!! Sa 28 Aug 1999 08:54:28 CEST Andreas Klemm * released apsfilter 5.1.3 * more secure temproary files, this nice idea was from Lars Köller. Now we have a umask of 077. * Better guidance to uniprint drivers, it was previously a little bit hidden. * SETUP many display enhancements to make the setup script more informative for the user. * change destination (download directory) in make-release script after homepage directory redesign. Mo 19 Jul 1999 00:38:19 CEST Andreas Klemm * apsfilterrc: added nice a2ps options from Lars Köller * SATISFIED_CUSTOMERS file Sa 12 Jun 1999 23:48:28 CEST Andreas Klemm * re-released apsfilter 5.1.2 * fixed a cosmetic thing in SETUP, cd into lib dubdir, so that new gs's error message redirection works... * cosmetic fix/typo in apsfilter script and SETUP Sa 12 Jun 1999 18:16:59 CEST Andreas Klemm * released apsfilter 5.1.2 So 6 Jun 1999 19:20:36 CEST Andreas Klemm * Frank McIngvale SETUP bug report (tested patch) to prevent GS_RESOL=x in /etc/apsfilterrc, when RESOL=default if [ "$RESOL" != "default" ]; then RESOL="${XRESOL}x${YRESOL}" fi Do 3 Jun 1999 13:56:58 CEST Andreas Klemm * SETUP: print time to compute testpage and time to print testpage * SETUP: pipe these times with tee into logfile, to help to decide later, which driver to choose... * when selecting uniprint, don't show uniprint in SETUP menue, instead display selected uniprint driver settings... * apsfilter: missing PAPERSIZE in PRINT_PS command for uniprint * SETUP: missing PAPERSIZE in PRINT_PS command for uniprint * Andreas Reuter contributed a PS file (redir_gs_msg.ps) to redirect Postscript error messages; added lib directory to include such PS cmd files Patch PRINT_PS to include this libdir in searchpath for ps files. Mi 26 Mai 1999 22:36:19 CEST * "David G. Andersen" Add hint in INSTALL file, how to patch FreeBSD's usr.sbin/lpr/chkprintcap/chkprintcap.c, to allow sharing of a spooldir by several printers in /etc/printcap. Needed for lpr -P{low,medium,high} Di 25 Mai 1999 22:16:25 CEST Andreas Klemm * make use of psutils package to print 2 pages on one added this to PRINT_PS variable to enable this you only have to set PSUTILS in one of the apsfilterrc files Then two pages on one is not only limited to print_ascii Mo 24 Mai 1999 11:44:08 CEST Andreas Klemm * release apsfilter 5.11 * fix resolution calculation, don't simply default to 300dpi if user only want's to use gs-driver default resolution. This leads to the necessary change to move code concerning dvips resolution calculation into print_dvips routine. * enhance apsfilter bugform * move entry of rogue printers into other case struct * cosmetic changes, move copyright more in front... So 23 Mai 1999 13:00:59 CEST Andreas Klemm * release apsfilter 5.10 * changes for FreeBSD ports collection: don't call SETUP automatically on "make install" so isn't interactive anymore, so IS_INTERACTIVE has gone and apsfilter will reside on the next FreeBSD CD-ROM... * remove all occurrences of BETA version .... * add env variable for dvips PAGES_REVERSE_ORDER to force adding -r switch, apsfilterrc updated as well * revamped the code to detect print resolution, now we have the following variables and priorities (a) is highest prio) RESOLUTION is used for ghostscript commandline (for setting GS_CMD_RESOL) XRES is used for setting resolution on dvips commandline a) if resolution is part of filter script name DPI=XXXxYYY -> RESOLUTION=$DPI -> XRES=XXX, YRES=YYY b) if DPI is not set and if GS_RESOL has been set by the user (XXXxYYY) -> RESOLUTION=$GS_RESOL -> XRES=XXX, YRES=YYY c) if DPI and GS_RESOL have not been set and we have a PS printer PS_xxx, then set: -> RESOLUTION=XXXxYYY -> XRES=XXX, YRES=YYY d) default to 300dpi, to be able to set resolution for dvips commandline, gs uses the default resolution of the printer driver... -> RESOLUTION="" -> XRES=300, YRES=300 * add installation instructions to INSTALL, how to manually configure apsfilter, to use different print resolutions, to get the following functionality: lpr -Plow test.ps (print in 180dpi) lpr -Pmed test.ps (print in 360dpi) lpr -Phigh test.ps (print in 720dpi) Sa 15 Mai 1999 11:36:47 CEST Andreas Klemm * add new apsfilter testpage from Andreas Reuter tiger.ps is gone ;-) * save UP_PROFILE variable in SETUP.cfg as well * Get some enhancements from SuSE version of apsfilter (v 1.6) with some modifications - CRLF translation and perforation skip for more HP models - printer type dependend apsfilter setup files with the following precedence: /etc/apsfilterrc /etc/apsfilterrc.${PRINTER} $HOME/.apsfilterrc $HOME/.apsfilterrc.${PRINTER} - new GS_FONTPATH environment variable to make use of additional fonts, i.e.: X11R6's type1 fonts a) can be set in apsfilterrc files b) if not set it defaults to /usr/X11R6/lib/X11/fonts/Type1 or /var/X11R6/lib/X11/fonts/Type1 - default printer resolution now also defineable in apsfilter filter script name please note, apsfilterrc file settings GS_RESOL have precedence over the new configuration scheme - new user settable environment variable USE_RECODE_NOT_A2PS use recode instead of a2ps to print ascii files, so: - print_ascii has been renamed to print_ascii_a2ps - new shell function print_ascii_recode has been introduced - new environment variable RECODE_OPTS defaults to "-q latin1:ibmpc" overwriteable by the apsfilterrc files - new supported filetypes - bmp - FAX G3 - troff * some dvips settings cleanup, use -Z only when resol >= 400dpi * cosmetic, sort order of shell functions for printing and "case" structure by file type * when printing html use some sane defaults for HTML2PS_OPTS if not set in apsfilterrc files Mo 1 Mär 1999 16:41:21 CET Andreas Klemm * RELEASED apsfilter 5.0.1 * file command now doesn't need to read from stdin, I forgot this in 5.0.0, now file works directly on the tmp file. Had to remove one "shift" to make this work properly. * Added this to the contrib section From: Skliarouk Peter Wrote filter for russian fonts for matrix 9-pin printers. It uses only ESC-consequences to transform chars to theirs graphics representations. Do 18 Feb 1999 22:13:29 CET Andreas Klemm RELEASED apsfilter 5.0.0 Do 18 Feb 1999 21:15:27 CET Joachim Achtzehnter * LPRng support * writing the first 8k into a tmp file makes rewindstdin unnecessary Sat, 24 Oct 1998 22:29:12 -0500 (CDT) Glenn Johnson * uniprint driver support (for ghostscript >= 5.10) So 5 Jul 1998 22:54:07 CEST Andreas Klemm * apsfilter 4.9.9 released * recognition and printing of bzip2 compressed files. Sa 4 Jul 1998 19:11:46 CEST Andreas Klemm * apsfilter 4.9.8 released * support printing of PDF files, sorry we need tmp files, since pdf2ps (gs) needs direct file access, see gs docu * fix bug in SETUP script, when having a color printer, create the necessary printcap entries and spooldirs * set the default printer "lp" to the auto-color printer if you have a color printer. New variable DEFAULT_PRINTER controls this (2=mono, 4=color) * fix mksymlinks utility, create all necessary color links Do 4 Jun 1998 23:17:20 CEST Andreas Klemm * apsfilter 4.9.7 released * Added support for new HP DeskJet Driver in FreeBSD port of ghostscript 5.10. As a result apsfilters SETUP needs to know about the new printer drivers. See: http://bonk.ethz.ch/hp850/hp850.html http://bonk.ethz.ch/hp850/hp850-readme.1.3.html * Put license.hp8 and readme.hp8 files from the new HP driver into the doc directory. PLEASE READ THE README FILE, IT CONTAINS IMPORTANT INFOS, WHAT THE NEW DRIVERS DO AND WHAT NOT. THE OUTPUT OF THE NEW DRIVERS CAN BECOME HUGE !!! * If you want that for Linux as well, you have to patch the ghostscript sources and to rebuild ghostscript 5.10. The URL's above contain some (not complete) instructions how to do that. * For more hints you can browse through my diffs in the FreeBSD ports collection. Fr 29 Mai 1998 00:23:28 CEST Andreas Klemm * Fix ANNOUNCE, added HTML to list of supported file types. Fr 29 Mai 1998 00:04:35 CEST Andreas Klemm * From: Neil Hart get rid of SPOOLDIR /usr/spool for Linux installations ... nearly all OS now use /var/spool ... * apsfilter 4.9.6 released Di 26 Mai 1998 21:10:11 CEST Andreas Klemm * From: Neil Hart 1. the script setup/compile refers to the directory a2ps-4.2-akl-new, but the source is actually in the directory a2ps-4.2-akl 2. the script setup/compile doesn't invoke Makefile.linux, but instead simply defaults to use the (non-functional) Makefile in that directory 3. the install_it script in the rewind-stdin directory has the line ''cp rewindstdin $BINDIR" commented out, so it never actually installs the program So 17 Mai 1998 22:59:07 CEST Andreas Klemm * Release 4.9.5 * Nice idea from wizant.keidel@t-online.de (J.Keidel) to support direct printing of HTML documents Mi 13 Mai 1998 19:58:53 CEST Andreas Klemm * revamp make install for ports collection and such... Di 12 Mai 1998 22:57:10 CEST Andreas Klemm * better SETUP and various fixes. * Release 4.9.4 So 22 Sep 1996 18:43:14 MET DST Andreas Klemm * added support for some gs3/gs4 printer: st800, stcolor * added better support for the Stylus PRO * enhanced apsfilterrc for better color printer support (gs init files, resolution) Mon Nov 27 19:43:28 MET 1995 Andreas Klemm * released apsfilter 4.9.3 for FreeBSD 2.1 cleaned up the package, source will be compiled first, and then installed (no precompiled binaries in apsfilter/bin) Tue Oct 24 18:20:09 MET 1995 Andreas Klemm * released apsfilter 4.9.2, special version for FreeBSD 4.9.2 but same functionality as 4.9.1, so Linux users don't are in any disadvantage ;-) * make some little changes to apsfilter 4.9.1 to fit into FreeBSD package format fine ;-) * Added in setup a README file * Modified the README in template * globally changed version numbers to 4.9.2 * Modified ANNOUNCE file to inform people, that 4.9.2 is functionally the same as 4.9.1, but packaged for FreeBSD 2.1 Montag, 10. Juli 1995 20:45:55 Uhr MET DST Andreas Klemm * released 4.9.1 Montag, 10. Juli 1995 20:45:55 Uhr MET DST Andreas Klemm * FranzJosef Knelangen "Fatal error: need gs ..." error eliminated in bin/apsfilter Samstag, 8.Juli 1995, 19:51:37 Uhr MET DST Andreas Klemm * released 4.9 Samstag, 8.Juli 1995, 19:00:47 Uhr MET DST Andreas Klemm * Klaus-Dieter Henkel : can't print PS and ASCII files onto a PS printer, because of "HAVE_GS = True" checks in the wrong context. Obviously he doesn't need ghostscript when having a PS printer. Moved the check to the 4th section when creating the PRINT_PS variable. Thanks, this was a important fix !! * Andrew Young Mr. ispell && grammer checker ;-)) fixed some chicken english mistakes ;-)) * Uwe Bonnes Fix for a2ps to strip the MS-Dog ^M at end of line in PS files. * myself bin/apsfilter: DVIPS_RESOL_DorP, was misspelled in section 2 * Thomas Esser fixes for setup_dvips.sh Thu May 4 13:27:43 MET DST 1995 Andreas Klemm * Martin Kraemer : Many many things, *thanks*: - setupaps removed - PRINT_TO_FILE disabled, was only for testing purposes - set -x also. - Test for empty variables changed ( -z "$XXX" ) - okidisplay.tar.gz into new contribution dir Mon May 1 17:41:25 MET DST 1995 Andreas Klemm * bin/setup_dvips.sh fixed: RES=RES_X added Mon May 1 13:54:51 MET DST 1995 Andreas Klemm * 4.9 Test release released * Since there seem to be two different flavours of dvips program, I introduced a DVIPS_RESOL_DorP Flag, to use -P or -D option when changing print resulution. Defaults to -D for Thomas Essers dvips (teTeX-0.3). * Added an INSECURE Flag that can be set in /etc/apsfilterrc globally. Only by setting INSECURE to True, its possible, that users custom configuration file is executed with lpd (sometimes root) Permissions. Thu Mar 2 20:05:38 1995 Thomas Bueschgens * created setup_dvip.sh to support newer versions of dvips. Thanks to Thomas Esser for some metafont-tips. * created README.TeX, just first version, but it'll suffice :-) * Changed -D (RES) to -P (RES) in apsfilter (DVIPS_OPTS) Mon Feb 6 19:30:55 MET 1995 Andreas Klemm * uphya001@odie.physik2.uni-rostock.de (Lars Koeller) His flavour of file command prompts with "ascii text (with escape sequences)" when printing PCL (HP command language) files. So the case structure gets an alternative *escape*|*data*). And the case data has to be moved before the case ascii clause. Tue Jan 31 12:54:07 MET 1995 Andreas Klemm * joe@fred.iaas-berlin.de (Joachim Schoenberg): - in 4.9-gamma, typo in line 461, wrong fi at end of a command - added "from $LOGINNAME" in fault filetype (for network print.) Sat Jan 28 19:10:12 MET 1995 Andreas Klemm * joe@fred.iaas-berlin.de (Joachim Schoenberg): print data failed, solution: case *data*) * eleminated GS_RESOL in apsfilter script. Trust ghostscripts defaults in its printer driver. If you need it, the set it via apsfilterrc. Modified sample apsfilterrc file. Mon Jan 2 20:17:49 MET 1995 Andreas Klemm * daub@einstein.cs.uni-duesseldorf.de: apsfilter: A2PS_STD_OPTS changed to A2PS_STD_OPTIONS * Christoph Junge : esc2 wrong -> escp2, changed in apsfilter added st800, Stylus support. * Michael_Nelson FAQ: problems with LJIII and 1 MB Ram when printing with a2ps two pages on one and resol. = 300dpi. Solution: resol 150x150. * SETUP: touch SPOOLDIR/lock and chmod 644 for Slackware 2.1.0 necessary. * Corey Sweeney and many others ... want remote printing functionality ... ;-) Here it is, the ugly hack: bin/apsfilter: when setting REMOTE_PRINTER=True then we print to a printer named remote. So make a printer entry in /etc/printcap for your printer named remote and set the environment variable in bin/apsfilter ( ~ line 55) Please note, now everything is being sent to the _one_ remote printer ... sorry ... !!!! Added some comments to the FAQ. * Donald R. Newcomb Support for Panasonic KX-1123 (KX-1123P?). Take type epson. Added epson support in bin/apsfilter Hope dvips X and Y coordinates 360x180 are in the correct order ... I'll hear from you ;-) FAQ updated. * Lucas James rewindstdin fails for FreeBSD 2.X, because of the new 64 bit offsets. Added support for FreeBSD 2.X. * From: Thorsten Frigger SunOS 4.1.X / Solaris 1.1.X - file(1) can't read from pipe Added FreeBSD's sources of file command. Solaris sysadms can now fiddle around with that version. But beware, you are on your own ... Don't know if its suitable to replace the originally file command completely ... be careful !!! * Steve Whorwood Patch for a2ps.c. Slackware 2.0 with man 1.3 produces other escape sequences for boldface, so a2ps fails printing boldface correctly when printing manpages. A fix for a2ps.c in the src tree provided .... * bumped version counter to 4.9 in different files * Updated FAQ * fixed Toms e-mail address in the file DONATIONS, to keep him happy ;-) Tue Nov 1 09:20:17 MET 1994 Andreas Klemm Stefan Roehrich * changed typo in apsfilter, esc2 -> escp2. Sun Oct 9 19:39:06 MET 1994 Andreas Klemm * changed mknew, not to include new and unfinished setupaps stuff and RCS files for rel 481. * gs isn't a public domain product. Changed this in ANNOUNCE and WHO_AM_I. Hope I removed all occurrences. * rolled Rel. 481 Sun Oct 2 17:27:51 MET 1994 Andreas Klemm * Vince Skahan wanted landscape printing: Added a new a2ps feature in apsfilter: 1l and 1ln Allows you to print one page landscape with and without header. Changed the code around a2ps, basic (needed) a2ps opts, that must be kept even if user overwrite the A2PS_OPTS variable in their apsfilterrc files. Updated apsfilterrc file. Sun Oct 2 13:39:22 MET 1994 Andreas Klemm * bcr@physics.purdue.edu (Bill C. Riemers) asks for more security, so: Security enhancements to SETUP. Check if we are installed in a directory, that is owned by root, daemon or bin. Otherwise inform user, ask for permission to fix it, show user waht will be done. Exit, if user isn't willed to give us permissions ... Only exception are our developement machines knobel and hammer ... since we develope under our user accounts ... ;-) Fri Sep 30 10:43:06 MET 1994 Andreas Klemm * Work on bug (7), try to give each printer his own spool dir. Sun Sep 25 17:48:12 MET 1994 Andreas Klemm * changed mknew, so that GNU tar follows symbolic links * introduced a form to report bugs APS-BUG-FORM added this info into INSTALL file * bumped version to 4.8, changed 4.8 to 48 in GLOBAL.sh so that mknew produces aps-48.tgz, as announced !!! Sun Sep 25 12:55:41 MET 1994 Andreas Klemm * removed the silly benchmark from SETUP * a2ps manpage will be installed if certain fix man-dirs are found. * added option -nL for a2ps to suppress the user Login ID as well when printing pages with no borders (FEATURE 1n and 2n) * updated documentation / installation * introduced a TROUBLESHOOTING file, debugging hints ... * changed the name of the variable DEBUG_TO_FILE to PRINT_TO_FILE to make more clear, that print data will be put into this file. Real debugging output will be found in the file PRINTER_SPOOLDIR/log as before ! * disabled debugging in the filter for the final _release_ version 4.8 * added LOCAL_PATH in global/GLOBAL.sh, to be in sync with TROUBLSHOOTING docu, how to add more local search paths to needed programs. * updated docu a bit. renamed some files, added some files to be more clear. Sat Sep 17 20:27:36 1994 Thomas Bueschgens (sledge@hammer.oche.de) * Added PROBLEMS file so people know what to do in case of trouble, whom to send mail to and so on! * Let RCS take over the revision/release-numbers to avoid those 4.01Beta-names!! Two number should be sufficient, right? * README: added pointer where to get pbmplus & jpeg-stuff if someone needs to add this stuff to his machine to print pictures. * setup/filtersetup: added support for djpeg needed for printing JPEG-Pictures. Introduces HAVE_DJPEG for apsfilter automatically. * bin/apsfilter.tom: added support for JPEG-pictures for both, color and mono-printer. Due to that new Variable DJPEG_OPTS which is set depending on color/mono-printer. Wed Aug 31 21:28:20 MET DST 1994 Andreas Klemm * rolled new version 403 Beta Wed Aug 31 21:23:36 MET DST 1994 Andreas Klemm * bug in SETUP, filtersetup run very early and don't find a2ps and rewindstdin, filtersetup wasn't repeated later, when a2ps and rewindstdin are compiled and installed ... * since we compile in background, we wait for that ... * introduced fun stuff ... do you have humour ?! ;-) Sat Aug 27 18:38:48 MET DST 1994 Andreas Klemm * bumped version count to 4.02 (Beta) to avoid confusion Sat Aug 27 18:29:55 MET DST 1994 Andreas Klemm * introduced global apsfilterrc file /etc/apsfilterrc Therefore changed SETUP again. * read apsfilterrc now erlier in apsfilter, not in the case structure or functions ... Perhaps a bit overhead, but shorter and better * read global apsfilterrc first, so that there are sane defaults, and then - if present - the users one ... so the user gets his customization but if he has an old template I keep apsfilter happy for the case, it contains needed stuff for runtime. Sat Aug 27 16:52:17 MET DST 1994 Andreas Klemm * bumped version to 401B (Beta) to avoid confusion when speaking about the new release ... ;-) Sat Aug 27 15:23:33 MET DST 1994 Andreas Klemm * Better documentation of template/apsfilterrc * new compile/install utility setup/compile * Enhanced the SETUP script in many ways ... - script calls setup/compile to automatically compile and install a2ps and rewindstdin. - additional remarks concerning user setup (apsfilterrc) and remote printing... Sat Aug 27 13:17:23 MET DST 1994 Andreas Klemm * My e-mail address changed ! ;-) Please note this ;-) * Changed mknew to create smaller uuencoded Beta versions If a apsfilter Release contains the letters {a,A,B,b} ( -> see GLOBAL.sh ) then this smaller archive is created without doc and testfiles. * End of SETUP utility tells you now what to do next: compile and install a2ps and rewindstdin. Wed Aug 24 18:22:18 MET DST 1994 Andreas Klemm * Some more installation instructions for a2ps and rewindstdin in the README file. Wed Aug 24 17:56:43 MET DST 1994 Andreas Klemm * changed apsfilter's fault_filetype function to be smarter and nicer. Better formatted output and tells user now about "unsupported" filetypes ... and that he might solve this by typing lpr -Pascii or lpr -Praw. Since it might be possible that he tried to print ascii files containing control characters or such ... who knows what file(1) reports ... * fixed bug in SETUP, it didn't ask properly for BAUDRATE when installing a serial printer. Asked for Device twice, removed one question ;-) * bj10e doesn't have 360dpi, changed it to 300dpi, hope that's correct now. Wed Aug 24 16:28:13 MET DST 1994 Andreas Klemm * Rolled the version 4.0-Beta * Changed global/GLOBAL.sh to version 4.0 * Merged older changelog files into this one (beginning from apsfilter 1.3 !!!) * added Q 1.4 "Printing of long ascii listings (C-Source,...) is dog slow..." to FAQ * added Q 1.5 "how to manage strange search paths for programs..." to FAQ * FAQ Q 1.1, ypu have to run filtersetup, not mksymlinks, to add new filters to the apsfilter program. * created a KNOWN_BUGS file - a todo file ... Wed Aug 24 16:15:32 MET DST 1994 Andreas Klemm * removed doc/INSTALL since its meaningless ;-) It explains to you how to extract the gnu zipped tar archive aps-XXX.tgz. But to get that file/information you have to extract the archive first ... you get the clue ?! ;-) Wed Aug 24 15:22:34 MET DST 1994 Andreas Klemm * Updated README and WHO_AM_I to reflect the latest changes * Changed the name WHO_AM_I to WHAT_AM_I to reflect the purpose of this file better. * removed README_QUICK_INSTALL since it didn't contain valuable stuff and README is already smart to the user ;-) * Created a file MANIFEST which is a list of all files that belong to apsfilter with a short description for what purpose they are. Removed that stuff from README. * Added more information into README, which documents to read next. * Changed README to tell the user to install the template file apsfilterrc into his home directory. * introduced the file FAQ in apsfilters top level directory. * put only apsfilter under RCS revision control starting at apsfilter 4.1 * stripped apsfilter a bit more, moved changelog and thanks to contributors into this file Wed Aug 24 15:02:09 MET DST 1994 Andreas Klemm * After Thomas had his `creative time' the version is again owned by me ;-) This means testing and writing docu ;-) Thanks Tom for your valuable work when I had no time to change the things in the filter ! * Changed Makefiles of src/a2ps-4.2-akl-new and src/rewind-stdin. Introduced the shellscripts install_it. These scripts are looking in /etc/printcap, where apsfilter is really installed, to place the binaries of a2ps and rewindstdin exactly in $APS_BASEDIR/bin, which is on top of the search path in apsfilter. This makes sure, that the enhanced a2ps will be used instead of older ones. Same for other tools needed for apsfilter. * The install_it scripts checks and makes sure, that apsfilter has to be installed first before attempting to install a2ps and rewindstdin. Thu Aug 11 14:23:15 1994 Thomas Bueschgens (sledge@hammer.oche.de) * setup/mksymlinks: create necessary symlinks if color printers are choosen. * SETUP: added support for color-printers so the correct entries for /etc/printcap are computed. remove FEATURE from setup, this is user-configurable by now from .apsfilterrc Wed Aug 10 10:06:53 1994 Thomas Bueschgens (sledge@hammer.oche.de) * bin/apsfilter.tom: added PNMTOPS-variable to control wether color or mono-pics are created. recompute HAVE_PNMTOPS to depend on HAVE_PPMTOPGM if mono is used to ensure correct error-messages if pbm-utils are installed incomplete. * setup/filtersetup: added ppmtopgm to the list of needed/supportet filters so color-data may be converted to mono-data. * bin/apsfilter.tom: moved A2PS_MARGIN-definition to print_ascii() so it is only defined if necessary. Tue Aug 9 16:36:59 1994 Thomas Bueschgens (sledge@hammer.oche.de) * bin/apsfilter.tom: changed 'echo $0' to 'basename $0' sp paths with '-' are recognized correctly, too. Mon Aug 1 09:09:05 1994 Thomas Bueschgens (sledge@hammer.oche.de) * SETUP: removed the choice wether to modify /etc/magic or not since this caused errors on many systems Corrected some typos * template/: changed the README and added a warning that double-entries in /etc/magic may cause malfunctions of apsfilter * global/GLOBAL.sh: changed one path to reflect my systems tex-installation * doc/: changed the documentation a bit to keep track with the newest changes * SETUP: read BAUD if installing a serial-printer, don't write APS_BASEDIR to /etc/printcap if addinga printer * template/apsfilterrc: added the HAVE_MAKETEXPK and FEATURE-templates to the example-apsfilterrc * bin/apsfilter.tom: clean up documention in apsfilter, changed a2ps-options, added HAVE_MAKETEXPK-flag moved FEATURE-recognition from apsfilters name to users config file .apfilterrc, prepared use of color-property added support for compacted ASCII-files if ascii-filetype was forced ================================================================================ changes 3.0.1 -> 3.0.2 ================================================================================ [ some fixes from Bob Trush ], thanks ! - corrected typo in README, README_QUICK_INSTALL and setup - added support for HP Laserjet 4l "ljet4l" - support for BSD/386 from BSDI - new variable MAGIC defines where the magic(5) file can be found - grabs HOME_DIR more precisely using grep "^$LOGINNAME:" .... - more precise and effective usage of the shells eval command for eval $PRINT_PS ... - added/changed PATH in GLOBAL.sh - added HAVE_MAKETEXPK to decide wether to create fonts while print_dvi or not ================================================================================ changes 3.0 -> 3.0.1 (AKL) ================================================================================ - changed $APS_BASEDIR/bin/GLOBAL.sh to $APS_BASEDIR/global/GLOBAL.sh - lowercase the output of the file(1) command to be more portable rewritten the queries in the case structure ================================================================================ changes 2.3 -> 3.0 (AKL) ================================================================================ - removed reverse print order for nec printers - added -M option not to call MakeTeXPK to create missing fonts when printing with dvips because of a bug in the script that causes an exit of apsfilter and not printing anything. - ascii->a2ps: added missing -1 option when printing in portrait. - HOME_DIR is users homedir. Here we look for ps files that might be included when printing dvi files with dvips using the feature, to include Postscript pictures produced by xfig or other programs... - introduced a .apsfilter config file in each users home directory allows the user to add printer specific initialization when printing raw ascii text var. PRINT_RAW_SETUP_PRINTER allows to set special init commands var. PRINT_RAW_SUPPRESS_FORMFEED suppresses formfeed after print_raw - modifications for EPSON STYLUS (gs' printer type esc2 wasn't managed by the filter. - added support for esc2 printers ;-) I forgot them uiiii ;) - removed $ECHO which represented an echo command that can handle control characters \xxx since printf is used for that ... - introduced user custom print and feature commands in some print functions ... print_dvi, print_raw, print_ps .... user defineable via $HOME/.apsfilterrc file - removed Preserving of TMP_FILE since we don't have any ... - added a global setup file bin/apsfilterrc that is created during installation by bin/filtersetup. It contains env. variables that tell us, which filter programs are available or not (gs, dvips, a2ps,...) If you add a filter, then you have to edit filtersetup and rerun it. In apsfilter you should ask then, if a special filter is available before trying to call it .... - added sun rasterfile support - read PATH from GLOBAL.sh - removed all occurrences of TMP_DIR, since not necessary anymore - added /usr/openwin/bin to searchpath for Sun's Solaris 1 to find ras2ps.... - added filter support for gif and fig - print sunraster using Poskanzer bitmap utilities, if ras2ps isn't there - can print compressed files compressed by: compress, gzip, pack, freeze one exception, doesn't work on compressed dvi files (dvips -> gs) - and certainly some more .... ;-) ################################################################################ # # Changes 1.10 -> 1.11 # ################################################################################ # # A last minute hack caused file type autorecognition to fail :-( # The culprit: I only appended $PATH to the search path for machine # specific search paths. And boom :-( # After removing $PATH from the PATH= line everything works perfectly now. # Oh folks .. the next time I don't include wishes from people without # testing, even if the changes are soooo minimal as in this case '-) # # No line in this script exceeds 80 columns any more, # as suggested by Stephen Hsieh # # Modified the way how apsfilters command line arguments are stored # in environment variables, # as suggested by Dirk Sturzebecher # ################################################################################ # # Changes 1.9 -> 1.10 # ################################################################################ # # introduced shell functions print_ps, print_dvi, print_ascii, .... # is needed for the new program functions to force printing of ascii, which # is needed for printing "deutsche Umlaute" # # problems with "deutschen Umlauten" # Text containing "Deutsche Umlaute" may be interpreted as data, so cr/nl # conversion for deskjet and possibly other printer doesn't work. # A possible solution is to force the script to handle imput data as text or # something else. # # exit 1 on print fault caused lpd to print the file again and again # and lots of tmp files made TMP_DIR full.. so we have to exit 0 in any case # # Introduced MAILX variable. /bin/mail = elm on Linux. Elm didn't find # ~/Mail directory, so it failed to send $NOTIFY a mail when a print error # occurred. # # David Frey : # use lpr's command line arguments -wwidth -iindent -llength, pipe ascii # through pr # # and some more ... # ################################################################################ # # Changes 1.8 -> 1.9 # ################################################################################ # # Thu Feb 24 18:45:00 GMT+0100 1994 # # removed compression option that was introduced with 1.8 # since dvips can't read from a pipe... # # canon bj printer don't have a common command set ... # So the bj* commands I introduced were only valid for the bj200. # ################################################################################ # # Changes 1.7 -> 1.8 # ################################################################################ # # Sun Feb 20 14:02:29 GMT+0100 1994 # # Optionally (default=yes) compresses temporary files used by this script # See COMPRESS option. On slow systems wit low memory you may want to disable # this feature. (Suggestions from Bill - physics.purdue.edu!bcr) # # Rewrote parts of my comments and shortened the script by simly referencing # the GNU GPL. # ################################################################################ # # Changes 1.6 -> 1.7 # ################################################################################ # # Wed Feb 16 21:57:57 GMT+0100 1994 # # - Support for Canon Bubblejets (Bill - physics.purdue.edu!bcr) # - fixed nec resolution from 300 to 360 dpi in dvips part # ################################################################################ # # Changes 1.5 -> 1.6 # ################################################################################ # # Sat Feb 5 13:10:33 GMT+0100 1994 (AKL) # # rearranged this script to be an input filter # use if=/usr/local/bin/apsfilter in /etc/printcap # advantage: you can mix the file types in on command line # lpr postscript_file ascii_file .... # # ------------------------------------------------------------------------------ # # Sat Feb 5 13:29:24 GMT+0100 1994 (AKL) # # removed quit.ps, because it caused trouble for some people. # # ------------------------------------------------------------------------------ # # Sat Feb 5 13:39:18 GMT+0100 1994 (AKL) # # dvips: added useful command line options (see: section 10) # # - run dvips in quiet mode # - print last page first for some printers # - compress bitmap fonts when resolution is greater or equal 400 dpi # - trying to set printer resolution for dvips && gs correctly # # suggestion from: sar@beehive.mn.org (Steven A. Reisman) # set paper type for dvips && gs correctly # # ------------------------------------------------------------------------------ # # Sat Feb 5 16:17:31 GMT+0100 1994 (AKL) # # from: sch2@crux5.cit.cornell.edu (Stephen Hsieh) # - cr/nl conversion needed for laserjets when printing ascii # ################################################################################ Major changes since apsfilter-1.3: --------------------------------- o I changed the copyright to the GPL, since in my first public version it was to rigid. My fault .. but now everything is ok ! o Main feature in this version is a total rewrite of the configuration section that makes printer specific modifications very simple ! apsfilter-7.2.6.orig/DONATIONS0000644000175000017500000000034007404665355016220 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/DONATIONS,v 1.3 2001/12/09 13:45:17 andreas Exp $ # For a list of things that would help in developement see: http://www.apsfilter.org/donation.html Thanks for sponsoring the apsfilter project ! apsfilter-7.2.6.orig/FAQ0000644000175000017500000000152007404665355015272 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/FAQ,v 1.12 2001/12/09 13:45:17 andreas Exp $ Frequently Asked Questions for Apsfilter The FAQs are contained in the apsfilter documentation Typical locations: a) local machine under unpacked apsfilter sources: - doc/handbook.html b) online on apsfilters web server: http://www.apsfilter.org If you use the -stable version of apsfilter look here: - http://www.apsfilter.org/docs/apsfilter-handbook-stable.html If you use the developement version of apsfilter, then use: - http://www.apsfilter.org/docs/apsfilter-handbook-current.html hint: those links are easy accessable on the apsfilter download page: - http://www.apsfilter.org/download.html For documentation questions, e-mail . For questions about Apsfilter, e-mail . apsfilter-7.2.6.orig/HOWTO-BUGREPORTS.in0000644000175000017500000000107607413407615017661 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/HOWTO-BUGREPORTS.in,v 1.19.2.5 2001/12/29 18:46:37 andreas Exp $ Please use the new script apsfilter-bug to make a bug- or problem report. For more informations see the manpage "apsfilter-bug(1)" and the apsfilter handbook. Hint: The apsfilter-bug utility presents you a "form" in an editor window which asks you some standard questions. If you save and quit your editor, then this report is sent automatically via e-mail to the proper apsfilter mailinglist. Thanks for using the new tools for sending problem reports The apsfilter team /// apsfilter-7.2.6.orig/INSTALL0000644000175000017500000000543307413375224015771 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/INSTALL,v 1.27.2.3 2001/12/29 17:17:08 andreas Exp $ APSFILTER installation instructions =================================== For all Unix systems you need: * the spooling software (lpd, lpr, lprm etc.); apsfilter supports BSD-style spoolers and LPRng (which in turn is BSD compatible) * for non-PostScript printers: ghostscript (gs) version 6.51 (GNU), 7.00 (AFPL) or later * recommended: the psutils package (psnup, psselect, psbook, ...) * a converter for every file format that you want to print for bitmap images: - convert from the ImageMagick package or - nconvert from XnView or - the pbmplus / netpbm tools for archives (will print file listing): ar, arc/unarc, unarj, cabextract, cpio, lha, rar/unrar, rpm, tar, unzip, zoo for ASCII files: - a2ps or - mpage or - enscript or - recode (no fancy features, plain text) plus (depends on your special demands) - dvips for DVI files - transfig for XFig files - html2ps or htmldoc for HTML files - sk2ps for Sketch, WMF and XFig files - groff for *roff files - tgif for Tgif files - wmf2eps for Windows Metafiles - optional: acroread or pdftops for PDF files * compression tools if you want to handle packed files: gzip, bzip2, compress, freeze, pack, lzop Installation procedure: ======================= * extract the tarball; this will create a subdir "apsfilter" $ gzip -cd apsfilter-x.y.z.tar.gz | tar xf - or $ bzip2 -cd apsfilter-x.y.z.tar.bz2 | tar xf - * cd into "apsfilter" * configure apsfilter $ ./configure You might want to give options; see "./configure --help" * login as root ("su -") * install apsfilter # make install * (optional) copy the contributed uniprint driver profiles into the ghostscript lib directory; e.g. # cp uniprint/*.upp /usr/local/share/ghostscript/VeRsIoN/lib This step can be skipped for FreeBSD users if the gs port has been updated lately. * read the apsfilter documentation under doc/ subdir * again: please try to read the whole documentation, including the FAQ * to install printers, start the SETUP script and follow the instructions: # /usr/local/share/apsfilter/SETUP (adjust the path if needed) * restart the spooler daemon "lpd", mostly by typing as root: # lpc restart all * print some files as a final test * in case of a problem, re-read the apsfilter handbook (doc/handbook.html), man pages for apsfilter, the FAQ in the apsfilter handbook. HOWTO-BUGREPORTS tells you, how to report bugs. * One final note: PLEASE WRITE BUG REPORTS TO THE MAILING-LISTS NOT TO THE DEVELOPERS PERSONALLY. This assures - that we can share our experiences among ALL apsfilter users and - feed our browseable and searchable mailinglist archive. Thanks ! apsfilter-7.2.6.orig/KNOWN_BUGS0000644000175000017500000000014007226111555016362 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/KNOWN_BUGS,v 1.7 2001/01/07 16:03:57 andreas Exp $ Currently no bugs. apsfilter-7.2.6.orig/LICENSE0000644000175000017500000000064607413375224015746 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/LICENSE,v 1.5.2.3 2001/12/29 17:17:08 andreas Exp $ # # Copyright by Andreas Klemm # Copyright 1993-2002 "Postcard License". If you use apsfilter for business or home purposes, then please send me a postcard. This product is otherwise free of charge. You can get my address automaticall by writing to this e-mail address: apsfilter-snailmail@apsfilter.org apsfilter-7.2.6.orig/Makefile.in0000644000175000017500000000610707557061437017013 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/Makefile.in,v 1.48.2.19 2002/10/27 22:05:19 andreas Exp $ # root of installation tree (e.g. for package creation) DESTDIR= prefix=${DESTDIR}@prefix@ bindir=${DESTDIR}@bindir@ datadir=${DESTDIR}@datadir@ sysconfdir=${DESTDIR}@sysconfdir@ mandir=${DESTDIR}@mandir@ docdir=${DESTDIR}@docdir@ APSSHARE=${datadir}/apsfilter APSDOC=${docdir}/apsfilter APSCONF=${sysconfdir}/apsfilter MKDIR=mkdir -p RM=rm -f LN=ln -sfn INSTALL_PRG=install -c -s -m 555 INSTALL_SCRIPT=install -c -m 555 INSTALL_DATA=install -c -m 444 .PHONY: all install update clean distclean all: install: update update: ${MKDIR} ${bindir} ${MKDIR} ${mandir}/man1 ${MKDIR} ${mandir}/man5 ${MKDIR} ${APSDOC} ${MKDIR} ${APSCONF} ${MKDIR} ${APSSHARE} ${MKDIR} ${APSSHARE}/bin ${MKDIR} ${APSSHARE}/setup ${MKDIR} ${APSSHARE}/template ${INSTALL_SCRIPT} bin/aps2file ${bindir} ${INSTALL_SCRIPT} bin/apsfilter-bug ${bindir} ${INSTALL_SCRIPT} bin/apspreview ${bindir} ${INSTALL_SCRIPT} SETUP ${APSSHARE} ${INSTALL_SCRIPT} bin/apsfilter ${APSSHARE}/bin ${INSTALL_SCRIPT} bin/setup_dvips.sh ${APSSHARE}/bin ${INSTALL_DATA} setup/README ${APSSHARE}/setup ${INSTALL_DATA} setup/test.ps ${APSSHARE}/setup ${INSTALL_DATA} setup/devices-6.50 ${APSSHARE}/setup ${INSTALL_DATA} setup/devices-7.00 ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-6.50 ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-7.00 ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-cdj ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-epson ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-gimp ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-hpdj ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-hpijs ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-ijs ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-lexmark ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-misc ${APSSHARE}/setup ${INSTALL_DATA} setup/non-printer ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-omni ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-pcl3 ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-ppa ${APSSHARE}/setup ${INSTALL_DATA} setup/printer-stp ${APSSHARE}/setup ${INSTALL_DATA} template/README ${APSSHARE}/template ${INSTALL_DATA} template/apsfilterrc ${APSSHARE}/template ${INSTALL_DATA} ANNOUNCE ${APSDOC} ${INSTALL_DATA} FAQ ${APSDOC} ${INSTALL_DATA} HOWTO-BUGREPORTS ${APSDOC} ${INSTALL_DATA} LICENSE ${APSDOC} ${INSTALL_DATA} doc/README.BSD ${APSDOC} ${INSTALL_DATA} doc/README.TeX ${APSDOC} ${INSTALL_DATA} doc/handbook.html ${APSDOC} ${INSTALL_DATA} doc/apsfilter4.png ${APSDOC} ${INSTALL_DATA} doc/paper ${APSDOC} ${INSTALL_DATA} man/apsfilter.1 ${mandir}/man1/apsfilter.1 ${INSTALL_DATA} man/aps2file.1 ${mandir}/man1/aps2file.1 ${INSTALL_DATA} man/apspreview.1 ${mandir}/man1/apspreview.1 ${INSTALL_DATA} man/apsfilter-bug.1 ${mandir}/man1/apsfilter-bug.1 ${INSTALL_DATA} man/apsfilterrc.5 ${mandir}/man5/apsfilterrc.5 tar cf - driver | ( cd ${APSSHARE} && tar xf -) ${LN} ${APSSHARE} ${APSCONF}/basedir clean: (cd doc; make clean) distclean: clean ${RM} @DOT_IN_FILES@ apsfilter-7.2.6.orig/PROMOTION0000644000175000017500000000031107404665355016246 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/PROMOTION,v 1.2 2001/12/09 13:45:17 andreas Exp $ # If you like apsfilter and want to make a little bit promotion, then please send an e-mail to apsfilter-promo@apsfilter.org apsfilter-7.2.6.orig/README0000644000175000017500000000203507404665355015622 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/README,v 1.12 2001/12/09 13:45:17 andreas Exp $ APSFILTER README ================ APSFILTER is a lineprinter input filter for systems with a BSD-like printing mechanism (lpd, /etc/printcap), that saves users a lot of work when printing different file types no matter whether compressed or not! Additionally it enables non-PostScript printers that are supported by the free (in the terms of the GPL) PostScript interpreter "ghostscript" (gs) to print PostScript files! General informations about apsfilter and its features can be found in the following files: ANNOUNCE - release informations ChangeLog - list of changes and apsfilter contributors FAQ - Frequently Asked Questions HOWTO-BUGREPORTS - how to report bugs or problems INSTALL - explains the installation of the filter doc/handbook.html - apsfilter handbook, including FAQ manpages: apsfilter.1 - description of the program apsfilterrc.5 - concerning apsfilter customization The apsfilter copyright is owned by Andreas Klemm apsfilter-7.2.6.orig/SETUP.in0000755000175000017500000020130407567474126016201 0ustar covencoven00000000000000#! @shell@ # -*- sh -*- # # $ApsCVS: src/apsfilter/SETUP.in,v 1.123.2.18 2002/11/22 18:32:54 andreas Exp $ # # apsfilter setup tool # # written by Andreas Klemm # modified for V6.0 by Michael Loßin # # # exit status 0 on successfull printer installation # exit status 1 indicates failures or if the user simply quit the program # umask 022 PATH="/usr/local/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/bin:/bin" : ${TMPDIR:=/tmp} ${AWK:=@awk@} APS_TMPDIR="$TMPDIR/apsfilter$$" rm -rf "$APS_TMPDIR" mkdir -m 700 "$APS_TMPDIR" if [ $? -ne 0 ]; then APS_TMPDIR=`mktemp -q -d "$TMPDIR/apsfilter.XXXXXX"` || \ echo 1>&2 "SETUP error: couldn't create temporary directory" chmod 700 "$APS_TMPDIR" fi export TEMP="$APS_TMPDIR" TMPDIR="$APS_TMPDIR" PATH trap 'rm -rf "$APS_TMPDIR"' 0 # on BSD systems and most other Unices lpd runs under permissions "daemon" # spooldirs have the permissions "root:daemon" # to enable lpd to read config files for remote printing # we have to use "640" as permission for the config file # PASSWD_PROTECT=640 # # display text with a pager like "more" # do_pager() { case "$1" in -) ${PAGER-more} ;; *.Z) zcat "$1" | ${PAGER-more} ;; *.gz|*.z) gzip -cd "$1" | ${PAGER-more} ;; *) ${PAGER-more} < "$1" ;; esac } ############################################################################## # Copyright note and license ############################################################################## do_copyright() { clear cat << !EOM _/_/ _/_/ _/ _/ _/ _/ _/ _/_/_/ _/_/_/ _/ _/ _/_/_/_/ _/_/ _/ _/_/ _/_/_/_/ _/ _/ _/_/ _/_/_/_/ _/ _/ _/ _/_/_/_/ _/_/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/_/_/ _/ _/ _/ _/_/ _/_/_/ _/ _/ _/ Hi, welcome to the apsfilter setup and thanks for using apsfilter! Before we begin with the setup, I'd like to make you familiar with the apsfilters license: 1. apsfilter follows the GNU public license (GPL), see COPYRIGHT 2. and this little "Postcard License": "I'd like to get a postcard from you! I'm interested in, who is using apsfilter, where you live, and where in the world apsfilter is doing it's job." Please send me an e-mail to apsfilter-snailmail@apsfilter.org to get my postal address; we'll get there later in this setup... !EOM echo $n "Accept license [Y|y|J|j|N|n] ? $c"; read answer echo case $answer in Y|y|J|j) echo "License accepted, thanks!" echo sleep 2 ;; *) echo "License not accepted -- sorry, terminating setup..." exit 1 ;; esac } ############################################################################## # Request snail mail address for "Postcard License" ############################################################################## do_request_snailmail() { clear cat << !EOM _/ _/ _/ _/ _/_/ _/_/ _/_/ _/_/_/ _/ _/_/_/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/_/ _/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/_/_/ _/ _/_/_/ _/ _/ _/_/ Is Internet Mail up and running on *this* machine to request my postal address to follow the rules of the "Postcard License" ? !EOM echo $n "Request my snail mail address now [Y|y|N|n] ? $c"; read answer echo case $answer in Y|y|J|j) # Find out mail address... while [ -z "$EMAIL_OK" ]; do echo echo "To what address may I send you my postal address?" echo "Does mail to \"$USER@$HOST\" reach you?" echo echo "Enter RETURN to accept or type in your" echo $n "complete mail address: $c"; read $read_r answer if [ -z "$answer" ]; then # use $USER@$HOST REPLYTO="$USER@$HOST" echo echo "Thanks, using $REPLYTO ..." sleep 2 echo EMAIL_OK=true else # check for fqdn and use his address case $answer in *@*.*) REPLYTO="$answer" echo "using $REPLYTO ..." sleep 2 EMAIL_OK=true ;; *) echo echo "!!! $answer is not a valid !!!" echo "!!! e-mail address.... !!!" sleep 2 ;; esac fi done { echo "To: apsfilter-snailmail@apsfilter.org" echo "Reply-To: $REPLYTO" echo "Subject: get snailmail for apsfilter version @VERSION@" } | "@sendmail@" apsfilter-snailmail@apsfilter.org touch "$CONF_DIR/.requested_snailmail" ;; *) echo echo "o.k. for now ..." echo echo "... but please don't forget to request it later ..." sleep 4 ;; esac } ############################################################################## # START SEQUENCE # - introduce apsfilter, version, copyright ############################################################################## do_start() { clear cat << !EOM ================================================================ A P S F I L T E R V @VERSION@ *** The Unix Print Solution *** ================================================================ copyright Andreas Klemm, 1993-2002 andreas@apsfilter.org http://www.apsfilter.org/ ---------------------------------------- for Unix systems with BSD compatible line printer scheduler (lpd) or with LPRng FreeBSD / NetBSD / OpenBSD / BSDI Linux and other flavours of Unix ---------------------------------------- ++++ INSTALLATION PROGRAM ++++ [ press to continue ] !EOM read answer clear cat << !EOM ================================================================ A P S F I L T E R S E T U P -- PROGRAM INFO -- ================================================================ This SETUP script supports the user/administrator by - configuring serial/parallel/remote printers - creating printer spool directories as needed - auto-creation of printcap config-file for apsfilter (add / overwrite printer) - setting up apsfilter (which gs driver to use, paper size, print resolutions and color depth) - printing a test page (settings may be modified until successfull ouput of a testpage) - saves some SETUP settings in apsfilterrc config file it does not: - complete printer management in printcap (delete/modify printer) ---------------------------------------------------------------- [ press to continue ] !EOM read answer } ############################################################################## # Check which ghostscript release we have # Now we can offer gs version dependent # - driver description # - driver selection ############################################################################## do_check_gs_version() { GS_VERSION=`gs --version` case $GS_VERSION in 7*) GS_BASE=7.00 ;; 6.[5-9]*) GS_BASE=6.50 ;; *) GS_BASE=6.50 cat < to continue !EOM read answer PRINTER="" while [ -z "$PRINTER" ]; do # list available gs driver preceeded by number grep -v "^#" $PRINTER_LIST \ | "$AWK" -F "|" '{ printf("%d - %s [%s]\n", FNR, $1, $2) }' \ | do_pager - echo "Which driver do you want to choose?" echo "[Hit RETURN to see the list again, enter 0 to choose new type.]" echo echo $n "Enter number: $c"; read answer if [ -z "$answer" ]; then : # show the list again elif [ $answer = 0 ]; then # choose a different printer type do_choose_driver return elif [ $answer -lt 1 -o $answer -gt $MAXNO ]; then echo "wrong selection: enter value between 1 and $MAXNO !" sleep 2 else # get the driver specified by number PRINTER="`grep -v "^#" $PRINTER_LIST \ | "$AWK" -F "|" "{ if (FNR == $answer) print \\$2 }"`" fi # check if gs has this driver compiled in if [ -n "$PRINTER" ]; then case "$PRINTER" in # print-to-file drivers bmp) check_for_gs_support bmp32b bmpgray bmpmono ;; jpeg) check_for_gs_support jpeg jpeggray ;; pcx) check_for_gs_support pcx24b pcxgray pcxmono ;; png) check_for_gs_support png16m pnggray pngmono ;; pnm) check_for_gs_support ppmraw pgmraw pbmraw ;; tiff) check_for_gs_support tiff24nc tiffpack ;; # printer drivers *.upp) check_for_gs_support uniprint ;; ppa/*|printiva|lexmark1100) check_for_gs_support ppmraw pgmraw pbmraw ;; gimp/*) check_for_gs_support ijs ;; stp/*|omni/*|hpdj/*|pcl3/*|hpijs/*|ijs/*) check_for_gs_support "${PRINTER%%/*}" ;; lexmark2030|lexmark2070|samsung85) check_for_gs_support pbmraw ;; lexmark2050c|lexmark2070c|lexmarkZ11) check_for_gs_support bitcmyk ;; cjet) check_for_gs_support ljet3 ;; ljet4l) check_for_gs_support ljet4 ;; stylewriter) check_for_gs_support bitcmyk pbmraw ;; pips/*) check_for_gs_support png16m pnggray pngmono ;; st800) check_for_gs_support stcolor ;; bjc50|bjc70|bjc4000|bjc7000) check_for_gs_support bjc600 ;; # simple default for printer and non-printer devices *) check_for_gs_support "$PRINTER" ;; esac fi if [ -n "$PRINTER" ]; then echo echo "You selected driver: $PRINTER" echo echo "Driver $PRINTER supports the following printer(s):" grep "|$PRINTER$" $PRINTER_LIST echo echo $n "Do you want to use $PRINTER? [Y|n] $c"; read answer case $answer in N|n) PRINTER="" ;; esac fi done } check_for_gs_support() { local req # check for gs type gs >/dev/null 2>&1 || warn_about_missing_gs for req; do # check if gs has driver compiled in if ! gs -h | sed -e '1,/Available devices:/d' -e '/Search path:/,$ d' \ | grep -w "$req" >/dev/null; then cat < to continue EOF read answer show_gs_devices # to enter selection loop PRINTER="" return 1 fi done return 0 } ############################################################################## # called by do_setup_interface (parallel setup) ############################################################################## do_ask_parallel_device() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R Parallel Interface Settings -- Device -- ---------------------------------------------------------------- Depending on your flavour of Unix, you have to enter the *full path* to your parallel Interface. In case of trouble please contact your local system administrator or read your operating systems technical documentation, FreeBSD handbook or Linux HowTo. Some examples: FreeBSD, NetBSD, OpenBSD: LPT1: /dev/lpt0 LPT2: /dev/lpt1 USB under *BSD: /dev/ulpt0 /dev/ulpt1 USB (no reset): /dev/unlpt0 /dev/unlpt1 Linux: LPT1: /dev/lp0 LPT2: /dev/lp1 with devfsd: /dev/printers/0 /dev/printers/1 USB under Linux: /dev/usb/lp0 /dev/usb/lp1 SunOS4: /dev/bpp0 /dev/bpp1 currently selected: Interface: [$INTERFACE] Device: [$DEVICE] !EOM echo $n "Full path of parallel print device: $c"; read $read_r answer [ "$answer" ] && DEVICE="$answer" if [ ! -c "$DEVICE" ]; then echo; echo "Warning! Device node '$DEVICE' is not a character" echo $n "device. Proceed anyway (y/n)? $c"; read $read_r answer [ "$answer" != y -a "$answer" != Y ] && unset DEVICE fi } ############################################################################## # called by do_setup_interface (remote printer setup) ############################################################################## do_ask_remote_printer() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R Remote Printer SETUP via lpd print protocol ---------------------------------------------------------------- If you have FreeBSD (3.x or later) with an enhanced lpd or another Unix System with LPRng, it's possible to use apsfilter with remote printer. Restrictions of original Berkeley lpd made it impossible in the past, to use lineprinter input filter when printing to a remote printer. Please enter the full qualified hostname or IP address of the remote system as well as the remote printer name. See the manpage: printcap(5). Fields "rm" and "rp" currently selected: machine name for remote printer : [ $rm ] remote printer name : [ $rp ] !EOM echo $n "Machine name for remote printer: $c"; read $read_r rm echo echo "Hint for remote printing onto network printer with HP JetDirect card" echo "Enter 'raw' as remote printer queuename !" echo echo $n "Remote Printer Name: $c"; read $read_r rp [ "$rm" ] && DEVICE="$rm" } ############################################################################## # called by do_setup_interface (samba printer setup) ############################################################################## do_ask_samba_printer() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R Samba Printer SETUP ---------------------------------------------------------------- Take care that smbclient is in apsfilters search path. You can fine tune paths in $CONF_DIR/apsfilterrc. See smbclient manual page for more options if needed. currently selected: NetBIOS name of Windows Server : [ $SMB_SERVER ] Windows Server IP : [ $SMB_IP ] Printer Share Name : [ $SMB_PRINTER ] Workgroup : [ $SMB_WORKGROUP ] Windows Username : [ $SMB_USER ] Windows Password : [ $SMB_PASSWD ] (you can fine tune some more values in the smbclient.conf file in the printer's configuration directory later) !EOM echo $n "NetBIOS name of Windows Server: $c"; read $read_r SMB_SERVER echo $n "Windows Server IP Address : $c"; read $read_r SMB_IP echo $n "Printer Share Name : $c"; read $read_r SMB_PRINTER echo $n "Workgroup Name : $c"; read $read_r SMB_WORKGROUP echo $n "Print as Windows GUEST user (no: use real account)? [y/n] $c" read answer case $answer in n|N) echo $n "Windows Username : $c" read $read_r SMB_USER echo $n "Windows Password : $c" read $read_r SMB_PASSWD ;; *) echo "O.K. using user GUEST, to print on Windows Printer..." SMB_USER=""; SMB_PASSWD="" ;; esac [ "$SMB_SERVER" ] && DEVICE="$SMB_SERVER" } ############################################################################## # called by do_setup_interface (netware printer setup) ############################################################################## do_ask_netware_printer() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R NetWare Printer SETUP ---------------------------------------------------------------- Take care that ncprint/nprint is in apsfilters search path. You can fine tune paths in $CONF_DIR/apsfilterrc. See ncprint/nprint manual page for more options if needed. currently selected: NetWare server name : [ $NCP_SERVER ] Printer queue name : [ $NCP_PRINTER ] NetWare username : [ $NCP_USER ] NetWare password : [ $NCP_PASSWD ] (you can fine tune some more values in the netware.conf file in the printer's configuration directory later) !EOM echo $n "NetWare server name : $c"; read $read_r NCP_SERVER echo $n "Printer queue name : $c"; read $read_r NCP_PRINTER echo $n "NetWare username : $c"; read $read_r NCP_USER echo $n "NetWare password : $c"; read $read_r NCP_PASSWD [ "$NCP_SERVER" ] && DEVICE="$NCP_SERVER" } ############################################################################## # called by do_setup_interface (apple remote printer setup) ############################################################################## do_ask_atalk_printer() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R AppleTalk Remote Printer SETUP ---------------------------------------------------------------- Take care that pap is installed in apsfilters search path. You can fine tune paths in $CONF_DIR/apsfilterrc. See pap manual page for more options if needed. currently selected: NBP name of Apple Printer : [ $PAP_NBPNAME ] !EOM echo $n "Name (NBP Name) of Apple Printer: $c"; read $read_r PAP_NBPNAME [ "$PAP_NBPNAME" ] && DEVICE="$PAP_NBPNAME" } ############################################################################## # Some routines for serial interface options, line discipline... ############################################################################## do_read_serial_device() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R Serial Interface Settings -- Device -- ---------------------------------------------------------------- Depending on your flavour of Unix, you have to enter the *full path* to your serial Interface. In case of trouble please contact your local system administrator or read your operating systems technical documentation, FreeBSD handbook or Linux HowTo. Some examples: FreeBSD, NetBSD, OpenBSD: COM1: /dev/cuaa0 COM2: /dev/cuaa1 Linux: COM1: /dev/ttyS0 COM2: /dev/ttyS1 SunOS4: /dev/ttya /dev/ttyb currently selected: Interface: [$INTERFACE] Device : [$DEVICE] !EOM echo $n "Your choice? $c"; read $read_r answer [ "$answer" ] && DEVICE="$answer" if [ ! -c "$DEVICE" ]; then echo; echo "Warning! Device node '$DEVICE' is not a character" echo $n "device. Proceed anyway (y/n)? $c"; read $read_r answer [ "$answer" != y -a "$answer" != Y ] && unset DEVICE fi } do_read_serial_baud() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R Serial Interface Settings -- Baudrate -- ---------------------------------------------------------------- The Baud Rate is the transfer rate at which the asynchronous serial interface is sending bits from the computer to the printer. The higher the Baudrate the better and shorter your cable should be. I recommend 5m cable as a maximum for 38400 Baud and perhaps 2-3m for speeds higher than that. It depends heavily on the quality of your cables, interfaces, handshaking and printer. Another rule of thumb is, that hardware handshaking works best with higher Baudrates, but needs a special cable depending on your machine and the printer. Valid and useable Baudrates are (a good starting point is 9600) 1) 4800 2) 9600 3) 19200 4) 38400 5) 57600 6) 115200 Please note: you have to configure your printer as well for that speed and don't forget to power off and on the printer after that. !EOM echo $n "Your choice? $c"; read answer case $answer in 1) BAUDRATE=4800 ;; 2) BAUDRATE=9600 ;; 3) BAUDRATE=19200 ;; 4) BAUDRATE=38400 ;; 5) BAUDRATE=57600 ;; 6) BAUDRATE=115200 ;; esac } do_read_serial_handshake() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R Serial Interface Settings -- Handshaking -- ---------------------------------------------------------------- There are two possible handshaking methods, often called Hardware and Software handshaking. This determines, how the printer tells your computers start or stop sending data to avoid data lossage. Directly forget about using ghostscript as Postscript Emulator with the software handshaking (xon/xoff protocol), because gs (ghostscript) sends a binary data stream to the printer containing these start/stop characters. But I will allow you to select this as an option, you'll certainly know better than I what you want. Hardware handshaking isn't as standardized as it could. So different computer/printers use different pins/signals of the serial interface, to stop/start the data transfer. You'll certainly need a special printer cable ! 1 - software handshaking (xon/xoff, 3 wires, avoid this) 2 - hardware handshaking (crtscts, RTS/CTS flow control) !EOM echo $n "Your choice? $c"; read answer case $answer in 1) HANDSHAKE="ixon,ixoff,ixany,-crtscts" HANDSHAKE_FOR_COMMAND="ixon ixoff ixany -crtscts" ;; 2) HANDSHAKE="-ixon,-ixoff,-ixany,crtscts" HANDSHAKE_FOR_COMMAND="-ixon -ixoff -ixany crtscts" ;; esac } do_read_serial_wordlength() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R Serial Interface Settings -- Wordlength -- ---------------------------------------------------------------- Computer and Printer must have the same settings how many "bits" long a "data word" is. We have to use "8 Bit" long data words, otherwise it isn't possible to transmit characters above a value of 127. We need 8 Bit here! 1) 8 Bit (a must !) 2) 7 Bit (please do not use this !) !EOM echo $n "Your choice? $c"; read answer case $answer in 1) WORDLENGTH=8; WORDLENGTH_COMMAND=cs8 ;; 2) WORDLENGTH=7; WORDLENGTH_COMMAND=cs7 ;; esac } do_read_serial_parity() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R Serial Interface Settings -- Parity -- ---------------------------------------------------------------- Computer and Printer must have the same settings if they use parity or not. Parity is a kind of a checksum to detect garbage on the line. Usually we use no parity. If there is a need for parity, you have to decide if you use even or odd parity. 1) no parity (take this) 2) even 3) odd !EOM echo $n "Your choice? $c"; read answer case $answer in 1) PARITY="no parity"; PARITY_COMMAND=-parenb ;; 2) PARITY="even"; PARITY_COMMAND="parenb -parodd" ;; 3) PARITY="odd"; PARITY_COMMAND="parenb parodd" ;; esac } do_read_serial_stopbits() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R Serial Interface Settings -- Stop Bits -- ---------------------------------------------------------------- Your computer and printer must have the same amount of stopbits configured that are sent/accepted after transmitting a "Data word" - and parity information, if you selected one -. Standard is to use one stopbit. Please configure your printer's serial interface to use one stopbit, if possible, otherwise use two stopbits. 1) 1 Stopbit 2) 2 Stopbits !EOM echo $n "Your choice? $c"; read answer case $answer in 1) STOPBITS=1; STOPBIT_COMMAND=-cstopb ;; 2) STOPBITS=2; STOPBIT_COMMAND=cstopb ;; esac } ############################################################################## # called by do_setup_interface (serial setup) ############################################################################## do_ask_serial_settings() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R S E T U P -- Serial Interface Settings -- ---------------------------------------------------------------- Important for a successfull configuration is, that the computers _and_ the printers interface do have exactly the same settings ! Operating system dependent 1) Printer device [$DEVICE] General operating characteristics 2) Baud rate [$BAUDRATE] 3) Handshaking [$HANDSHAKE] Data format 4) Data Word Length (in bits) [$WORDLENGTH] 5) Parity [$PARITY] 6) Stopbits [$STOPBITS] 7) Startbits (UNIMPLEMENTED) [$STARTBITS] !EOM echo $n "Your choice? $c"; read answer case $answer in 1) do_read_serial_device ;; 2) do_read_serial_baud ;; 3) do_read_serial_handshake ;; 4) do_read_serial_wordlength ;; 5) do_read_serial_parity ;; 6) do_read_serial_stopbits ;; esac } ############################################################################## # Print Device serial or parallel? ############################################################################## do_setup_interface() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R S E T U P -- Interface Setup -- ---------------------------------------------------------------- The easiest way, to connect a printer to your computer is by using the parallel interface, because it's usually *faster*, more standardized and therefore much easier to configure. When configuring a serial printer, the installation dialogue asks you many questions about how to configure the serial interface of your computer, so that it works well with your printers current settings. When using the serial interface, then you have to choose special cables, depending on the communication protocol between computer and printer (hardware/software handshaking). Many pitfalls here ! currently selected: Interface: [$INTERFACE] Device: [$DEVICE] configure local / remote printer 1) local parallel/USB 2) local serial 3) Unix/network printer (lpd) 4) Windows / NT (samba) 5) AppleTalk 6) Novell NetWare !EOM echo $n "Your choice? $c"; read answer case $answer in 2) INTERFACE=serial; do_ask_serial_settings ;; 3) INTERFACE=network; do_ask_remote_printer ;; 4) INTERFACE=samba; do_ask_samba_printer ;; 5) INTERFACE=atalk; do_ask_atalk_printer ;; 6) INTERFACE=netware; do_ask_netware_printer ;; *) INTERFACE=parallel; do_ask_parallel_device ;; esac [ "$DEVICE" ] || unset INTERFACE } ############################################################################## # Choose the print resolution ############################################################################## do_choose_resolution() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R S E T U P -- Print Resolution -- ---------------------------------------------------------------- You can set the default printing resolution here, but keep in mind that the quality setting (right now: $QUALITY) has greater priority for most drivers. You must set the resolution in this dialog for PostScript printers (PS, PSgs) and for drivers that don't have a driver script (e.g. uniprint profiles). Some typical settings to play with: 1) 150dpi 2) 300dpi 3) 600dpi 4) 1200dpi 5) 180dpi 6) 360dpi 7) 360x180dpi 8) 720dpi c) custom settings !EOM echo $n "Your choice? $c"; read answer case $answer in 1) XRESOL=150; YRESOL=150 ;; 2) XRESOL=300; YRESOL=300 ;; 3) XRESOL=600; YRESOL=600 ;; 4) XRESOL=1200; YRESOL=1200 ;; 5) XRESOL=180; YRESOL=180 ;; 6) XRESOL=360; YRESOL=360 ;; 7) XRESOL=360; YRESOL=180 ;; 8) XRESOL=720; YRESOL=720 ;; *) # custom settings echo $n "Please input x-resolution in dpi: $c"; read XRESOL echo $n "Please input y-resolution in dpi: $c"; read YRESOL if [ -z "$XRESOL" ]; then if [ -z "$YRESOL" ]; then XRESOL=300; YRESOL=300 else XRESOL=$YRESOL fi else [ "$YRESOL" ] || YRESOL=$XRESOL fi ;; esac RESOLUTION=${XRESOL}x${YRESOL} } ############################################################################## # Choose default color mode ############################################################################## do_choose_color() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R S E T U P -- Color Setup -- ---------------------------------------------------------------- Please choose whether you want to print in full color, grayscale or monochrome mode. Not all drivers support all of these three modes. If you don't know what to do, use "full color". 1) full color mode (usually 24bpp or 32bpp) 2) grayscale mode (usually 3bpp, 4bpp or 8bpp) 3) monochrome mode (usually 1bpp) 0) keep setting [$COLOR] !EOM echo $n "Your choice? $c"; read answer case $answer in 1) COLOR=full ;; 2) COLOR=gray ;; 3) COLOR=mono ;; esac } ############################################################################## # Choose default printing quality ############################################################################## do_choose_quality() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R S E T U P -- Quality Setup -- ---------------------------------------------------------------- This sets the printing quality. Usually, this has an impact on the printing resolution and the dithering quality. For some drivers, some modes are merely aliases for other modes. 1) draft (usually: lowest resolution, fastest dithering) 2) low (usually: low resolution, fast dithering) 3) medium (usually: medium resolution, normal dithering) 4) high (usually: high resolution, good dithering) 5) photo (usually: highest resolution, best dithering) 0) keep setting [$QUALITY] !EOM echo $n "Your choice? $c"; read answer case $answer in 1) QUALITY=draft ;; 2) QUALITY=low ;; 3) QUALITY=medium ;; 4) QUALITY=high ;; 5) QUALITY=photo ;; esac } ############################################################################## # Choose default printing method ############################################################################## do_choose_method() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R S E T U P -- Method Setup -- ---------------------------------------------------------------- Please choose how apsfilter should handle the incoming data. 1) auto (automatic data conversion) 2) ascii (treat everything as text) 3) raw (do not modify data; ignores paper size, quality, color and resolution settings) 0) keep setting [$METHOD] !EOM echo $n "Your choice? $c"; read answer case $answer in 1) METHOD=auto ;; 2) METHOD=ascii ;; 3) METHOD=raw ;; esac } ############################################################################## # Choose paper size ############################################################################## do_setup_paper_format() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R S E T U P -- Paper Format -- ---------------------------------------------------------------- What paper format do you want to use for printing? 1) DIN A4 (21.0cm x 29.7cm) 2) DIN A3 (29.7cm x 42.0cm) 3) US letter ( 8.5in x 11.0in) 4) US legal ( 8.5in x 14.0in) 5) US tabloid (11.0in x 17.0in) 6) US ledger (17.0in x 11.0in) !EOM echo $n "Your choice? $c"; read answer case $answer in 1) PAPER=a4 ;; 2) PAPER=a3 ;; 3) PAPER=letter ;; 4) PAPER=legal ;; 5) PAPER=tabloid ;; 6) PAPER=ledger ;; esac } do_print_test_page() { local sv_printer sv_resolution gs_device paper sv_printer=$PRINTER; sv_resolution=$RESOLUTION [ "$PAPER" = tabloid ] && paper=11x17 || paper="$PAPER" # the tmp file containing the print data # a) PS content if you have a PS printer # b) gs output (translated PS file) using printer driver of your choice TESTOUT="$APS_TMPDIR/test_page.aps" ### call driver script to adjust options unset GS_FEATURES POST_FILTER POST_FILTER_OPTS DRIVER_SCRIPT="$PRINTER" if [ ! -e "driver/$DRIVER_SCRIPT" ]; then # get the script name from the mapping file DRIVER_SCRIPT=$(grep ":$PRINTER:" "driver/MAPPING" | sed "s/:.*//") fi if [ -n "$DRIVER_SCRIPT" -a -e "driver/$DRIVER_SCRIPT" ]; then . "driver/$DRIVER_SCRIPT" fi # construct test print command, that will be evaluated later; idea is to # separate time to create print data and actual time to print it case "$PRINTER" in omni/*|hpijs/*) GS_FEATURES="$GS_FEATURES -sDeviceName=${PRINTER#*/}" PRINTER=${PRINTER%%/*} ;; stp/*|hpdj/*) GS_FEATURES="$GS_FEATURES -sModel=${PRINTER#*/}" PRINTER=${PRINTER%%/*} ;; pcl3/*) GS_FEATURES="$GS_FEATURES -sSubdevice=${PRINTER#pcl3/}" PRINTER=pcl3 ;; gimp/*) GS_FEATURES="$GS_FEATURES -sDeviceModel='${PRINTER#gimp/}' \ -sIjsServer=ijsgimpprint -dIjsUseOutputFD" PRINTER=ijs ;; ijs/*) GS_FEATURES="$GS_FEATURES -sDeviceModel='${PRINTER#ijs/}' \ -sIjsServer=hpijs -dIjsUseOutputFD" PRINTER=ijs ;; esac case "$PRINTER" in PS) # real PS printer CREATE_TESTPAGE_CMD="cp setup/test.ps '$TESTOUT'" ;; *.upp) # uniprint profiles CREATE_TESTPAGE_CMD="gs -q -dBATCH -dNOPAUSE -dPARANOIDSAFER \ -dSAFER @$PRINTER -sPAPERSIZE=$paper -sOutputFile='$TESTOUT' \ setup/test.ps" ;; *) # generic drivers CREATE_TESTPAGE_CMD="gs -q -dBATCH -dNOPAUSE -dPARANOIDSAFER \ -dSAFER -r$RESOLUTION -sDEVICE=$PRINTER -sPAPERSIZE=$paper \ $GS_FEATURES $PS_INIT -sOutputFile='$TESTOUT' setup/test.ps" ;; esac # reset settings (might have been mangled by the driver script) PRINTER=$sv_printer; RESOLUTION=$sv_resolution # maybe we need an additional filter (e.g. pnm2ppa) if [ "$POST_FILTER" ]; then if type "$POST_FILTER" > /dev/null 2>&1; then CREATE_TESTPAGE_CMD="$CREATE_TESTPAGE_CMD | '$POST_FILTER' \ $POST_FILTER_OPTS" else echo echo "ERROR: additional filter '$POST_FILTER' was not found;" echo " can't create test page" echo echo "[ press RETURN to continue ]" read answer return fi fi # Tell the magic command ... echo echo "Printing Test page using:" echo "$CREATE_TESTPAGE_CMD" echo echo $n "Ok to print testpage? [y/n] $c"; read answer case $answer in N|n) # do nothing ;; *) # print... echo echo "Creating test page..." { date echo "$PRINTER $RESOLUTION $QUALITY $COLOR" echo "Time for ghostscript:" } >> "$CONF_DIR/perf.log" # for time to be saved into logfile # stderr has to be redir. before pipe eval time $CREATE_TESTPAGE_CMD 2>&1 | tee -a "$CONF_DIR/perf.log" # check if command was successful # only then print EXIT_STATUS=$? if [ "$EXIT_STATUS" = 0 ]; then echo echo "Printing test page... " echo "Time for printer:" >> "$CONF_DIR/perf.log" if [ "$INTERFACE" = samba ]; then if [ -n "$SMB_USER" ]; then export PASSWD="$SMB_PASSWD" SMB_LOGIN="-U ${SMB_USER}" else SMB_LOGIN="" fi PRINT_TESTP_CMD="smbclient < '$TESTOUT' \ //${SMB_SERVER}/${SMB_PRINTER} ${SMB_IP:+-I $SMB_IP} \ ${SMB_LOGIN} ${SMB_WORKGROUP:+-W} ${SMB_WORKGROUP} \ -b 1400 -N -c 'print -'" elif [ "$INTERFACE" = netware ]; then # hide password in temporary configuration file if type ncprint >/dev/null 2>&1; then PRINT_TESTP_CMD=ncprint { echo "[${NCP_SERVER}:${NCP_USER}]" echo "password=$NCP_PASSWD" } > "$APS_TMPDIR/.nwfsrc" chmod $PASSWD_PROTECT "$APS_TMPDIR/.nwfsrc" else PRINT_TESTP_CMD=nprint echo "$NCP_SERVER/$NCP_USER ${NCP_PASSWD:--}" \ > "$APS_TMPDIR/.nwclient" chmod $PASSWD_PROTECT "$APS_TMPDIR/.nwclient" fi PRINT_TESTP_CMD="$PRINT_TESTP_CMD < '$TESTOUT' \ -S $NCP_SERVER -U $NCP_USER -q $NCP_PRINTER" elif [ "$INTERFACE" = atalk ]; then PRINT_TESTP_CMD="pap -e -p '$PAP_NBPNAME' < '$TESTOUT'" elif [ "$INTERFACE" = network ]; then PRINT_TESTP_CMD="lpr -P'${rp}@${rm}' '$TESTOUT'" else PRINT_TESTP_CMD="cat '$TESTOUT' > $DEVICE" fi ls -l "$TESTOUT" | tee -a "$CONF_DIR/perf.log" # temporarily set HOME for NetWare printing commands HOME="$APS_TMPDIR" eval time $PRINT_TESTP_CMD 2>&1 | \ tee -a "$CONF_DIR/perf.log" echo "[ press RETURN to continue ]" read answer else echo "last command terminated with exit status: $EXIT_STATUS" echo "Error creating testpage!" echo "[ press RETURN to continue ]" read answer fi ;; esac # remove temporary files rm -f "$TESTOUT" "$APS_TMPDIR/.nwfsrc" "$APS_TMPDIR/.nwclient" } do_print_test_menue() { clear cat << !EOM ---------------------------------------------------------------- A P S F I L T E R S E T U P -- Test Page -- ---------------------------------------------------------------- In most cases it's relatively easy to choose a suitable ghostscript driver from the list of supported printers. If you're printer is not in the list of supported printers: - guess a suitable driver by "trial and error" - consult your printers handbook to what ghostscript printer driver your printer "claims" to be compatible If this test produces unacceptable results, then please choose another driver or try another (perhaps lower) print quality, because it might be a memory problem. Only use print resolutions that are supported by your printer, consult the printers manual! Creating the test output might take some time, please be patient. T) Print a test page *) Back to main menue !EOM echo $n "Your choice? $c"; read answer case $answer in t|T) do_print_test_page ;; esac } do_view_perflog() { if [ -f "$CONF_DIR/perf.log" ]; then do_pager "$CONF_DIR/perf.log" else do_pager - << !EOM You'll have to print a test page first. !EOM fi } do_save_environment() { # # Save some settings for another SETUP attempt ... # Gooood for testing ;-)) # cat > "$CONF_DIR/SETUP.cfg" < Finish installation !EOM else proceed=true cat << !EOM (T) Print Test Page (V) View performance log (times of print attempts) (A) Abort installation (don't do anything) (I) ==> Install printer with values shown above - repeat this step for installing multiple printers (Q) ==> Finish installation !EOM fi echo $n " Your choice? $c"; read answer case $answer in d|D) show_gs_devices ;; r|R) do_pager setup/devices-$GS_BASE ;; 1) do_choose_driver ;; 2) do_setup_interface ;; 3) do_setup_paper_format ;; 4) do_choose_quality ;; 5) do_choose_color ;; 6) do_choose_resolution ;; 7) do_choose_method ;; t|T) [ "$proceed" ] && do_print_test_menue ;; v|V) [ "$proceed" ] && do_view_perflog ;; a|A) exit 1 ;; i|I) [ "$proceed" ] && MENU_DONE=true ;; q|Q) FINISH_SETUP=true; MENU_DONE=true ;; esac done } ############################################################################## # full check for permissions of files and directories # only call this when being root ############################################################################## do_check_permissions() { clear echo "Checking permissions of $APS_BASEDIR" DIR_OWNER=`ls -lgd | "$AWK" '{ print $3 }'` DIR_GROUP=`ls -lgd | "$AWK" '{ print $4 }'` case $DIR_OWNER in root|daemon|bin|lp) # ok, secure directory owner found echo "found dir owner=$DIR_OWNER, ok!" ;; *) # set secure directory owner echo "found dir owner=$DIR_OWNER, not ok!" echo "setting dir owner=bin!" DIR_OWNER=bin ;; esac case $DIR_GROUP in root|wheel|other|bin|lp) # ok, secure directory group found echo "found dir group=$DIR_GROUP, ok!" ;; *) # set secure directory group echo "found dir group=$DIR_OWNER, not ok!" echo "setting dir group=bin!" DIR_GROUP=bin ;; esac # after having set sane defaults, fix permissions echo $n "changing permissions of $APS_BASEDIR... $c" chmod 555 . chown -R $DIR_OWNER:$DIR_GROUP . find . -type d -print | xargs chmod 555 find . -type f -print | xargs chmod a+r,a-w echo "done." echo echo "Now we are checking file permissions in spooldir" set -- `ls -ld "$SPOOL"` LP_OWNER=$3; LP_GROUP=$4 while [ ! "$PERM_OK" ]; do echo echo "Your line printer scheduler's spooldir seems to be: $SPOOL" echo ls -ld "$SPOOL" echo echo "The Owner of your spooldir seems to be: $LP_OWNER" echo "The Group of your spooldir seems to be: $LP_GROUP" echo echo $n "Is this correct? [y/n] $c"; read answer case $answer in n|N) # ask the user echo $n "Path of Spool Dir? [default: $SPOOL] $c" read $read_r answer [ "$answer" ] && SPOOL="$answer" mkdir -p "$SPOOL" echo $n "Owner of Spool Dir? [default: $LP_OWNER] $c" read $read_r answer [ "$answer" ] && LP_OWNER="$answer" echo $n "Group of Spool Dir? [default: $LP_GROUP] $c" read $read_r answer [ "$answer" ] && LP_GROUP="$answer" ;; *) # o.k., do nothing PERM_OK=1 ;; esac done } ############################################################################## # Save printcap # - save the original printcap -> printcap.orig # - make a work copy of the printcap file -> printcap.old ############################################################################## do_save_printcaps() { echo if [ -f "@printcap@" ]; then if [ ! -f "@printcap@.orig" ]; then echo "saving original printcap -> @printcap@.orig" cp "@printcap@" "@printcap@.orig" fi echo "creating a working copy of printcap -> @printcap@.old" cp "@printcap@" "@printcap@.old" else touch "@printcap@" fi } ############################################################################## # Was printcap already created by apsfilter? # If so: keep entries or overwrite? ############################################################################## do_check_for_old_apsfilter_installation() { if [ -d "$CONF_DIR" ]; then if [ -d "$CONF_DIR/basedir" ]; then OLD_BASEDIR=$(ls -l "$CONF_DIR/basedir" | sed 's/.*-> //') if [ "$APS_BASEDIR" != "$OLD_BASEDIR" ]; then echo echo "WARNING! A previous installation of apsfilter is located" echo "in '$OLD_BASEDIR'." echo echo $n "Do you want to continue? $c"; read answer case $answer in n|N) exit 1 ;; esac fi fi echo echo "It seems you have configured a printer with this script before." echo echo "Do you want to (a)dd another printer entry or" echo " to (o)verwrite the existing entries?" echo $n "a/o? $c"; read answer case $answer in o|O) echo "Ok, erasing old apsfilter entries..." sed -e "/# APS.*BEGIN/,/# APS.*END/ d" \ < "@printcap@.old" > "@printcap@" chmod 644 "@printcap@" ;; *) echo "Ok, adding another apsfilter printer..." ;; esac fi } ############################################################################## # The real work: # - create printer configuration directory under $CONF_DIR # - install filter link in that directory # - create printer specific configuration file ############################################################################## do_install_filter() { clear # # Determine highest number of Apsfilter Printer in printcap # PRINTER_ENTRIES=`grep "APS.*_BEGIN" "@printcap@" | sort -n` PRINTER_ENTRIES=${PRINTER_ENTRIES##*printer} N=`expr ${PRINTER_ENTRIES:-0} + 1` { # create printer start label echo "# APS${N}_BEGIN:printer$N" echo "# - don't delete start label for apsfilter printer$N" echo "# - no other printer defines between BEGIN and END LABEL" } >> "@printcap@" while :; do # set printer queue name; use "lp" if not already present if grep -E "^lp[|:]|^[^#].*\|lp[|:]" "@printcap@" >/dev/null; then nr=1 # get a free "aps$nr" printer name while grep -E "^aps${nr}[|:]|^[^#].*\|aps${nr}[|:]" "@printcap@" >/dev/null; do nr=`expr $nr + 1` done QUEUE="aps$nr" else QUEUE=lp fi cat </dev/null then echo echo "I'm sorry, but '$QUEUE' is already in use." else break fi done # create configuration directory for this printer and cd into it mkdir -p "$CONF_DIR/$QUEUE" cd "$CONF_DIR/$QUEUE" # printer name in printcap echo "** creating printcap entry for printer $QUEUE..." { # append following output to printcap echo "$QUEUE|$PRINTER;r=$RESOLUTION;q=$QUALITY;c=$COLOR;p=$PAPER;m=$METHOD:\\" # interface configuration case $INTERFACE in parallel) echo " :lp=$DEVICE:\\" ;; serial) echo " :lp=$DEVICE:\\" echo " :br#$BAUD:\\" echo " :ms=ixon,-imaxbel,-ixany,-ixoff,-crtscts:\\" ;; network) echo " :lp=:\\" echo " :rm=$rm:\\" echo " :rp=$rp:\\" ;; samba|atalk|netware) echo " :lp=/dev/null:\\" ;; esac # filter and spooldir configuration in printcap echo " :if=$CONF_DIR/basedir/bin/apsfilter:\\" SPOOLDIR="$SPOOL/$QUEUE" echo " :sd=$SPOOLDIR:\\" # logfile configuration in printcap echo " :lf=$SPOOLDIR/log:\\" # accounting file configuration in printcap echo " :af=$SPOOLDIR/acct:\\" # no size limitation for printjob in printcap echo " :mx#0:\\" # suppress formfeed when printing raw [ "$METHOD" = raw ] && echo " :sf:\\" # last entry, suppress printing of burst page echo " :sh:" # create printer end label echo "# APS${N}_END - don't delete this" } >> "@printcap@" # create spooldir in Unix filesystem echo " creating spooldir ..." mkdir -m 755 -p "$SPOOLDIR" # maybe chmod knows "--reference" to clone the permissions chmod --reference="$SPOOL" "$SPOOLDIR" 2>/dev/null # create needed empty files under Spooldir : > "$SPOOLDIR/log" : > "$SPOOLDIR/acct" # that's needed specially for Linux Slackware : > "$SPOOLDIR/lock" chmod 664 "$SPOOLDIR/lock" # set sane permissions for spooldir [ `id -u` -eq 0 ] && chown -R $LP_OWNER:$LP_GROUP "$SPOOLDIR" if [ "$INTERFACE" = samba ]; then echo " creating samba config file ..." { # write all output to smbclient.conf echo "SMB_SERVER='$SMB_SERVER'" echo "SMB_IP='$SMB_IP'" echo "SMB_PRINTER='$SMB_PRINTER'" echo "SMB_WORKGROUP='$SMB_WORKGROUP'" echo "SMB_BUFFER=1400" echo "SMB_FLAGS='-N'" # print on remote windows machine as real user... if [ "$SMB_USER" ]; then echo "SMB_USER='$SMB_USER'" echo "SMB_PASSWD='$(echo $SMB_PASSWD | sed "s/'/'\\\''/g")'" fi } > smbclient.conf # protect smbclient file, if it contains password information if [ "$SMB_PASSWD" ]; then echo " read protect password information..." chmod $PASSWD_PROTECT smbclient.conf chown $LP_OWNER:$LP_GROUP smbclient.conf fi elif [ "$INTERFACE" = atalk ]; then echo " creating AppleTalk config file ..." echo "PAP_NBPNAME='$PAP_NBPNAME'" > pap.conf elif [ "$INTERFACE" = netware ]; then echo " creating NetWare config file ..." { echo "NCP_SERVER='$NCP_SERVER'" echo "NCP_PRINTER='$NCP_PRINTER'" echo "NCP_USER='$NCP_USER'" echo "NCP_PASSWD='$(echo $NCP_PASSWD | sed "s/'/'\\\''/g")'" } > netware.conf # protect netware file if it contains password information if [ "$NCP_PASSWD" ]; then echo " read protect password information..." chmod $PASSWD_PROTECT netware.conf chown $LP_OWNER:$LP_GROUP netware.conf fi fi # Save some settings from this SETUP session echo " remember SETUP settings in printers apsfilterrc file..." { echo "#" echo "# don't delete these settings" echo "#" echo "PRINTER='$PRINTER'" echo "PAPERSIZE='$PAPER'" echo "METHOD='$METHOD'" echo "QUALITY='$QUALITY'" echo "COLOR='$COLOR'" echo "RESOLUTION='$RESOLUTION'" echo echo "#" echo "# additional configuration follows" echo "# insert settings as seen in $CONF_DIR/apsfilterrc" echo "#" [ "$PS_INIT" ] && echo "PS_INIT='$PS_INIT'" } > apsfilterrc # in case LPRng is used: checkpc does a nice cleanup type checkpc > /dev/null 2>&1 && checkpc -f >/dev/null 2>&1 echo "** done." echo echo $n "[ press to continue ] $c"; read answer cd "$APS_BASEDIR" } # # print error message and quit # fail() { echo >&2 "SETUP error: $@" exit 1 } ##################################################### ##################################################### ##################################################### #### #### #### M A I N #### #### #### ##################################################### ##################################################### ##################################################### export APS_BASEDIR="@datadir@/apsfilter" cd "$APS_BASEDIR" CONF_DIR="@sysconfdir@/apsfilter" SPOOL="@spooldir@" # check read/write permissions [ -w . ] || fail "no write access to $APS_BASEDIR" if [ -d "$CONF_DIR" ]; then [ -w "$CONF_DIR" ] || fail "no write access to $CONF_DIR" elif [ -d "@sysconfdir@" ]; then [ -w "@sysconfdir@" ] || fail "no write access to @sysconfdir@" else mkdir -p "@sysconfdir@" || fail "couldn't create @sysconfdir@" fi if [ -f "@printcap@" ]; then [ -r "@printcap@" -a -w "@printcap@" ] || fail "no r/w access to @printcap@" fi printcap_dir=`dirname "@printcap@"` if [ -d "$printcap_dir" ]; then [ -w "$printcap_dir" ] || fail "no write access to $printcap_dir" else mkdir -p "$printcap_dir" || fail "couldn't create $printcap_dir" fi if [ -d "$SPOOL" ]; then [ -w "$SPOOL" ] || fail "no write access to $SPOOL" else mkdir -p "$SPOOL" || fail "couldn't create $SPOOL" [ `id -u` -eq 0 ] && { chown lp "$SPOOL" || chown daemon "$SPOOL"; } fi # check if we must use the "-r" flag for "read" operations if echo dummy | read -r dummy 2>/dev/null; then read_r="-r" else unset read_r fi # how to suppress newlines on echo if echo "\c" | grep -c . >/dev/null; then n='-n'; c='' else n=''; c='\c' fi do_check_gs_version do_copyright # some people got nerved, me too ;-) if [ -f "$CONF_DIR/.requested_snailmail" ]; then echo "You already requested my snailmail address to write a postcard" echo $n "Request it again? [y/n] $c"; read answer case $answer in y|Y|j|J) do_request_snailmail ;; esac else do_request_snailmail fi do_start # provide some (more or less) sane default values PRINTER= PAPER= INTERFACE= DEVICE= QUALITY=medium COLOR=full RESOLUTION=300x300 METHOD=auto MEDIA=plain # read old settings from SETUP.cfg if present [ -f "$CONF_DIR/SETUP.cfg" ] && . "$CONF_DIR/SETUP.cfg" # do a full check when being root [ `id -u` -eq 0 ] && do_check_permissions # prepare filter installation clear do_save_printcaps do_check_for_old_apsfilter_installation # Create - an apsfilter directory under /etc (if not already present) # - a link $CONF_DIR/basedir -> APS_BASEDIR # - a global configuration file (if not already present) mkdir -p -m 755 "$CONF_DIR" rm -f "$CONF_DIR/basedir" ln -s "$APS_BASEDIR" "$CONF_DIR/basedir" [ -f "$CONF_DIR/apsfilterrc" ] || cp template/apsfilterrc "$CONF_DIR" # # Main loop # do_main_menue while [ -z "$FINISH_SETUP" ]; do do_install_filter do_main_menue done ############################################################################## # End of creating # - printcap entries # - filesystem operations (spooldir, symlink, ... -creation) ############################################################################## ############################################################################## # # now proceed with installation, save environment do_save_environment clear cat < to continue ] EOF read answer clear cat << !EOM _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/_/_/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/_/_/ _/ _/ _/_/_/ See the ANNOUNCE and ChangeLog files for more informations. New: read the manual pages apsfilter(1) and apsfilterrc(5) New CLASS support (lpr -C) allows you to set one ore more options for gs (PS Emulator), separated by colons (":"). CLASS support is currently available for some gs drivers. Look into apsfilter script, which driver dependent options are supported. Example: stcolor print driver: set - print resolution to high resolution (720dpi) - color depth to 30 bits per pixel lpr -C high:30bpp file1..fileN !EOM echo $n "[ press to continue ]$c"; read answer clear cat << !EOM _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/_/_/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/_/_/ _/ _/ _/_/_/ New: apsfilterrc config files per single printer! New: name and location change in apsfilterrc config files! New: manual page for apsfilter(1) and apsfilterrc(5) config files! A) global apsfilter config file, set by admin $CONF_DIR/apsfilterrc B) printer specific config file for printer N, set by admin $CONF_DIR/QUEUE/apsfilterrc C) user supplied config options on per printer basis, set by admin $CONF_DIR/QUEUE/apsfilterrc.USER D) user controllable config file on per printer basis; *SECURITY*HOLE*, needs USE_USER_CODE set in A), B) or C) $HOME/.apsfilter/apsfilterrc.QUEUE !EOM echo $n "[ press to continue ]$c"; read answer clear cat << !EOM _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/_/_/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/_/ _/ _/_/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/_/_/ _/ _/ _/_/_/ For printing ASCII files apsfilter now uses a2ps V. 4.12 or higher. Old patched a2ps and rewindstdin have gone! You can also use mpage or recode; see apsfilterrc for this setting. remote printing is fully supported by apsfilter: - on Unix remote printer (lpd) and - Windows 95/98/NT/2000 Remote Printer !EOM echo $n "[ press to continue ]$c"; read answer clear cat << !EOM _/ _/ _/_/ _/_/ _/_/_/ _/_/ _/_/ _/_/_/_/ _/_/ _/_/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/_/ _/_/ _/_/_/ _/ _/ _/ You need SAMBAs smbclient utility, to print on Windows remote printer. SETUP makes the necessary entries in printcap(5). You need a line printer scheduler (fixed lpd or LPRng) on your system that allows to use input filters (printcap: if=...) when printing to remote printers (printcap: rm:..., rp:...) FreeBSD 3.x and later have a fixed lpd, no problem here. Otherwise use the lpd successor LPRng (lineprinter next generation) or configure lpr.conf in the lineprinters spool directory (new!) !EOM echo $n "[ press to continue ]$c"; read answer clear cat << !EOM _/_/_/ _/ _/ _/ _/_/ _/_/_/ _/_/_/ _/_/_/ _/ _/ _/_/_/_/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/_/_/ _/_/_/ _/_/_/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/_/ Apsfilter can be installed on a Server or Desktop machine. Best is to install it on a dedicated Server, where printers are locally connected to, since ghostscript Postscript emulation might become a CPU intensive process. The faster the CPU, the faster the Postscript emulation and printing in general. If you want to print on Network printer using the lpd protocol, you should install apsfilter on a machine which has a fixed lineprinter scheduler and is able to use input filters (apsfilter) when printing to a remote printer. FreeBSD 3.x and later has a fixed lpd, otherwise use the lpd successor LPRng. Since apsfilter 5.2.0 you can also print to Windows remote printers, that are printers on Windows machines, which are shared in the network. You need to install SAMBA on the Unix apsfilter hosts, who want to use Windows printers. !EOM echo $n "[ press to continue ]$c"; read answer clear cat << !EOM _/_/_/ _/ _/ _/ _/_/ _/_/ _/_/_/ _/_/ _/_/ _/_/_/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/ _/ _/ _/_/ _/ _/ _/ I'd really like to get some mails from you, - why you like apsfilter - how apsfilter saved your or your companies printing problems Please send apsfilter promotion e-mails to the following e-mail address: apsfilter-promo@apsfilter.org In return you get the possibility to introduce you and your company and how apsfilter solved your or your companies printing problems ;-) !EOM echo $n "[ press to continue ]$c"; read answer clear cat << !EOM _/_/_/ _/ _/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/_/_/_/ _/_/_/ _/_/_/ _/_/_/_/ _/_/_/ _/ _/ _/_/ _/ _/ _/ _/ _/ _/ _/ _/_/ _/_/ _/ _/_/_/ _/ _/_/ _/_/_/ Our band "64Bits": Please visit our band's homepage, from there you get band informations and you can download cool songs. Official band pages: http://www.64bits.de/ Inofficial band pages: http://www.apsfilter.org/64bits.html Please send us e-mail, how you find the song, etc. Since we only have few time to probe because of job (you know ;-) we currently are unable to make live concerts. So YOU are our virtual audience and we'd LOVE to get some feedback ;-) Thanks! !EOM echo $n "[ press to continue ]$c" read answer # # This for the last screen with most important infos... # clear cat << !EOM ============================ Apsfilter Internet Resources ============================ Apsfilter's homepage (News, Updates, Patches, ...): http://www.apsfilter.org/ Read the ANNOUNCE file about Apsfilter Internet Resources and how to use them: - Apsfilter developement machine - Apsfilter mailing lists - Apsfilter CVS repository - Apsfilter Anonymous CVS server - Apsfilter CVS repository browser (cvsweb, enhanced Zeller version) Please report questions and bugs to the offical apsfilter help channel: apsfilter-help@apsfilter.org *** SETUP done *** !EOM exit 0 apsfilter-7.2.6.orig/TODO0000644000175000017500000000404007404665355015430 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/TODO,v 1.31 2001/12/09 13:45:17 andreas Exp $ # task numbering scheme: # 100-199 Prio A # 200-299 Prio B # 300-399 Prio C # contact: name_1..name_n # - to flag work in progress # to be removed by only one person (Andreas Klemm) if solved (100) security, code cleanup, portability, ease of use contact: apsfilter-hackers@apsfilter.org (don't remove this ;-) (101) security try to put wrapper program around input filter, so that apsfilter runs privileges of the user who send the print job. From: Michael Lossin Date: Tue, 11 Apr 2000 09:02:27 +0200 contact: apsfilter-hackers@apsfilter.org (103) automate update of bumping apsfilters version number we need one file VERSION and a configure script doing the job contact: andreas@apsfilter.org (105) postscript init files to produce some backgrounds on page: - Entwurf / draft - vertraulich / secret - streng vertraulich / top secret - confidential - company label with CLASS support contact: apsfilter-hackers@apsfilter.org (112) apsfilter regression test external script to test apsfilters print capabilities, filter and gs > to PS: gs -sDEVICE=$PRINTER: > --------------------- --------------------- > pbm : ok ok > targa : ok ok > pdf : failed failed > pdf : missing filter failed contact: apsfilter-hackers@apsfilter.org (201) create scripts for printer management, i.e.: add/delete/modify printer should be lpd and LPRng compliant will be needed by GUI tools contact: apsfilter-hackers@apsfilter.org (202) improve installation via SETUP (TCL/TK) needs (201) contact: apsfilter-hackers@apsfilter.org (203) Integration into webmin, see http://www.webmin.com/ contact: apsfilter-hackers@apsfilter.org (300) Support for Windoof PJL files, requested by Jörg Wunsch Hier ist ein sed-Kommando, mit dem man den Datentyp herausbekommt: sed -n -e '/^@PJL ENTER LANGUAGE = /s/.*= \([A-Za-z][A-Za-z]*\).*/\1/p' Die Ausgabe ist dann sowas wie "Postscript" oder "PCL". contact: apsfilter-7.2.6.orig/VERSION0000644000175000017500000000015210203620773015772 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/VERSION,v 1.2.2.12 2005/02/13 09:46:35 andreas Exp $ version=7.2.6 branch=stable apsfilter-7.2.6.orig/YEAR20000000644000175000017500000000042107076323406015715 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/YEAR2000,v 1.2 2000/04/16 11:41:58 andreas Exp $ Year 2000 Compliance ==================== Apsfilter is a shell script, that uses many standard Unix utilities. So apsfilter is as Y2K compliant as the OS or Internet Tools it uses. Andreas /// apsfilter-7.2.6.orig/configure0000755000175000017500000001546107417376500016653 0ustar covencoven00000000000000#! /bin/sh # configure script for apsfilter # $ApsCVS: src/apsfilter/configure,v 1.1.2.8 2002/01/10 20:44:48 andreas Exp $ # these are the ".in" files DOT_IN_FILES="\ HOWTO-BUGREPORTS \ SETUP \ Makefile \ bin/apsfilter \ bin/aps2file \ bin/apsfilter-bug \ bin/apspreview \ doc/handbook.html \ man/apsfilter.1 \ man/apsfilterrc.5 \ man/aps2file.1 \ man/apspreview.1 \ man/apsfilter-bug.1 \ setup/test.ps \ template/apsfilterrc \ " prefix_default=/usr/local old_ifs="${IFS= }" # one space and one tab character confopts="$@" unset prefix bindir datadir sysconfdir mandir docdir with_shell with_awk unset with_sendmail quiet with_printcap with_spooldir for option in "$@"; do case "$option" in -*=*) optarg=`echo "$option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; *) optarg= ;; esac case "$option" in --prefix=*) prefix="$optarg" ;; --prefix) shift; prefix="$1" ;; --bindir=*) bindir="$optarg" ;; --bindir) shift; bindir="$1" ;; --datadir=*) datadir="$optarg" ;; --datadir) shift; datadir="$1" ;; --sysconfdir=*) sysconfdir="$optarg" ;; --sysconfdir) shift; sysconfdir="$1" ;; --mandir=*) mandir="$optarg" ;; --mandir) shift; mandir="$1" ;; --docdir=*) docdir="$optarg" ;; --docdir) shift; docdir="$1" ;; --with-shell=*) with_shell="$optarg" ;; --with-shell) shift; with_shell="$1" ;; --with-awk=*) with_awk="$optarg" ;; --with-awk) shift; with_awk="$1" ;; --with-sendmail=*) with_sendmail="$optarg" ;; --with-sendmail) shift; with_sendmail="$1" ;; --with-printcap=*) with_printcap="$optarg" ;; --with-printcap) shift; with_printcap="$1" ;; --with-spooldir=*) with_spooldir="$optarg" ;; --with-spooldir) shift; with_spooldir="$1" ;; --quiet|--silent) quiet=set ;; --help) cat <&2 echo "use --help to show usage" 1>&2 exit 1 ;; esac done # verbose output? if test "$quiet"; then exec 3>/dev/null else exec 3>&1 fi # set variables according to defaults/arguments . ./VERSION echo "configuring apsfilter version $version-$branch..." 1>&3 test "$prefix" || prefix="$prefix_default" test "$bindir" || bindir="$prefix/bin" test "$datadir" || datadir="$prefix/share" test "$sysconfdir" || sysconfdir="$prefix/etc" test "$mandir" || mandir="$prefix/man" test "$docdir" || docdir="$datadir/doc" test "$with_printcap" || with_printcap=/etc/printcap test "$with_spooldir" || with_spooldir=/var/spool/lpd # autodetection if test "$with_shell"; then if test -x "$with_shell"; then echo "using $with_shell as the shell executable" 1>&3 else echo "configure: error: shell not found at $with_shell" 1>&2 exit 1 fi else # these shells should work (TM) for name in bash bash2 pdksh zsh; do IFS=":" for dir in $PATH; do test -x "$dir/$name" && { with_shell="$dir/$name"; break; } done IFS="$old_ifs" echo "looking for a suitable shell: $name... $with_shell" 1>&3 test "$with_shell" && break done if test -z "$with_shell"; then # fall back with_shell=/bin/sh echo "configure: warning: falling back to /bin/sh" 1>&2 echo "configure: you might want to use --with-shell" 1>&2 fi fi if test "$with_awk"; then if test -x "$with_awk"; then echo "using $with_awk as the awk executable" 1>&3 else echo "configure: error: awk not found at $with_awk" 1>&2 exit 1 fi else # these awks should work (TM) for name in gawk mawk nawk; do IFS=":" for dir in $PATH; do test -x "$dir/$name" && { with_awk="$dir/$name"; break; } done IFS="$old_ifs" echo "looking for a suitable awk: $name... $with_awk" 1>&3 test "$with_awk" && break done if test -z "$with_awk"; then # fall back IFS=":" for dir in $PATH; do test -x "$dir/awk" && { with_awk="$dir/awk"; break; } done IFS="$old_ifs" if test "$with_awk"; then echo "configure: warning: falling back to $with_awk" 1>&2 echo "configure: you might want to use --with-awk" 1>&2 else echo "configure: error: no awk found; use --with-awk" 1>&2 exit 1 fi fi fi if test "$with_sendmail"; then if test -x "$with_sendmail"; then echo "using $with_sendmail as the sendmail executable" 1>&3 else echo "configure: error: sendmail not found at $with_sendmail" 1>&2 exit 1 fi else IFS=":" for path in /usr/sbin /usr/lib $PATH; do test -x "$path/sendmail" && with_sendmail="$path/sendmail" echo "looking for sendmail in $path... $with_sendmail" 1>&3 test "$with_sendmail" && break done IFS="$old_ifs" if test ! -x "$with_sendmail"; then echo "configure: error: no sendmail found; use --with-sendmail" 1>&2 exit 1 fi fi # substitute variables in files (foo.in -> foo) for file in $DOT_IN_FILES do echo "creating $file..." 1>&3 sed < "${file}.in" > "$file" "s?@prefix@?$prefix?g; s?@bindir@?$bindir?g; \ s?@datadir@?$datadir?g; s?@sysconfdir@?$sysconfdir?g; s?@mandir@?$mandir?g; \ s?@shell@?$with_shell?g; s?@awk@?$with_awk?g; s?@sendmail@?$with_sendmail?g; \ s?@printcap@?$with_printcap?g; s?@spooldir@?$with_spooldir?g; \ s?@docdir@?$docdir?g; s?@VERSION@?$version?g; s?@branch@?$branch?g; \ s?@confopts@?${confopts:-none}?g; s?@DOT_IN_FILES@?$DOT_IN_FILES?g" done # make scripts executable chmod 755 SETUP bin/apsfilter bin/aps2file bin/apsfilter-bug bin/apspreview # summary cat 1>&3 <:@ The program okidisplay has to be in apsfilters search path. Best would be in bin/... In bin/apsfilter you have to enhance the PRINT_PS variable two times, ~line 346: *) # we have a nice non ps printer if [ -z "$GS_RESOL" ] then # default is _not_ to fiddle around with # ghostscripts printer driver resolution PRINT_PS=" gs \ -q \ -sDEVICE=${PRINTER} \ -sPAPERSIZE=${PAPERSIZE} \ -dNOPAUSE \ -dSAFER \ -sOutputFile=- \ - \ | okidisplay \ \"$JOB:$USER@$HOST\" " else # if we urgently need another resolution # then we use it (selectable in /etc/apsfilterrc # or in $HOME/apsfilterrc) PRINT_PS=" gs \ -q \ -sDEVICE=${PRINTER} \ -r${GS_RESOL} \ -sPAPERSIZE=${PAPERSIZE} \ -dNOPAUSE \ -dSAFER \ -sOutputFile=- \ - \ | okidisplay \ \"$JOB:$USER@$HOST\" " fi ;; apsfilter-7.2.6.orig/contrib/okidisplay/okidisplay.c0000644000175000017500000000567107076323424023070 0ustar covencoven00000000000000#include #include #include /* $ApsCVS: src/apsfilter/contrib/okidisplay/okidisplay.c,v 1.2 2000/04/16 11:42:12 andreas Exp $ */ /* This program is supposed to insert a "PROGRAM LC DISPLAY" escape sequence */ /* into an already HPLJ convert byte stream. The byte stream is passed through*/ /* and at the appropriate place the ESC sequence to write into the LCDisplay */ /* is inserted (that is, after the initial ESC E reset sequence(s)). */ /* Martin Kraemer, March 1995 */ typedef struct { unsigned char MSB, LSB; } WORD; static struct HEADER { WORD Header; /* == 10, 0 */ unsigned char Format; /* == 0 */ unsigned char Continue; /* == 0 */ unsigned char When; /* 0:Vor Druck; 1:Nach Druck; 2:Nach Komplettdruck */ unsigned char GoOffline; /* 1:Go Offline; 2:Stay Online */ unsigned char WaitForRecover; /* 0:No Waiting; 1:Wait for [RECOVER] Keypress */ unsigned char Resv; /* == 0 */ WORD StrLen; /* Anzahl Bytes in Text */ } OkiHeader = { { 0, 10 }, 0, 0, 0, /* Vor Seitendruck */ 2, /* bleibt OnLine */ 0, /* kein Warten auf [RECOVER] Taste */ 0, /* fest==0 */ { 0, 0 } /* Laenge wird eingefuellt. */ }; static inline void SetWord (WORD *Dest, unsigned Value) { Dest->MSB = (Value >> 8) & 0xFF; Dest->LSB = Value & 0xFF; } #define ESC '\033' void main(int argc, char *argv[]) { char *buf=NULL; int first[2], count=0; int i; while (count == 0 && (first[0] = getchar()) != EOF) { ++count; if (first[0] == ESC) if ((first[1] = getchar()) != EOF) { ++count; if (first[1] == 'E') { /* RESET Sequence wird _vor_ dem Rest ausgegeben. */ putchar (first[0]); putchar (first[1]); count=0; /* Alles gedruckt: nichts mehr gepuffert. */ } } } /* Concatenate all strings, separated by spaces */ for (i=1; i 0) strcat(strcat(buf," "), argv[i]); } } /* Print buffer prefixed by the defined HEADER structure: */ if (buf == NULL) { fprintf (stderr, "Usage: %s some strings... /dev/lp\n", argv[0]); fprintf (stderr, " $Id: okidisplay.c,v 1.1.1.1 1998/05/12 21:36:26 andreas Exp $\n"); exit(1); } else { SetWord (&OkiHeader.StrLen, strlen(buf)); fprintf (stdout, "\033/d%dW", sizeof(OkiHeader)+strlen(buf)); fwrite ((void *) &OkiHeader, sizeof(OkiHeader), 1, stdout); fwrite ((void *) buf, strlen(buf), 1, stdout); } /* print any remaining buffered characters: */ for (i=0; i~ @@>HˆH>þ’’’l|‚‚‚Dþ‚‚D8þ’’‚Æþ€À|‚’’^þþ‚þ‚‚ü€þ€0H†þþ@ @þþ@ þ|‚‚‚|þ’`|‚І|þ˜”bd’’’LÀ€þ€ÀüüøøþþÆ((Æàà†Š’¢Âþ‚‚@ ‚‚þ @€@ €@ RRR~þ ~ @@>DDDUªUªUª»îÝ»îÝÿÿ((ÿÿÿ((?((ïÿÿÿ((/ ?((èøøø((øøøÿÿÿ(((ÿÿøè(? /(((èè(((/ /(ÿÿ(((((((((ïï((è((((ø((((/(((øøø(((?(((ÿÿ((ÿ(((øÿÿÿÿÿÿÿÿÿÿÿÿððððððHHH0@>p |0H~H0F((F|~p~|~~|~|@~ ~ ~~ $BJJ<~~ @@>HˆH>þ’’’l|‚‚‚Dþ‚‚D8þ’’‚Æþ€À|‚’’^þþ‚þ‚‚ü€þ€0H†þþ@ @þþ@ þ|‚‚‚|þ’`|‚І|þ˜”bd’’’LÀ€þ€ÀüüøøþþÆ((Æàà†Š’¢Âþ‚‚@ ‚‚þ @€@ €@ RRR~þ ~ @@>2JLH~HHH0@>p |n~n~Rr ~ ~ ~$BBR,|~~$BJJ<|~|p~@~ þ|‚|(Hˆþþ’’’Œþþ~‚‚ÿþ’’‚8DþD8þ€€€ÀÆ((Æþ þþ þþ(Æ`€þþ@0@þþþ|‚‚‚|þ€€€þb”˜þŠR""RŠ€€þ€€þ þ þàþapsfilter-7.2.6.orig/contrib/ruslpdrv/lpfont.c0000644000175000017500000000377307076323430021731 0ustar covencoven00000000000000/* * $ApsCVS: src/apsfilter/contrib/ruslpdrv/lpfont.c,v 1.2 2000/04/16 11:42:16 andreas Exp $ */ #include #include #include /* printing chars by pixels printer moves to graphics mode after issuing 1b,4b and number of chars to print (in packet) */ #define STDIN 0 #define STDOUT 1 #define STDERR 2 #define FALSE 0 #define TRUE 1 void main(int argc, char *argv[]){ unsigned char chartable[256*6],c; int readed,i,j,handle; int PacketSize; unsigned char Packet[90]; /* max string length */ int isMoreChars; int EachChar; int EachVertical; fprintf(stderr,"Matrix printer font filter by Penn (penn@usa.net)\n"); fprintf(stderr,"GPL, april 1998\n"); if (argc==1){ /* no parameters */ fprintf(stderr,"Usage:\n"); fprintf(stderr,"\t | lpfont [font file name] | \n"); exit(1); } /*** in future to use memset here */ for(i=0;i<32*6;i++) chartable[i]=0; handle=open(argv[1],O_RDONLY); if (handle==-1){ perror(argv[1]); exit(1); } read(handle,&chartable[32*6],224*6); close(handle); PacketSize=0; isMoreChars=TRUE; while(isMoreChars) { readed=read(0,&c,1); if (readed==0 || readed==-1) { isMoreChars=FALSE; continue; } if (c<128) { if (PacketSize!=0) { /* parsing packet */ putchar(0x1b);putchar(0x4b); /* number of vertical rows to print */ putchar((PacketSize*6)%256);putchar((PacketSize*6)/256); for(EachChar=0;EachChar #include #include #include #include #include #include #define STDIN 0 #define STDOUT 1 #define STDERR 2 #define CHARLEN 6 #define FALSE 0 #define TRUE 1 void CopyChar(unsigned char *CharTable,unsigned char *CharTableNew, int CurrentChar, int NewPlace); void EmptyArray(unsigned char *Array, int length); void OpenReadFile(char *name,unsigned char *Array, int length); void LoadTransTable(char *name, unsigned char *TransTable); void Translate(unsigned char *CharTable, unsigned char *CharTableNew, unsigned char *TransTable); void SaveFile(char *name, unsigned char *CharTableNew, int length); void EmptyArray(unsigned char *Array, int length) { int i; for(i=0;i handbook.txt clean: $(RM) $(OBJS) *~ apsfilter-7.2.6.orig/doc/README.BSD0000644000175000017500000000211007255520476016766 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/doc/README.BSD,v 1.1 2001/03/20 00:15:58 andreas Exp $ Special note for FreeBSD 3.X (and early 4.0 or even 4.1) and possibly other BSD based systems: CLASS support (for lpr -C medium) is only enabled if you print the header page (no :sh: in /etc/printcap). To enable CLASS support with suppressed header page (printcap: :sh:) you need to apply the following patch to lpr.c (LPRng doesn't need this). Index: lpr.c =================================================================== RCS file: /home/ncvs/src/usr.sbin/lpr/lpr/lpr.c,v retrieving revision 1.32 diff -u -r1.32 lpr.c --- lpr.c 2000/01/19 14:25:08 1.32 +++ lpr.c 2000/04/05 09:36:01 @@ -320,7 +320,7 @@ seteuid(uid); card('H', host); card('P', person); - if (hdr && !pp->no_header) { + if (hdr) { if (jobname == NULL) { if (argc == 0) jobname = "stdin"; apsfilter-7.2.6.orig/doc/README.SuSE0000644000175000017500000000203107113450413017161 0ustar covencoven00000000000000$ApsCVS: src/apsfilter/doc/README.SuSE,v 1.1 2000/05/26 10:25:15 andreas Exp $ Installation instructions for SuSE Linux 6.3 and 6.4 ==================================================== SuSE Version 6.3 Version 6.4 ----------- ----------- Apsfilter SuSE-1.6.66 SuSE-1.7.52 Ghostscript 5.1.0 * 5.5.0 * * with earlier versions of Libpng and the other 3rd party libraries SuSE originally uses a modified apsfilter, which has changed a lot. If you want to install the original apsfilter, then you should at least do the following: 1. install libpng 1.0.5, libpng 1.0.6 doesn't work 2. install ghostscript 6.01 don't forget to install all of the gs fonts 3. install newest apsfilter 4. install printer using /usr/local/apsfilter/SETUP submitted by robin@cosby.demon.co.uk Fri, 26 May 2000 08:58:25 GMT please contact robin first, if you have suggestions for changes apsfilter-7.2.6.orig/doc/README.TeX0000644000175000017500000000251707076323435017066 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/doc/README.TeX,v 1.2 2000/04/16 11:42:21 andreas Exp $ Hi there! Anyone following the development of TeX and friends more closely will have realized that SOME versions of dvips are NOT able to deal with the -D option anymore correctly. This option used to tell dvips which resolution should be used for the fonts or to create new fonts via MakeTeXPK. So we supply the small script setup_dvips.sh to create small config-files that are used by dvips. A rather long email-thread with Thomas Esser (check out teTeX for his real work!!) helped to take care of some exceptions, and this is the "small" result. To use dvips with apsfilter just run ./bin/setup_dvips.sh as root for EACH Printer you intend to use, it'll create small config-files for your printers that are read by dvips. Another drawback with newer versions of dvips is the impossibility to create fonts while being executed from lpr due to some small bug in dvips. The only "workaround" is to create missing fonts with xdvi or dvips from the commandline before printing the document, all other functionality isn't affected, meaning you still are able to print dvi-files with ps-includes if your apsfilterrc is setup correctly. Have fun, Thomas & Andreas Again Thanks to Thomas Esser who helped clarifying lots of hidden details. apsfilter-7.2.6.orig/doc/README.TurboLinux0000644000175000017500000000136307100124555020465 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/doc/README.TurboLinux,v 1.1 2000/04/21 19:18:05 andreas Exp $ # 1) A2PS TurboLinux Workstation version 6 ships with a2ps-4.10.4. Although I received a report, that this version works well with apsfilter 5.4.0, I strongly recomment the usage of a2ps V 4.12. Reason: a2ps commandline parameters changed in a2ps 4.12. You might encounter compatibility problems, because I use a2ps 4.12 command line syntax in documentation and scripts. 2) default permissions of printer spooler directories are wrong drwxrwxr-x 6 lp lp 1024 Apr 13 17:31 /var/spool/lpd Files in the spool directory must be user: daemon, group: daemon for printing to work. So answer the dialogue in SETUP right. apsfilter-7.2.6.orig/doc/README.handbook0000644000175000017500000000110707375500221020135 0ustar covencoven00000000000000$ApsCVS: src/apsfilter/doc/README.handbook,v 1.1 2001/11/17 15:21:53 andreas Exp $ By default, only the indexed HTML version "handbook.html" is distributed with apsfilter. It should also be readable on the console with a good text browser like w3m, links or lynx. However, several formats can be created from "source.html": html, pdf, ps, txt You need "htmldoc" for the html, pdf and ps editions, and (by default) "w3m" for the text edition, although this can be altered in the Makefile. Just enter e.g. make pdf to create the PDF file, or simply make to create all editions. apsfilter-7.2.6.orig/doc/apsfilter4.png0000644000175000017500000000554007417376502020273 0ustar covencoven00000000000000‰PNG  IHDRÍØ{¥²!PLTEÿÿÿ ((øø¤øüüüøø¸¼¸øøÝ^þ{tRNS@æØfbKGD hÐôV  IDATxÚíÝ[RÛHpÅ`.zÀ˜èÉÞAØì^æªæ{7; ;;vúYR_έ[-ErÛ¢ÿ5aœ©$ÓÔ¯ÎÑQ«ídYJJJJJJJJJJJJJJJJJÊq¤,c¯à0Éó<ö’²NìELŸ¼MìeLŸR%ö:&Nn{%Ó¦‰½–)“ÃÄ^Ì„)Ëo!š“Ä^Ïd)ib/hšä<±—4IJ!±×4Eòü{ˆ–rb/kìä®Ä^ØØ)‰½²Q“{{mc¦ô&öêÆKîOìånXUÕ I™`Qg~ '½Àq"sÐØ +’&ôŒ½¾‘’K ùü<Åò,çïÙ§õŒ½¾±"7ÛÙy2Φ#O;é~ûjP›¡(k8kÑîòÛ­­Ký zª/¡žt0¢žð''šƒjÝ‹{»?¤J³oÕ^Â:¨Ý.x»µœê%*OõeŸ¬ÛO¹ÌÓÌ·Üιz¾Õ;·j¾UœØ³ n·–S¿Ì€§m¹Ýž0¢§j¨ñ´÷*÷÷h?z¶-7¤Ýòièp ž åvy¢x<ጛ½3Ï·wtÿ =Õ@$=Z¡å¹¡ípOÊÙzf}<Ï<žç^O²?„ê“{ær»•=¯g†<¯Ç÷ Ù»ª<_dϰvK<CNÉóÏO| óĦfÿvÙá ·¼Ó-+χ+ÎyÝ1ÝOa òz¢ù–?_yõ{VÎv»ÁíVòíVß°tíÍ‹”nÏsàInXØþó ™†¨'æ”Úmà–¼ˆXŸ)x\F„•g磗f·§B$¢ž~˦!‡çµ[éê <g€çãÏ7¥HDž»ÐiÈÙnùt 9ɹ[ËiËÔ¶[ÄìÙs¾eûño>ÏýÝ'ä$ã­kÚšv ¯¢¦<g°gÈý õ¤›¸`?{^†N·‹©Ý™(»ãPð¼ƒÐÛ“ ÊÏËÚó ¥³ßÂihÃ=ÑHÛítžwÜ©"OÜo êYˆžB»Å#.h·“y¢ý„7A7!ýTgé™náÍʆ ÛmΞžd¿Ïï¹$ž…¦¤žÎ›Oí)<*›Ôí÷‘­¡&ÿ³û}¨ßÖÇÐç¡VîGelº%œƒÚ­à陇øþ­Ës…=ëã èãÄÑgÔˆž7|3¡¹Œl·ÀóºÏWÐ]§*Ïÿ€'VŸ[è/??Pìݶÿºâ›·CÛmæ¸] õd̤ó`ª>¡!|_÷TªÙ'µ› ½Ûí0ÏsÉóâÞîÇ/é~‚ñä»CÅ «O­jžz:6&ö|’<ßT±êý[Úoq‡oʦžè Øo”á—Oáþó¬Óó\ò¼Àû øyY} Ý Ø“Ôè#jðÁ¾ >ÆÖ¬Û-ÛOøÕå©ÏÉœ.OùìPÞc=Í£2(J§ÛÀ“CÀó •e‡§9&q¢óÔÈ“œ6)Lÿ],(¨}´&üÝÝ ÛïsÍC”“œO0œ­§óý‚LŽCtÂÍÀA“ÁÁ'š‰äyˆÞˆâýø ´Oß/¸Þ,(¸(ò9ÍÞû §tXS¼ÿdço5'y¿ƒûýŸòó²”1ÎÝRO×ù[Êè8k]ÑÓóñ ¹›tœs·ÄSL€§tžºãý¼è1¨Iæ™Åõ¼÷¼¼ÿ^Þ,£žãœ»è¹“þfÞz-!å™ âŒã™ñ¿Œ®]Mg}n·‘<3Fª–<÷?­<£yRR³ ËY'г›3ž'&+žŒôh<¥ÿ‡Ã‰Â_< éðòÝSú¸<(þ –“êÿÔ—3®§%¥¿xBRöG‡{z3¹§!e¿gƒ~F8GÎ<³–´k%.Ï‘rÏF4`-±<ÃÓáY‹†ü1~DÍ“;}þ˜Ïè9÷$öÚFÍHžÇžä™ éÒÑIEND®B`‚apsfilter-7.2.6.orig/doc/handbook.html.in0000644000175000017500000031120607776251303020566 0ustar covencoven00000000000000 apsfilter handbook, 2nd ed.


apsfilter handbook, 2nd ed.

Michael Loßin
(c) 2001,2002 -- distributable under the GPL


Table of Contents



1 Preface 2 Introduction 3 Installation 4 Setup 5 Usage 6 Configuration 7 FAQ 8 Links 9 Help

1 Preface

1.1 Abstract

This handbook explains how to set up, operate, configure and extend the apsfilter package while providing a step-by-step installation guide. It is focused on apsfilter version @VERSION@ and compatible.

1.2 About this document

You are looking at the second edition of the apsfilter handbook. It was written by Michael Loßin <phallobst@web.de> (© 2001,2002) and has been published under the regulations of the GPL.

It is available as indexed HTML, PostScript, PDF (with links) and plain text. These editions are generated from a source HTML file by htmldoc and w3m.

The colorful apsfilter logo was created by Chris Cox <cjcox@acm.org>.

If you feel something important is missing, if you find blatant typos or obsolete information, please contact the mailing-list at <apsfilter-doc@apsfilter.org>.

1.3 Conventions

Throughout this document we'll use the following typographical conventions:

foobar
1. absolute or relative path names
2. computer input and output
foobar
1. emphasis
2. software package names (as opposed to executables)
#
the root prompt
$
the user prompt
$FOOBAR
environment variables
FOOBAR
configuration variables

2 Introduction

2.1 What is it?

Apsfilter is an input filter suitable for most of the printer spoolers found on many UNIX-like operating systems. It is used all over the world in many different environments, from single user desktop computers to large-scale university networks.

The goal of apsfilter is to provide the user and the system administrator with a simple way to maintain, configure and use the printing services of the UNIX system. It's not targeted at one particular flavour or distribution of UNIX -- apsfilter tries to behave as friendly as possible in any environment.

The latest major version of apsfilter is 7.0.0 which was released in December 2001. There are also development snapshots and a CVS repository available. Point your web browser to the Apsfilter Homepage at http://www.apsfilter.org/ for a better overview of the latest releases.

The maintainer and copyright owner of apsfilter is Andreas Klemm <andreas@apsfilter.org>; he coordinates releases, merges patches from contributors and does stuff. Do not send bug reports or help requests to this email address -- there are mailing-lists that will save you (and us) the hassle of long fights with apsfilter.

2.2 What is it not?

Apsfilter is not a printer driver collection. It completely relies on ghostscript to provide a driver, since it only prepares the input data, primarily by converting it to PostScript.

It also does not provide a printer spooler system, but instead it utilizes services offered by the BSD spooler or its successor LPRng.

2.3 Why should I use it?

  • it's free: the GPL ensures that it will always be
  • it's flexible: you can print almost any kind of file (with the help of various conversion tools):
    ASCII (more precisely: all sorts of text), BMP, DVI, FBM, FIG, FITS, GIF, Group 3 fax, HTML, IFF ILBM, JPEG, Kodak Photo CD, MGR, MIFF, PDF, PNG, PNM, PostScript, RLE, SGI, Sketch, Sun raster, Targa, TGIF, TIFF, troff, WMF, WordPerfect graphics, XCF, X pixmap, X window dump
  • it works: more precisely, it works right out of the box -- no compilation necessary
  • it's extendable: new file formats, new drivers, new converters have always been integrated without much hassle
  • it's simple: a couple of printer-independent command line options allow you to control certain aspects of file formatting, visual appearance etc. without having to know which printer or driver you are using
  • it uses free components: other programmers already have invented the wheel, so we use their work and do some plumbing to produce The Right Thing
  • it's a script: using shell programming tools allows anyone to inspect the source, produce verbose debugging information, test changes quickly and fiddle around to adjust apsfilter to their system

So you see: apsfilter is the best sliced bread since... uhm... no, wait...

2.4 Why shouldn't I use it?

  • it's simple: restricting the dynamic options to a manageable size automatically leads to driver features being inaccessible (however, we try to offer at least a reasonable selection, and you can always adjust the default options to your needs)
  • it's not GUI'd: beginners might be deterred by having to use the command line instead of a visually appealing configuration dialog (anybody willing to write kapsprint?)
  • it uses external components: you have to install at least a couple of other packages to get a working printing system; these may come with their own bugs, which could make apsfilter look buggy itself -- what a silly idea :)
  • it's limited: you can't make coffee with apsfilter, but we're working on it

2.5 Is it for me?

Yes, it is.

Maybe.

3 Installation

3.1 Preparation

Since apsfilter is by no means a self-contained system, you'll have to make sure you have some third-party packages installed. (The links section will refer you to the web pages.)

Your printer spooler must be either the plain BSD-type lpd (which is not only part of the *BSD systems, but also of many Linux distributions) or (highly recommended) the "next generation" spooler called LPRng (which is also compatible to the BSD version). Other spooler types may work, but those are not officially supported by apsfilter.

A very important program is the shell (usually /bin/sh), which has to support a couple of POSIX features. If you already have it, bash is a good choice, but recent versions of zsh, pdksh or ash are reported to work as well. You may need to supply the path to a capable shell during installation.

We need awk in a couple of places, so a decent version should be accessible (e.g. GNU awk). The configure script has an option for this as well.

If you are not operating a PostScript capable printer, you'll need the free PostScript interpreter ghostscript which has the correct driver for your printer compiled into it. Both the GNU and the AFPL (a.k.a. Aladdin) versions work, although you probably better install the latest version to get full driver support.

The psutils collection is highly recommended to perform non-trivial PostScript processing. Another tool we need is psset from the a2ps package; so even if you prefer a different text-to-PostScript converter, you'll have to install it anyway.

For any file format you want to be handled automagically, you'll need a converter, e.g.

  • for bitmap images: convert (from ImageMagick), nconvert (from XnView) or the netpbm tools (a.k.a. pbmplus)
  • for text files: a2ps, mpage, enscript or (without fancy formatting features) recode
  • miscellaneous: dvips, fig2dev (from transfig), groff, htmldoc, html2ps, acroread, pdftops, sk2ps

Transparent handling of compressed files is supported for the gzip, bzip2, compress, freeze, pack and lzop compression styles.

Error reporting and notification messages need a working sendmail installation, although it is possible to do without it. However, you won't be able to use "fake duplex mode".

And most importantly: if you don't just want to use the "print to file" feature, you'll need a working printer (don't laugh) -- apsfilter can't fix hardware problems. Please have a look at your system documentation (e.g. Printing-HOWTO, Linux documentation of the parport device, man pages to stty and setserial in case of a serial printer etc.) to ensure your printer reacts properly on data sent directly to the interface.

3.2 Installation procedure

If your OS vendor is able to provide you with an apsfilter package of some kind, get that and install it the usual way. Please bear in mind that support for those packages is only available from the package maintainers.

Otherwise follow these steps:

$ gzip -cd /path/to/apsfilter-X.Y.Z.tar.gz | tar xf -
        (if you downloaded the gzip'ped version)
$ bzip2 -cd /path/to/apsfilter-X.Y.Z.tar.bz2 | tar xf -
        (if you downloaded the bzip'ped version)
$ cd apsfilter
$ ./configure
	(you might want to give options; see "./configure --help")
$ su -
Password:
# make install

You can optionally copy the contributed uniprint profiles into your ghostscript "lib" directory -- if you don't intend to use the uniprint driver, or use a different printer, these won't help you. Recent packages of ghostscript may already contain them.

# cp uniprint/*.upp /path/to/ghostscript/version/lib

3.3 System specific notes

Here's a list of known limitations, bugs and incompatibilities of various UNIX systems. If you happen to know problems with these or other system types which are not addressed here, please contact us at <apsfilter-hackers@apsfilter.org>.

3.3.1 SuSE Linux

SuSE ships with a modified version of apsfilter which is derived from an earlier release (of the 4.x series). These are incompatible in installation and usage, and support for their version is only available from SuSE.

However, you can uninstall the SuSE package and install the original tarball without any problems. In this case, installing printers is only possible with the SETUP script, not via yast or other SuSE configuration tools.

3.3.2 FreeBSD

Users of older FreeBSD systems (3.4 and earlier) need to apply the following patch to the plain BSD-lpr program (not the LPRng version) to use the advanced features of apsfilter:

Index: lpr.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/lpr/lpr/lpr.c,v
retrieving revision 1.32
diff -u -r1.32 lpr.c
--- lpr.c	2000/01/19 14:25:08	1.32
+++ lpr.c	2000/04/05 09:36:01
@@ -320,7 +320,7 @@
 	seteuid(uid);
 	card('H', host);
 	card('P', person);
-	if (hdr && !pp->no_header) {
+	if (hdr) {
 		if (jobname == NULL) {
 			if (argc == 0)
 				jobname = "stdin";

This patch may have already been applied to newer versions of lpr.

3.3.3 Solaris

Using apsfilter under Solaris will not work with the bundled printer spooler system (lpadmin, lpsched et al.), so you'll have to install LPRng instead.

The default Solaris shell /bin/sh is an old release of the Korn shell which unfortunately doesn't work with apsfilter. Please call the configure script with the "--with-shell=..." option if a POSIX compliant shell can't be detected.

The same applies to awk. If a suitable version can't be found, you can pass the path via the "--with-awk=..." option.

Solaris' own file command might not be able to recognize all supported file types correctly. In case of problems, get the free implementation.

4 Setup

If you are of the paranoid kind, you might want to disable the currently running lpd before you change your spooler setup. Please consult the appropriate system documentation to see what steps are required to do this.

The SETUP is a shell script which resides in the top-level apsfilter installation directory. To start, please execute the script via the (absolute or relative) path name:

# @datadir@/apsfilter/SETUP

No graphics-intensive magic is needed -- a 80x25 text console should suffice to proceed through the setup.

For listings that are likely to need more screen estate, the environment variable $PAGER will supply the default pager program -- if it is unset or empty, more will be used.

4.1 Preparation

In the first couple of screens, various information is gathered in order to adapt SETUP to your system environment.

4.1.1 License

The current apsfilter license requires you to send a postcard to Andreas Klemm. You can get his snail-mail address by sending an e-mail to apsfilter-snailmail@apsfilter.org, which you can do directly during the SETUP process, or later (e.g. if sendmail is not available).

4.1.2 Spool directory

The printer spooler daemon uses an additional directory (one for each printer) to buffer the files which are about to be printed, along with various administration data (e.g. log files). It is important that the owner, group and permission settings of this spool directory match the requirements of the spooler -- if in doubt, consult the documentation.

Do not use a directory on a shared or networked filesystem for this purpose!

LPRng users can simply accept all settings, since the checkpc program will be called later to ensure everything is correct.

4.1.3 Printcap entries

Before you can do harm to your @printcap@, a backup copy will be saved to @printcap@.old and (if it doesn't already exist) to @printcap@.orig.

If you want to overwrite the previous entries in @printcap@, SETUP will delete all apsfilter-related items, but won't touch anything else. It is not (yet) possible to overwrite just one entry.

Normally you'd want to choose to add another printer, so this is also the default.

4.2 Main menu

The main menu is the central screen during the setup -- here you can see the current settings (in square brackets), adjust them, install printers, print test pages etc. Enter one of the keys displayed in parentheses to change certain values or perform actions.

4.2.1 Available drivers

Any printer driver (with the single exception of a true PostScript printer) needs to be included in the ghostscript binary gs in order to be usable. Some drivers are part of the ghostscript distribution, but are not compiled into gs by default, while others produce raster images (e.g. JPEG, TIFF, PNG, PNM) which are not suitable for direct printer input. You can also use a number of third-party drivers.

To see which drivers are known to gs, and also which version you are using, enter d at the prompt. The list is alphabetically sorted.

4.2.2 Ghostscript documentation

In case you haven't already read the ghostscript documentation, a text-only rendering of Devices.htm suitable for your gs release can be viewed. Select r to read it.

4.2.3 Driver selection

This is the most important part of SETUP, since the correct driver is the key component to ensure smooth interaction of apsfilter and your printer. Choosing a driver which is not supported by gs will be intercepted by SETUP.

Usually, you will be presented a list of printer models, preceded by a number. Just enter this number at the prompt, or 0 to select a different type of driver, or just press RETURN to see the list again.

If you see a comment in the list of the form {foo+bar} it means that the ghostscript driver named foo is used to create an intermediate data stream which the external tool bar converts into a format suitable for the printer.

4.2.3.1 PostScript printer (generic)

This is the only "driver" that will actually bypass ghostscript, so we assume the printer is able to understand PostScript Level 2 (which is what most applications and converters produce).

This kind of queue is also useful if you want to post-process the output from apsfilter with a third-party printer driver. These packages usually expect PostScript files to arrive at their own printer filter, so that they can call gs and/or their driver.

4.2.3.2 PostScript printer (with ghostscript drivers)

This is similar to the "generic" driver, but the input will be passed through ghostscript's special "pswrite", "psgray" or "psmono" devices. This allows you to set options for gs, use disk based fonts etc.

4.2.3.3 printer driver natively supported by ghostscript

Here you can see a list of drivers that are part of the original ghostscript package (matching the version on your system).

Note: Not all drivers are compiled into gs by default; you might have to adjust the ghostscript Makefile to get full support for all drivers, then re-compile.

4.2.3.4 gimp-print (stp or ijs driver)

This high-quality driver supports many inkjet printers and is especially targeted at photo printers.

You have two choices for gimp-print: the classic ghostscript interface via the "stp" driver or the client for the new "ijs" server within ghostscript. The features are the same for these two, but the interfaces need different parameters internally.

4.2.3.5 hpdj

As the name might give away, this driver mostly supports DeskJet printers by HP. You might succeed to operate compatible printers as well.

This driver has been superseded by pcl3, written by the same author.

4.2.3.6 pcl3 (successor to hpdj)

Since the hpdj driver has been discontinued, you should try its successor. The pcl3 driver knows a wider range of HP models, and other PCL-aware printers may also work.

4.2.3.7 IBM Omni

This driver collection emerged from the OS/2 driver support and covers a very wide range of inkjet and dot matrix printers.

4.2.3.8 various HP Deskjet drivers

A collection of drivers for a number of HP printers.

4.2.3.9 PPA printer

PPA is a closed source printing protocol used under some other operating system. It had to be reverse-engineered to provide support for these HP printers. You'll need pnm2ppa to automatically convert the data stream into a usable format for them.

4.2.3.10 HP DeskJet printer (official drivers)

These drivers, based on the "Inkjet Server" technology, are already part of the latest ghostscript releases, but can be built into older versions manually.

There's one list for the older ghostscript interface ("hpijs", version 0.97 and earlier) and one for its successor ("ijs", version 1.0 and later).

4.2.3.11 Epson printer (official drivers)

The Epson laser printer drivers are available as an add-on to ghostscript, while the pips driver collection consists of tools that convert PNG data into the printer language.

4.2.3.12 Lexmark inkjet printer

Some programmers (not at Lexmark, of course) have created drivers for Lexmark inkjets.

4.2.3.13 miscellaneous other drivers

Those drivers which don't really fit into the other categories are assembled in this list.

4.2.3.14 non-printer devices

Caution! These devices do not produce data which is suitable for any printer (unless you have a really special kind). They are only useful in a printer queue which is exclusively used by "printing to file" (aps2file), since the output file will be either PDF or an image format.

If you want to use one of these drivers, it's highly recommended that you install the queue as a normal local printer (with a parallel interface connection), but set the device node to /dev/null to avoid unpleasant surprises if some user accidentally wants to print to this queue in the usual way. Note that using /dev/null has no impact on the functionality of aps2file.

Another way of restricting the use of the printer queue is to disable it on the spooler level -- aps2file bypasses the spooler mechanism and only needs access to the configuration files. In this case the user will get an error message for any print attempt to that queue. However, it's necessary to make sure that the queue is not re-enabled (e.g. at system reboot).

4.2.4 Interface

The physical connection to the printer can either be local (via the parallel, USB or serial cable) or through the network. In the latter case, you can choose between normal UNIX-style connections (lpd on the remote host), SAMBA to talk to Windows-served printers (SMB protocol), AppleTalk for Mac-based printers (via netatalk/pap) or Novell NetWare printer servers (with ncprint or nprint).

4.2.4.1 Parallel or USB connection

You only need to enter the full path to the device node -- that's it.

4.2.4.2 Serial connection

Besides the device node name, we also need a couple of protocol specifications here: baud rate, handshaking (flow control) and the data word format.

4.2.4.3 Unix network printer

The remote printer name (FQDN or IP address) and the remote queue name are needed for lpd-type network printers, including printer servers built into (or attached to) the printer itself.

Users of JetDirect interface cards must use "raw" as the queue name; other queues (such as "text" or "ascii") are not useful.

4.2.4.4 Windows / Samba

Your Windows administrator should be able to provide you with the various SMB/samba settings. If you choose to use a real user name (plus password), the configuration file will not be world-readable (to protect the innocent).

4.2.4.5 AppleTalk

This connection only requires the name of the printer as provided by the Apple server.

4.2.4.6 Novell NetWare

Contact your local NetWare guru to get the correct connection parameters for the server, queue and user name. If you don't need a password, just leave it empty.

Note: Both ncprint (for BSD) and nprint (for Linux) are supported for NetWare connections.

4.2.5 Paper format

The default paper size can be overridden by the user on the command line, but you definitely should set it to the paper format which is most likely to be used. There are far more paper formats known to mankind, but A4, A3, Letter, Legal, Tabloid and Ledger are the ones that are supported by the majority of conversion tools used by apsfilter.

Note: There seems to be quite some confusion about the correct handling of "ledger" vs. "tabloid" vs. "11x17". The most common usage seems to be that ledger is 17''x11'' and tabloid is 11''x17'' (some tools, including ghostscript, even call it 11x17). So we use ledger as the landscape mode of tabloid (and vice versa).

4.2.6 Printing quality

This is another setting which merely provides a default value for the user; a different printing quality can be passed on the command line. However, "medium" should be suitable for most printing tasks.

Please bear in mind that those categories don't represent absolute values -- they are driver specific, and relative to its abilities. So "photo" quality on a cheap dot matrix printer might still be worse than "draft" on a high-class laser printer.

4.2.7 Color mode

Selecting the correct color mode does not only influence the dithering of color in the output, but has also an impact on the processing speed: many converters run faster if they are told to produce monochrome or grayscale output.

Since this default setting can also be overridden by the user, it's probably best to set it to "full color", just to be sure. Only if your printer has no color ability, it makes sense to use "gray" or "mono".

4.2.8 Resolution

The printing resolution (in dots per inch) is only needed to provide a default for drivers that don't derive it from the quality setting. Currently this includes PostScript printers (with or without the use of ghostscript) and uniprint profiles, besides others.

However, it is recommended to set it to a reasonable value anyway, since this setting will also appear (as a comment) in the @printcap@ database and in listings produced by lpq.

4.2.9 Printing method

For most cases, the printing method will be set to the default value "auto"; this will cause apsfilter to check the type of any input file and convert it to the correct printer language automagically.

However, if you want data to be passed unmodified (e.g. if you get printing requests over the network), you must set it to "raw"; you can also set it to "ascii" to trick apsfilter into thinking that everything is a text file.

The default printing method can be overwritten with a command line option.

4.2.10 Test page

To test the current settings, you can send a test page to the printer. This will not use the lpd mechanism, but rather contact the printer directly (unless you print to a UNIX-style network printer).

If your current driver selection requires an additional external filter to be used (e.g. pnm2ppa), it must be accessible in the PATH. In case of an error, please install the appropriate filter program or adjust the PATH setting at the top of the SETUP script.

Note: You need to set up your printer type, interface and paper size to be able to print a test page.

4.2.11 Performance log

After you have printed at least one test page, you can check how long it took to (a) create and (b) actually print the data. Thus you can adjust the default quality and color settings to decent values, and even use a different driver.

Note: You need to set up your printer type, interface and paper size to be able to print a test page and view the performance log.

4.2.12 Abort

In case of a panic attack, just leave SETUP with no further changes to your system. This is basically the same as pressing Ctrl-c.

4.2.13 Installation

If you think all settings are correct, you can install the printer; this will create an entry in @printcap@, add the spool directories and put one or more configuration files into the queue configuration directory.

But first you are prompted for a queue name; this will be used to select the correct printer queue, if you happen to have more than one. The default name is lp (if possible) or apsN (where N is a number). This is guaranteed to be free to use.

If you are using the LPRng spooler, a system cleanup will be performed by calling checkpc, which will ensure that all permissions are correct and all necessary files are in place.

Note: You need to set up your printer type, interface and paper size to be able to install the printer entry.

4.2.14 Finish setup

After your printers are installed, all parameter settings from SETUP are saved to @sysconfdir@/apsfilter/SETUP.cfg; these will be re-read the next time you want to install a printer.

At this point @printcap@ has changed, so you have to tell your spooler daemon to use the new values. Please use the command corresponding to your spooler type:

LPRng
lpc reread
BSD-lpd
lpc restart all
others
/etc/rc.d/init.d/lpd restart
(adjust this to your OS)

4.3 Tips and tricks

There's only little magic attached to the printer driver name. If you need some other driver which isn't listed, simply install a different driver and change the setting in @sysconfdir@/apsfilter/QUEUE/apsfilterrc manually. However, it is necessary to provide a driver script if you want to use advanced features of your driver.

The stcolor driver is the only one that causes SETUP to write an additional configuration variable into the local file:

PS_INIT='stcolor.ps'
This setting won't be used for all other drivers (although it is harmless in those cases).

SETUP creates a comment for all entries in @printcap@ which will be displayed by lpq. It shows the default settings for quality, resolution etc., but you can change it to whatever fits you. For non-printer devices, it might be useful to explicitly state that the printer queue is primarily targeted at "print-to-file" mode.

5 Usage

5.1 Normal operation

As every input filter for printer spoolers, apsfilter is not really designed to be called directly on the command line, but it rather links itself into the lpd mechanism for print job processing via the @printcap@ database. For every print job, the printer daemon prepares the data, gathers some additional information and calls the filter with a couple of parameters. Then apsfilter processes the input data stream according to the configuration settings and basically spews the printer data out (but there's lots of magic in between).

So the user doesn't actually get in touch with apsfilter, but rather tells the printer daemon via lpr (or sometimes via lp) that he wants to print something. To influence the visual appearance or printer dependent processing features, there must be a way to pass parameters to apsfilter: either via configuration files or on the command line.

Passing command line options depends on the spooler type which is installed on the system:

  • BSD-type spoolers don't provide a direct interface for additional filter options, so the so-called "class" attribute for print jobs had to be misused for this purpose:
    lpr -C border:duplex:4pps somefile.txt
    
    This has lead to the term "class options", although it's not very accurate, since the class attribute is actually used for priority matters.
  • LPRng is compatible to the BSD variants, so "-C" can be used as well; however, the use of the correct option "-Z" is preferred:
    foobar | lpr -Z noheader,enscript,letter
    
  • LPRng also provides an interface called lp which resembles the SysV print tool; this one uses "-o" for options:
    lp -o recode -o ascii source.ps
    

Apsfilter options can be separated by ":" or ","; LPRng can also take more than one "-Z" or "-o" block (and will effectively concatenate them). See below for a listing of known command line options for apsfilter.

5.2 Special features

A couple of features that are not very common, but provide some comfort to the user, are available with apsfilter.

5.2.1 Fake duplex

If your printer is not able to handle duplex printing by itself (most inkjets can't do it), apsfilter can "fake" it for you. When you use the command line option "duplex", your file will be printed this way:

  1. all necessary pre-processing, conversion etc. will be performed as usual
  2. the even pages of the resulting PostScript code are extracted and printed (a blank page is inserted if needed)
  3. apsfilter sends you an email which tells you to flip the sheets and put them back in
  4. you also get some more-or-less secret key ("password") with the email which you should echo into an internal communication file (a "named pipe" for the experts) when the paper and the printer is ready
  5. the odd pages are printed on the backsides of the even pages

The DUPLEX_ODD_FIRST variable can be set so that the odd pages are printed first. There are also two variables called DUPLEX_REVERSE_EVEN and DUPLEX_REVERSE_ODD which can be used to have those pages printed in reverse order. (Read the notes for details.)

Please note:

  • fake duplex printing does not work if you directly print to a network printer server, since the named pipe must be on the same host as the user who started the print job; but you can set up your printer spooler so that all pre-processing is done on the local host and the resulting printer data is sent via the network
  • after the even pages are printed, apsfilter waits for the password, thus effectively blocking the printer spooler; however, print jobs of other users should not be delayed longer than necessary, so please don't be nasty
  • sendmail must be present for notification delivery (you can also create a wrapper script which translates the options for your mailer application)

Duplex printing (real or fake) can be disabled by setting the DISABLE_DUPLEX variable to a non-empty value.

5.2.2 Fast copies

Almost all printer spoolers offer the possibility to print multiple copies of a document without having to enter the print command multiple times. However, from apsfilter's point of view, there is no difference -- it simply gets the same request over and over again.

With the "copies=N" option you can print N copies of the same document, but much faster (or rather: much less CPU-intensive). Instead of performing all the pre-processing and rendering stages again for each request, apsfilter does the hard work once, then prints the resulting "raw" printer data N times. (This also works with the fake duplex mode.)

In case your printer already knows how to handle multiple copies, the driver can be adjusted in the driver script to use that feature. You should set HARDWARE_COPIES to a non-empty value to enable this behaviour.

If this conflicts with other services on your system (e.g. accounting), you can disable it by setting MAXCOPIES=1 in one of the configuration files.

5.3 Printing to a file

Besides feeding data to the printer via the spooler, sometimes it might also be necessary or desired to direct apsfilter's output to a file.

This is not possible by directly calling apsfilter on the command line, since it makes some presumptions about its parameters and environment. But there is a script called aps2file which sets up the environment so that apsfilter thinks it's running under LPRng.

Enter aps2file -h on the command line to see what options are available. You'll mostly need "-P" to specify the printer queue and "-Z" for parameters. If you want to debug apsfilter, the "-D" option creates a log on stderr.

Using aps2file has the additional advantage to enable user supplied configuration files, since we don't have to care about security issues here.

Note: The output will always be directed to a file, even if you configured the queue to use the network.

5.4 Preview before printing

If you are of the paranoid kind, you might want to preview the output before it's sent to your printer. Now this is easily possible with apsfilter.

The script apspreview internally creates a PostScript file with the help of aps2file and sends it to your PostScript viewer program (gv, kghostview or ghostview). If you are satisfied with the result, you can simply print that file from the viewer (or even specific pages, if your application supports it).

To control the output, apspreview accepts basically the same options as aps2file; entering apspreview -h will give you a short overview.

Note: Command line options related to duplex printing (duplex, simplex, shortbind, longbind) should be used when actually printing the file -- they don't make sense for previewing. Also be careful if you convert the stuff with "multiple pages per sheet" as a default option -- while printing it must not be done again, so use the "1pps" option there.

6 Configuration

Configuring apsfilter can be done in two separate ways: either the administrator supplies specific values to configuration variables, or the user provides options to the lpr or lp program. Command line options usually have greater priority, unless some service has been disabled entirely (e.g. duplex printing).

6.1 Configuration files

The following configuration files are listed in the same order as they are used by apsfilter; these are all ordinary shell scripts.

A global configuration file resides in the global directory @sysconfdir@/apsfilter/, while a local file is located in the printer queue specific directory @sysconfdir@/apsfilter/QUEUE/.

  1. @sysconfdir@/apsfilter/apsfilterrc
  2. @sysconfdir@/apsfilter/QUEUE/apsfilterrc (mandatory)
  3. ~/.apsfilter/apsfilterrc.QUEUE (disabled by default due to security issues)
  4. @sysconfdir@/apsfilter/QUEUE/apsfilterrc.USER
  5. @sysconfdir@/apsfilter/restrictions
  6. @sysconfdir@/apsfilter/QUEUE/restrictions
  7. @sysconfdir@/apsfilter/QUEUE/smbclient.conf
  8. @sysconfdir@/apsfilter/QUEUE/netware.conf
  9. @sysconfdir@/apsfilter/QUEUE/lpr.conf
  10. @sysconfdir@/apsfilter/QUEUE/pap.conf

6.1.1 apsfilterrc (global, local)

These two are the most important source of information for apsfilter, since they define the basic options.

Typical settings you want to change in the global file include:
PATH shell search path; should be as restrictive as possible
AWK properly working "awk" executable (e.g. GNU awk)
NOTIFY user name of the person in charge for printer errors
TMPDIR directory for temporary files; apsfilter actually creates a subdirectory of its own for better security
USE_USER_CODE if set, enables the user specific file $HOME/.apsfilter/apsfilterrc.QUEUE as a configuration source
DANGEROUS! -- you probably don't want to set it (it is unset by default)
TEXINPUTS search path for dvips (PostScript pictures etc.)
HAVE_MAKETEXPK if set, enables dvips to create fonts on the fly (this functionality is broken on more systems than you would imagine)
DVIPS_RES_DorP dvips resolution switch; should be "-D" or "-P" (consult your dvips man page)
GS_FONTPATH
GS_LIB
environment variables for gs, used to find fonts and support PostScript files (the ghostscript documentation has more information on this)
IGNORE_LPD_RAW set this if your print jobs (most likely from remote machines) are sent in "raw" mode, causing them to be passed through apsfilter with no filtering whatsoever
MAXCOPIES maximum numbers of copies created with apsfilter's internal copying mechanism
ASCII_FILTER filter to convert text files to PostScript (one of "a2ps", "mpage", "enscript"), or to directly print text files with possible charset and end-of-line conversion ("recode")
ASCII_HEADER set this if you want header lines in the formatted text output (no effect with "recode")
ASCII_BORDER set this if you want borders in the formatted text output (no effect with "recode")
PS_NUP multiple pages per sheet (must be one of 1, 2, 4, 8)
ASCII_PPS the same, but just for text (no effect with "recode")
LANDSCAPE set this if you want landscape orientation
ASCII_LANDSCAPE the same, but just for text (no effect with "recode")
PS_BOOK if set: output pages in "book" format (i.e. 2pps, duplex, special printing order)
PS_UTILS additional PostScript->PostScript filter

Unlike others, the local configuration file (which overrides any global options) is required by apsfilter and thus is created during SETUP. Initial values (which should not be deleted) are given for these variables:
PRINTER specifies the driver (and for some drivers the printer model as well)
PAPERSIZE the paper size used for practically every program that needs to handle PostScript code; currently possible values are "a4", "a3", "letter", "legal", "tabloid" and "ledger"
METHOD either "auto" (automatic file conversion), "ascii" (treat everything as text) or "raw" (pass-through mode)
QUALITY the printing quality (one of "draft", "low", "medium", "high", "photo"); the driver script will translate this into a decent resolution value
COLOR control color or b/w printing, should be "color", "gray" or "mono" (may not work with all printer/driver combinations)
RESOLUTION the printing resolution default (will most likely be overwritten by the QUALITY setting)

Parameters that are usually only valid for one printer should also go into the local file:
MEDIA paper type; one of "plain" (normal paper; default), "coated" (inkjet quality), "glossy" (photo quality paper), "premium" (very high quality) and "trans" (transparencies)
SWEEP whether printing should be unidirectional ("uni") or bidirectional ("bi")
PRINT_DVI custom "DVI to printer language" filter (stdin->stdout); if empty, dvips (with possible rendering by ghostscript) will be used
RAW_PROLOGUE
RAW_EPILOGUE
printf style escape sequences to be used before/after a "raw" print job
RECODE_PROLOGUE
RECODE_EPILOGUE
printf style escape sequences to be used before/after text printed with recode
BLANK_PAGE printer codes to be sent if a single blank page is needed (for "fake duplex" mode)
GS_FEATURES basic features for ghostscript; this variable can be extended with command line options
PS_INIT ghostscript initialisation file
PS_EXIT ghostscript "cleanup" file
POST_FILTER_OPTS basic features for the (optional) post-ghostscript filter POST_FILTER (which itself should only be set in the driver script)
HARDWARE_COPIES set this if your printer and the driver can handle multiple copies by themselves (otherwise the copies will be sent manually)
REMOTE_COPIES set this if multiple copies should be done at the remote printer server rather than locally (enabled by default; used by lpd and NetWare connections)
HARDWARE_DUPLEX set this if your printer and the driver can handle duplex printing by themselves (otherwise it can be "faked")
DISABLE_DUPLEX set this to completely forbid duplex printing; must be set on a network print server that operates printers which would need "fake" duplexing
DUPLEX_REVERSE_EVEN
DUPLEX_REVERSE_ODD
DUPLEX_ODD_FIRST
these control the page order for "fake duplex" printing; read the notes for details
DUPLEX set this if you always want duplex prints
BINDING which edge of the paper the binding should be (one of "short", "long")
PAPERTRAY integer value to select the correct paper feed tray
A2PS_BASIC basic features for a2ps
A2PS_PAPERSIZE override the paper size for use with a2ps
A2PS_OPTS override the complete a2ps command line
MPAGE_BASIC
MPAGE_PAPERSIZE
MPAGE_OPTS
the same for mpage
ENSCRIPT_BASIC
ENSCRIPT_PAPERSIZE
ENSCRIPT_OPTS
the same for enscript
PRETTY_PRINTING highlight level used for pretty-printing (0=none, 1=normal, 2=heavy)
RECODE_OPTS override the complete recode command line
HTMLDOC_OPTS override the complete htmldoc command line
HTML2PS_OPTS override the complete html2ps command line

The template apsfilterrc file is the definite source for these configuration possibilities, and shows the default value as well.

6.1.2 apsfilterrc (user specific)

These are two files that should be considered relics of the times when there were no command line options to apsfilter and printing to a file via a locally installed apsfilter was impossible.

The user can provide arbitrary settings in a file in his home directory, specifically ~/.apsfilter/apsfilterrc.QUEUE for the printer named QUEUE. However, since apsfilter might run under a privileged account (e.g. daemon or even root), this is considered harmful (far worse than a goto statement) and needs to be activated by the administrator by explicitly setting USE_USER_CODE. You don't want to do that.

A secure, but less flexible way to have users supply their favourite options is the file @sysconfdir@/apsfilter/QUEUE/apsfilterrc.USER which is read when user USER prints on QUEUE. The downside is that the admin is supposed to change the file according to the user's wishes, which is probably not useful in practice. Do not let users edit their files -- this would open the same security hole as mentioned above.

However, if you use apsfilter via the aps2file or apspreview scripts, user-supplied configuration files are always used, since they can't do any harm to the system in this case (apsfilter will not run under a privileged account).

6.1.3 restrictions (global, local)

If the administrator wants to restrict certain options for all printer queues and/or for just a single queue, the global and local restrictions scripts will enable him to do that.

For example, if only a2ps and recode are installed, but mpage and enscript are missing, a simple line like

[ "$ASCII_FILTER" = recode ] || ASCII_FILTER=a2ps
will ensure text files are printed via a2ps, unless recode has been requested. This way users won't be annoyed by an error mail if they accidentally chose "mpage" or "enscript".

If you just want to set certain options if apsfilter is called via aps2file, you can test APS2FILE_CONTEXT for a non-empty value; e.g.

if [ "$APS2FILE_CONTEXT" ]; then
    unset DUPLEX; COPIES=1
fi

Let's say your PostScript printer knows duplex, but fscks up the paper orientation -- it's tumbled where it shouldn't have been, and vice versa. The solution is to simply switch the BINDING values:

if [ "$BINDING" = short ]; then
    BINDING=long
else
    BINDING=short
fi

Here's an example which sets some attributes, e.g. for the stp driver: low-quality printing modes should use less ink.

case "$QUALITY" in
    draft)  GS_FEATURES="$GS_FEATURES -dDensity=0.5" ;;
    low)    GS_FEATURES="$GS_FEATURES -dDensity=0.8" ;;
esac

Or maybe you want to ensure the pages-per-sheet and paper orientation values are in sync for printing text files:

case "$ASCII_PPS" in
    1|4)    unset ASCII_LANDSCAPE ;;
    2|8)    ASCII_LANDSCAPE=set ;;
esac

6.1.4 smbclient.conf (local)

SETUP will create this file for you if you are using a remote printer on a Windows host via smbclient.

The variables in here are SMB_SERVER, SMB_IP, SMB_PRINTER, SMB_WORKGROUP and (optionally) SMB_USER and SMB_PASSWD. The values have the same meaning as shown in the SETUP dialog. Additional variables are SMB_BUFFER (default: 1400) and SMB_FLAGS (default: "-N").

If the file contains a user (other than guest) and password, it will be read protected, so only the account used for printing by lpd is granted access to it.

6.1.5 netware.conf (local)

SETUP will create this file for you if you are using a remote printer on a Novell NetWare printer server via ncprint or nprint.

The variables in this file are the same that SETUP allows you to change: NCP_SERVER, NCP_PRINTER, NCP_USER and NCP_PASSWD.

Similar to smbclient.conf, if you entered a password, read access to netware.conf will be limited.

6.1.6 lpr.conf (local)

If your printer spooler does not allow input filters for remote printer queues, you'll have to create this file manually. The only useful variable in there is REMOTE_NAME, which contains the remote queue name in the form printername (local queue), printername@hostname (queue on remote host) or printername@hostname%port (socket connection on remote host). Consult your spooler documentation about possible values.

This configuration file is not created by SETUP.

6.1.7 pap.conf (local)

For AppleTalk printers, this file provides apsfilter with the command line options for pap. It is created by SETUP and only contains the remote printer name in the PAP_NBPNAME variable.

6.2 Command line options

Specifying command line options to apsfilter is the easiest way to control the printout. The parameters are driver independent and case sensitive. Options are always valid for all files on the same command line; later options in the parameter list override previous values of the same kind.

Note that not all printer/driver combinations support all options -- the appropriate driver script in @datadir@/apsfilter/driver/ will tell you more.

optionmeaningvariable
draft
lo / low
med / medium
hi / high
photo
draft quality
low quality
medium quality
high quality
photo quality
QUALITY
uni
bi
uni-/bi-directional sweepsSWEEP
plain
coated
glossy
premium
trans
plain paper
coated (inkjet) paper
glossy paper
premium (photo) paper
transparencies
MEDIA
color / colour
gray / grey
mono
color modeCOLOR
auto
ascii
raw
automatic data conversion
forced text mode
pass-through mode
METHOD
a3 / a4 / legal / letter / ledger / tabloidpaper size PAPERSIZE
a2ps / mpage / enscript / recodetext file filter ASCII_FILTER
tray0 ... tray9paper feed tray numberPAPERTRAY
pretty=Nhighlight level for pretty-printing (N=0,1,2)PRETTY_PRINTING
header / noheaderwhether you want headers with your text prints ASCII_HEADER
border / noborderwhether you want borders with your text prints ASCII_BORDER
1pps / 2pps / 4pps / 8ppspages per sheetPS_NUP, ASCII_PPS
landscape / portraitpaper orientationLANDSCAPE, ASCII_LANDSCAPE
bookoutput pages in "book" format
implies "2pps,duplex,shortbind"
PS_BOOK, PS_NUP, ASCII_PPS, DUPLEX, BINDING
duplex / simplexwhether to use duplex modeDUPLEX
shortbind / longbindpaper binding edgeBINDING
copies=Nnumber of copiesCOPIES

6.3 Configuration notes

6.3.1 Landscape and N-up printing

Since some combinations of apsfilter options are not too intuitive, let me share some thoughts on combining "landscape" page orientation with "n-up" printing (i.e. multiple pages per sheet).

Usually, you get one of the following layouts:

.-------.                 .-------.  .-------.
|       |                 |   |   |  |   |   |
|       |  .-----------.  | 1 | 2 |  | 1 | 3 |  .-----------.  .-----------.
|       |  |     |     |  |   |   |  |   |   |  |1 |2 |3 |4 |  |1 |3 |5 |7 |
|   1   |  |  1  |  2  |  |---+---|  |---+---|  |--+--+--+--|  |--+--+--+--|
|       |  |     |     |  |   |   |  |   |   |  | 5| 6| 7| 8|  | 2| 4| 6| 8|
|       |  `-----------´  | 3 | 4 |  | 2 | 4 |  `-----------´  `-----------´
|       |                 |   |   |  |   |   |
`-------´                 `-------´  `-------´

So n-up printing always means "scale the pages with the correct x:y ratio and distribute them on the sheet"; but it assumes the pages to be in portrait mode in any case, since the psutils (here: psnup) can't know about the "logical" page orientation.

If you additionally use "landscape" mode, there might be some strange results, according to the converter's rotation direction, but we try to ensure that all tools cooperate with psnup w.r.t rotation.

Fortunately, with most (even moderately sophisticated) text-to-PostScript filters (e.g. a2ps, mpage and enscript), you'll get decent results most of the time, since these are able to rotate and scale the pages in one go.

6.3.2 Page order in fake duplex mode

If you are a lazy user, you might want to reduce the effort of page shuffling, flipping and re-ordering which is required when printing in fake duplex mode.

To keep the "reverse" operation(s) of psselect to a minimum, here are some hints as to use the correct set of options, adjusted to the various paper feeding mechanisms:

  • top loader (e.g. Epson Stylus series):
    DUPLEX_ODD_FIRST=set
    
  • front loader, output face down (e.g. HP LaserJet series):
    DUPLEX_REVERSE_EVEN=set
    
  • front loader, output face up (e.g. HP DeskJet series):
    DUPLEX_REVERSE_ODD=set
    

If you happen to use the PS_UTILS variable to reverse the page order for simplex printing, you might want to ensure that these settings don't influence each other. In this case, you don't enter those values in the apsfilterrc file, but rather add a block to the restrictions file for that printer:

if [ "$DUPLEX" ]; then
    # your settings as described above, e.g.
    DUPLEX_REVERSE_EVEN=set
else
    PS_UTILS='psselect -r'
fi

Note: Please make sure that the setting of BLANK_PAGE (default: '\012\014', i.e. one LF followed by one FF) does indeed create an empty page, otherwise documents with an odd number of pages might not be printed as expected.

7 FAQ

This section covers the most frequently asked questions, or what we think should be questions frequently asked if they were asked at all :)

If you dare to ask one of this questions on the mailing-lists, you will be laughed at!

7.1 Error messages

Q: "can't find apsfilter basedir"
A: The SETUP (besides other things) creates a link @sysconfdir@/apsfilter/basedir that points to the actual directory where apsfilter was installed. This link has been either mangled or deleted entirely. Try to run SETUP again.

Q: "can't find configuration"
A: The only configuration file that positively has to be found for each QUEUE is @sysconfdir@/apsfilter/QUEUE/apsfilterrc, because this file defines the most important variables (driver and printer model, paper size, printing method). SETUP should have created that file... strange.

Q: "unsupported file type 'foobar'"
A: The file command has identified your input file, but apsfilter doesn't know how to print it. If you know a converter for this type of file which works on the command line (preferably to PostScript or PNM, but others might work as well), please contact us at <apsfilter-hackers@apsfilter.org>.

This could also be caused by a wrong guess by file(1) -- the input data might match a "magic number" by accident. In this case you can use the "ascii" option (if the file contains only text), or you must convert it yourself.

Q: "missing 'foo'; can't convert file type 'bar'"
A: In this case apsfilter knows the file type, but is unable to locate any filter which may be used for further processing. This might be solved by adjusting the PATH setting in the global apsfilterrc, but most likely you don't have a converter for that type installed. For several file formats there's more than one possible filter (not just the one that is called "missing"; in most cases, it's the "last resort").

Q: "invalid method 'foobar'"
A: This is another "can't happen" error, because the only chance to get this error message is when some person fiddled with the printer queue specific apsfilterrc file -- and it surely wasn't you, was it? Anyway, the METHOD setting must be one of "auto" (this is probably what you want), "ascii" or "raw".

Q: "can't determine the lpd spool directory"
A: This error may have two different reasons:

  1. You want to print directly to a remote printer queue, but your spooler can't handle it. In this case you either can install LPRng or you need a bounce queue.
  2. You are using a BSD style spooler, but have removed the "accounting file" specification in @printcap@ (the ":af=..." line). Even if you don't want accounting, you must leave that line in there, because that's the only chance for apsfilter to get hold of the spool directory location (which is also the directory the accounting file is in).

Q: "error creating directory for temporary files"
A: The temporary file directory TMPDIR used by apsfilter can be set in apsfilterrc; the default is /tmp. The permission bits of this directory should be 1777 (rwxrwxrwt), so that apsfilter can create its own subdirectory which will be used for temporary files.

Another reason for this error is a denial-of-service effect which occurs if the name apsfilter$$ (where $$ is the process ID) is already used in TMPDIR and the mktemp program cannot be found. If you install mktemp, you most likely won't ever see this error message again.

Note: In this case, apsfilter exits with a non-fatal error code. Depending on your printer spooler type, lpd might want to retry to print the file, since the error condition is not persistent (e.g. the next run will have a different $$ value).

Q: "driver script 'foo' for 'bar' not found"
A: The driver you selected for your printer (bar) was supposed to be configured by the shell script @datadir@/apsfilter/driver/foo, but this script wasn't found. This shouldn't have happened!

Q: "driver script 'foo' not yet available"
A: Similar to the message above, this warning says that no script has yet been written for your particular driver. If you are willing to create one (it's not too difficult), have a look at @datadir@/apsfilter/driver/README. In case the driver doesn't support options other than its defaults, you can just create an empty file (touch @datadir@/apsfilter/driver/foo); this way, you won't get annoyed by this message anymore.

Q: "missing 'foo'; can't unpack file type 'bar'"
A: The file you wanted to print was compressed, but the decompressing tool was not found in the PATH. Install it, or adjust the PATH setting in the global apsfilterrc configuration file.

Q: "apsfilter warning: html2ps needs gs for DSC compliance"
A: When converting HTML files to PostScript, the html2ps converter relies on ghostscript to create DSC compliant PostScript documents; this is needed for any further processing via the psutils (n-up printing, duplex etc.). The gs executable was not found in the PATH; however, since it might be okay to create non-DSC documents, apsfilter just prints a warning to the log/status file.

Note: Since html2ps can have its own PATH setting in the configuration file html2psrc, this warning may even be unnecessary.

Q: "apsfilter warning: duplex fifo couldn't be created"
A: For fake duplex printing to work, apsfilter needs to set up a named pipe (a.k.a. fifo) which enables the user to send the release-key to apsfilter. This pipe/fifo is created with the mkfifo command, which failed in this case -- apsfilter then prints the file in simplex mode.

7.2 Printing failures

Q: I just have set up the printers, but the names are not recognized by my spooler software!
A: Are you sure you have restarted the printer daemon? As SETUP alters the central configuration file @printcap@, the spooler must be told to use the new version. The setup instructions tell you what to do.

Q: The spooler takes the input file, but there's nothing coming out of the printer.
A: Are you sure you're talking to the correct printer? If your @printcap@ already contained a printer called lp, it's likely that you tried to use that printer queue. Some lpd packages "feature" a sample lp entry in @printcap@ which is suitable for a generic, mostly text-only printer. Try using the "-P my_printer" command line option to lpr (for the lp interface it's "-d my_printer"). If that works, either set the environment variable PRINTER=my_printer or change @printcap@ manually, so that lp is an alias for the correct queue.

However, this could also be a processing error, maybe even a syntax error in the filter script. Please have a look at the help chapter to find out how to enable debugging. If the debug output is not helpful to you, please send us a bug report.

Q: I want to print to a remote printer, but my spooler doesn't allow input filters for remote printers in @printcap@.
A: This might be solved by using a so-called "bounce queue". You must edit @printcap@ to change the :lp= entry for the printer to be :lp=/dev/null:; then you create a simple text file called lpr.conf in the appropriate configuration directory, e.g. @sysconfdir@/apsfilter/QUEUE/, that consists just of one line:

REMOTE_NAME=remoteprinter@remotehost.somedomain
If the printer is on the same host, you can leave out the trailing @remotehost.somedomain part. Remember to restart the daemon in any case.

Q: Why doesn't apsfilter find the conversion programs? I know that they are installed!
A: By default apsfilter uses a restricted PATH for security reasons. You can alter the PATH in @sysconfdir@/apsfilter/apsfilterrc (global) or in the printer specific apsfilterrc.

Q: Why is the resolution for dvips wrong?
A: For whatever reason, there are different dvips version out there which use either "-D" or "-P" as the command line switch to set the resolution. Consult your dvips manpage and set DVIPS_RES_DorP in the main configuration file.

Q: I get "permission denied" errors for some file cf...!
A: That's a classic FAQ :) Far too many lpd installations suffer from wrong permissions or non-matching user/group ID settings which prevent apsfilter from reading that control file. All I can say is: LPRng doesn't have that problem.

Q: I want to print something, but I only see some weird PostScript code!
A: There are a couple of reasons for this (too common) error:

  • You used an option for lpr or apsfilter which causes the data to be printed in "raw" (i.e. unfiltered) mode. This can be the result of a METHOD=raw setting in one of the config files, the "-l" or "-b" switch to lpr or the raw command line option to apsfilter.

    The latter case happens with gimp in connection with PostScript output on a non-PostScript printer (maybe via an apsfilter queue). The default options include "raw"; remove that in the "Setup" dialog. (Please bear in mind that printing like this is only useful if your printer is not supported by gimp-print, since the plug-in is able to handle the options much better than apsfilter, and it avoids PostScript as an intermediate format.)

    Another reason could be remote clients for a printer server that send the print jobs in "raw" mode. If the spooler on the client can't be configured to disable that behaviour, you can include a line IGNORE_LPD_RAW=set into the appropriate apsfilterrc file. If you still want to print files in "raw" mode with this queue, you can use the raw command line option to apsfilter -- this one won't be ignored.

  • The input file might be PostScript code, but it is not recognized as such. In this case, it is taken as normal text. Check the file's first line to be at least %! or %!PS -- this should convince your file command to correctly report the file type.

    Some files in the ghostscript distribution need this kind of help.

  • The printer type for this particular queue might be set to PS or PSgs, although you don't have a PostScript printer. Check the configuration file @sysconfdir@/apsfilter/QUEUE/apsfilterrc.

Q: My USB-connected Epson Stylus printer won't work with {Free,Net,Open}BSD! [from the gimp-print FAQ]
A: By default, the BSD device driver for the USB printer device (usually ulpt0) does a prime, or USB bus reset, when the device is opened. This causes the printer to reset itself (one can hear the print head moving back and forth when this happens) and lose sync. After this the printer won't go into graphics mode and instead spews characters all over your expensive photo paper. This has been observed on the Stylus Photo 870; it likely exists with other USB-connected Epson Stylus printers.

The fix is to use the unlpt0 device instead of ulpt0. The driver doesn't perform the USB prime when unlpt0 is opened. If this device doesn't exist on your system you can create it with

mknod unlpt0 c 113 64 root wheel
in the /dev directory.

Q: For some files I want to print, there are error messages regarding "DSC" showing up in the log. What's that?
A: DSC (Document Structuring Conventions) is the format specification for PostScript data files. These error messages probably say that the application which produces the PostScript data is buggy. You may be able to fix that by saving the PostScript data to a file first, then using the "fixps" tool (or some variant) to get it working.

Q: Why can't I print DVI/HTML/Sketch/FIG files with embedded images etc.?
A: That depends on the file format and the way the images are embedded. For inline images, i.e. images that are literally included in the file, there shouldn't be any problems. If the image is referenced by a filename, it must not only be found but it must also be accessible.

Relative pathnames are very hard for the filter to expand, since it would have to know a directory (or a set of directories) to search in. Absolute pathnames are more pleasant, but you still have to make sure that the referenced file is readable by anyone and every directory down the path is executable by anyone.

The easiest way to print the file correctly might be to use aps2file inside the correct "document root" directory, so that all relative paths are actually referring to the right files, and then pipe the output through a "raw" queue. For example:

$ cd @docdir@/apsfilter
$ aps2file handbook.html | lpr -Zraw
This should print the apsfilter handbook with a nice little logo :^)

Q: How to persuade apsfilter to attach EOT to PS jobs not to leave LED blinking on a PS printer?
A: Use the printcap capability "tr". That string is sent after each job. Add ":tr=\004:" to your printers entry in /etc/printcap. This has been reported to work with a LJ 1200.

7.3 Tuning

Q: My printer needs special treatment to reset it before any print job, set the codepage, enable the correct end-of-line mode, add an extra formfeed afterwards etc.
A: Grab your printer documentation to look for the escape sequences needed and enter these into the configuration variables RAW_PROLOGUE and RAW_EPILOGUE (remember to use octal values). To send a reset sequence of "ESC c" before and an additional formfeed after the raw print job, use

RAW_PROLOGUE='\033c'
RAW_EPILOGUE='\014'

You can also set command line options for recode in the variable RECODE_OPTS if you want fast text listings; a simple conversion from the latin1 charset with UNIX-style LF line endings to codepage 437 with CR+LF line endings would be enabled by

RECODE_OPTS='latin1..cp437/crlf'

The RECODE_PROLOGUE and RECODE_EPILOGUE variables are used in addition to the RAW_... stuff whenever recode does text conversion.

Q: I have a PostScript Level 1 printer. How can I tell apsfilter to produce correct output?
A: You must use the special PSgs driver which uses the "pswrite", "psgray" and "psmono" ghostscript devices. Then add "-dLanguageLevel=1" to the GS_FEATURES variable for that printer.

Q: How do I prevent users from using command line options? My printer shall always use the same settings.
A: There are two different approaches to this problem:

  1. The file @sysconfdir@/apsfilter/QUEUE/restrictions can be used to reset options to their default, e.g.
    QUALITY=medium
    MEDIA=plain
    COLOR=full
    PAPERSIZE=a4
    unset DUPLEX
    
  2. Instead of using your normal driver, you can create a custom driver script. First you have to install the correct driver for your printer, e.g. pcl3/hpdj690c. Then you change the PRINTER=pcl3/hpdj690c line in @sysconfdir@/apsfilter/QUEUE/apsfilterrc to PRINTER=custom (or some other unused name). The last step is to create a new driver script named @datadir@/apsfilter/driver/custom which includes all your variables like GS_FEATURES and RESOLUTION and their desired values, plus a line PRINTER=pcl3/hpdj690c to ensure the original driver name is used properly.

Q: Printing program listings etc. is dog slow.
A: If you use a2ps (the default), mpage or enscript to print text files, these are converted to PostScript first. For plain text printings you can use recode as the filter (either set ASCII_FILTER=recode or use the "recode" command line option). However, you lose all the spiffy features like borders, headers, multiple pages per sheet and fake duplex mode.

Q: I want to print the source code of some PostScript, HTML, Sketch, ... file, but all I get is the formatted output.
A: You have to tell apsfilter not to automagically convert the file, but rather treat is as normal text; use the "ascii" command line option.

Q: The page margins are not correct. / The printout is shifted in one direction.
A: Although this is not actually an apsfilter problem, here are some hints:

  • a2ps, mpage and enscript have options for the command line and/or in the configuration files that enable you to set the correct page margins; see the appropriate documentation for details
  • ghostscript drivers may have a mechanism to adjust page margins; e.g. the uniprint profiles usually contain a line like
    -dupMargins="{9.0 39.96 9.0 9.0}"
    
    which define the left, bottom, right and top margins in points (1pt = 1/72in); other drivers may have different options, if they support this at all
  • you can use the ghostscript test file align.ps to measure the page drift and margins in points; then create a world-readable file (e.g. @sysconfdir@/apsfilter/QUEUE/margin.ps) that looks similar to this:
    %!
    % Example: Epson Stylus Color 640
    << /.HWMargins [-8.504 9.921 0 0] /Margins [-42.52 -2.835] >> setpagedevice
    
    and set PS_INIT=@sysconfdir@/apsfilter/QUEUE/margin.ps; if you already have a PS_INIT file, just add the correct line to it.

    Note: You may need to use the command

    { echo '%!' ; cat /path/to/align.ps ; } | lpr
    
    to print the test file correctly. Please remember that align.ps resets those values to zero, so you won't see any change if you print it again with a PS_INIT file like the one above.

Q: Why are parts of the page missing on my PostScript printer?
A: Pages in higher resolutions or with complex content need plenty of RAM to be rendered. For some printers the standard amount of memory which is built in just isn't enough. You can either put more RAM into your printer or reduce the rendering resolution (to probably half the amount). Using the special PSgs driver might help as well.

Q: When I print more than one file at a time, the headers for text files are wrong; they still show the name of the first file!
A: This ever-annoying problem only occurs with BSD spoolers which just don't give enough information about a print job to the filter. The solution is to install LPRng, or print just one file at a time, or disable headers completely.

Q: Why is my DVI file messed up? It should be in landscape mode, but the right border is chopped off!
A: The problem is that dvips doesn't know if the file is in landscape mode or not. You have to explicitly use the "landscape" command line option.

8 Links

The first and most important link is of course the Apsfilter Homepage at http://www.apsfilter.org/. This is the definite source of information about apsfilter, most prominently the download section.

To keep up with the latest apsfilter changes, you can use the anonymous CVS server as described on the support page or browse the repository.

8.1 Third party software

Here's an alphabetical list of software packages known to and supported by apsfilter:

a2ps
http://www.inf.enst.fr/~demaille/a2ps/
acroread
http://www.adobe.com/products/acrobat/readermain.html
ar (part of binutils)
http://sourceware.cygnus.com/binutils/
bzip2
http://www.muraroa.demon.co.uk/
cabextract
http://www.kyz.uklinux.net/cabextract.php3
convert (part of ImageMagick)
http://www.imagemagick.org/
cpio
http://www.gnu.org/software/cpio/
dvips (part of teTeX)
http://www.tug.org/teTeX/
enscript
http://www.ngs.fi/mtr/genscript/index.html
Epson printer drivers
http://www.epkowa.co.jp/english/linux_e/pips_e.html ("pips")
http://www.epkowa.co.jp/english/linux_e/lpd_e.html (laser printers)
fig2dev (part of transfig)
http://www.xfig.org/
file
ftp://ftp.astron.com/pub/file/
freeze
ftp://ftp.std.com/src/util/freeze2.5/
ghostscript
http://www.cs.wisc.edu/~ghost/ (homepage)
http://ghostscript.sourceforge.net/ (project page)
http://www.ghostscript.com/ (commercial site)
gimp-print (a.k.a. stp)
http://gimp-print.sourceforge.net/
groff
http://www.gnu.org/software/groff/
gzip
http://www.gnu.org/software/gzip/gzip.html
HP inkjet drivers (official)
http://hpinkjet.sourceforge.net/
hpdj
http://home.t-online.de/home/Martin.Lottermoser/pcl3dist/
html2ps
http://www.tdb.uu.se/~jan/html2ps.html
htmldoc
http://www.easysw.com/htmldoc/
IBM Omni drivers
http://oss.software.ibm.com/developer/opensource/linux/projects/omni/
lha
http://www2m.meshnet.or.jp/~dolphin/lha/lha-unix.htm
lpd (BSD-style)
http://sourceforge.net/projects/lpr/
LPRng
http://www.lprng.com/
lzop
http://wildsau.idv.uni-linz.ac.at/mfx/lzop.html
mktemp
http://www.courtesan.com/mktemp/
mpage
http://www.mesa.nl/pub/mpage/
nconvert (part of XnView)
http://www.xnview.com/
ncprint (part of ncplib)
http://rbp.chat.ru/ncplen.html
netpbm tools (a.k.a. pbmplus)
http://sourceforge.net/projects/netpbm/
nprint (part of ncpfs)
ftp://ftp.platan.vc.cvut.cz/pub/linux/ncpfs/
pap (part of netatalk)
http://www.umich.edu/~rsug/netatalk/
pcdtoppm (part of xpcd)
http://bytesex.org/xpcd.html
pcl3
http://home.t-online.de/home/Martin.Lottermoser/pcl3.html
pdftops (part of xpdf)
http://www.foolabs.com/xpdf/
pnm2ppa
http://sourceforge.net/projects/pnm2ppa/
psutils
http://www.dcs.ed.ac.uk/home/ajcd/psutils/
rar, unrar
http://www.rarsoft.com/
recode
http://www.iro.umontreal.ca/contrib/recode/HTML/
rpm
http://www.rpm.org/
sendmail
http://www.sendmail.org/
sk2ps (part of sketch)
http://sketch.sourceforge.net/
smbclient (part of samba)
http://www.samba.org/
tar
http://www.gnu.org/software/tar/tar.html
tgif
http://bourbon.cs.umd.edu:8001/tgif/
wmf2eps (part of libwmf)
http://www.wvware.com/libwmf.html
unarj
http://testcase.newmail.ru/
unzip
http://www.info-zip.org/UnZip.html

Other driver packages that can be made to work with apsfilter include:

turboprint
http://www.turboprint.de/
xw-tools
http://xwtools.automatix.de/

8.2 Further information

A good overview of printers, drivers and printing systems can be found on http://www.linuxprinting.org/. Don't be misled by the name, most of the information is valid on any UNIX-like system.

The Linux Printing HOWTO at http://www.linuxprinting.org/howto/ is a must read for all Linux administrators (and probably others as well) -- preferably before you try to set up your printer. Users might also profit from the Linux Printing Usage HOWTO at http://www.linuxdoc.org/HOWTO/Printing-Usage-HOWTO.html.

Even if you don't want to use LPRng (which is hard to believe), the LPRng-HOWTO at http://www.lprng.com/LPRng-HOWTO.html is a rich source of everything related to printer daemons, protocols, filters and stuff.

9 Help

9.1 You help us

That's not what you wanted to read, is it? Anyway, we are in a constant need of bug reports, new ideas, suggestions -- but also "real value" support in form of hardware or software donations, job offerings or just pure hard ca$h.

The easiest way to contribute to apsfilter is probably to improve the driver scripts, especially the one(s) for your printer(s). Have a look at @datadir@/apsfilter/driver/README for more information. If your preferred driver does not have a script yet, you'd really help us if you'd try to write and test one -- it isn't too difficult. Maybe the driver is already mapped to some other script (with basically the same settings) via @datadir@/apsfilter/driver/MAPPING, but you can simply create an appropriately named script; this will override the MAPPING entry.

9.2 We help you

The first step to solve any apsfilter problems is to make sure it actually is not some kind of other defect on your system (hardware, spooler software, cables, ...). If you are absolutely sure that your problem is not already covered in the FAQ or in other parts of this documentation, read on.

There's also a mailing-lists archive which you can browse and search. Maybe your problem has already been solved, or even classified as a feature ;)

9.2.1 Reporting bugs

To prepare a bug report, it's absolutely necessary to create a log of the failed printing attempt (unless you have problems that occur before even having a chance to print). You can (and should) use the aps2file tool with the "-D" option. It is a good idea to use the same printer queue and command line options as before when the printing attempt failed. You can pass the options to apsfilter via aps2file by using the "-P" and "-Z" switches.

The log will be created on stderr, so you might want to redirect it to a file by appending 2>log.txt. You can see a detailed trace of what apsfilter tried to do; if that doesn't help you, just save the file for inclusion into the bug report. If you can, please use bash as your shell, since the log will be much more verbose.

Since many bug reports we received were not exactly helpful, we now supply a script that generates a half-automatic bug report which you just have to fill out. Call apsfilter-bug on the command line and your favourite editor should present you the template text.

The first thing you should edit is the From: field; please enter your correct e-mail address there. Do not change the To: field line, unless you positively know better.

Then just read the comments and fill in any information requested there. All lines starting with a # character are comments and will be removed automatically before the bug report is sent.

When you're done, save the text under its original name and exit the editor. Exiting without saving will cause the bug report to be discarded.

We hope that we can help you!

9.2.2 General help

If you need general help with apsfilter (i.e. if it's not even possible to produce a bug report), there are some more mailing-lists available:

There are also two read-only public mailing-lists:

  • <apsfilter-announce@apsfilter.org>: release announcements
  • <apsfilter-cvs@apsfilter.org>: commit messages for CVS repository

The lists are controlled by majordomo; to get more information, send an email to <majordomo@apsfilter.org> with the body help.

To subscribe to a mailing-list, send an email to <majordomo@apsfilter.org> with the body subscribe apsfilter-xyz.

To unsubscribe, send an email to <majordomo@apsfilter.org> with the body unsubscribe apsfilter-xyz.


You have reached the official end of the apsfilter handbook.
It is now safe to switch off your computer. apsfilter-7.2.6.orig/doc/paper0000644000175000017500000000567007376527670016556 0ustar covencoven00000000000000$ApsCVS: src/apsfilter/doc/paper,v 1.4 2001/11/20 19:32:08 andreas Exp $ Paper sizes in points and inches e -------------------------------- n f h please send comments and corrections to s i t d c g m m a v r 2 l p 2 i i d 2 a size (points) size (inches) p p p e g p g paper x y x y s s t v s s e 10x14 720 1008 10 14 x x 11x17 (1) 792 1224 11 17 + + + x x + A0 2380 3368 33.056 46.778 x x x A1 1684 2380 23.389 33.056 x x x A2 1190 1684 16.528 23.389 x x x A3 842 1190 11.694 16.528 x x x x x x x A4 (6) 595 842 8.264 11.694 x x x x x x x A4Small (6) 595 842 8.264 11.694 x + + + + + x A5 421 595 5.847 8.264 x x x x A6 297 421 4.125 5.847 x x A7 210 297 2.917 4.125 x x A8 148 210 2.056 2.917 x x A9 105 148 1.458 2.056 x x A10 74 105 1.028 1.458 x x ArchA 648 864 9 12 x x ArchB 864 1296 12 18 x x ArchC 1296 1728 18 24 x x ArchD 1728 2592 24 36 x x ArchE 2592 3456 36 48 x x B0 2836 4008 39.389 55.667 x x B1 2004 2836 27.833 39.389 x x B2 1418 2004 19.694 27.833 x x B3 1002 1418 13.917 19.694 x x B4 709 1002 9.847 13.917 x x x x B5 501 709 6.958 9.847 x x x x x B6 354 501 4.917 6.958 x x B7 250 354 3.472 4.917 x B8 177 250 2.458 3.472 x B9 125 177 1.736 2.458 x B10 88 125 1.222 1.736 x C0 2600 3677 36.111 51.069 x C1 1837 2600 25.514 36.111 x C2 1298 1837 18.028 25.514 x C3 918 1298 12.75 18.028 x C4 649 918 9.014 12.75 x C5 459 649 6.375 9.014 x C6 323 459 4.486 6.375 x Executive (4) 522 756 7.25 10.5 x + Flsa (3) 612 936 8.5 13 + x x + Flse (3) 612 936 8.5 13 + x x + Folio (3) 612 936 8.5 13 x + + x HalfLetter (2) 396 612 5.5 8.5 x x x x + Ledger 1224 792 17 11 x x x x x x Legal 612 1008 8.5 14 x x x x x x x Letter (5) 612 792 8.5 11 x x x x x x x LetterSmall (5) 612 792 8.5 11 + + + + + + x Note (4) 522 756 7.25 10.5 + x Quarto 610 780 8.472 10.833 x x Statement (2) 396 612 5.5 8.5 x + + + x Tabloid (1) 792 1224 11 17 x x x + + x x = paper description is known to program + = alias of same paper size is known to program (see footnotes) Footnotes: equally sized paper sheets (but implicit margins may differ) (1) Tabloid = 11x17 [ = Ledger Landscape ] (2) HalfLetter = Statement (3) Flsa = Flse = Folio (4) Executive = Note (5) Letter = LetterSmall (6) A4 = A4Small Freely adjustable: acroread: -size ${x_pt}x${y_pt} convert: -page ${x_pt}x${y_pt}> note the ">" (quoting!) gs: -g${x_pt}x${y_pt} htmldoc: --size ${x_pt}x${y_pt}pt pdftops: -paperw ${x_pt} -paperh ${y_pt} pnmtops: -width ${x_in} -height ${y_in} tiff2ps: -w ${x_in} -h ${y_in} Notes: * pdf2ps is (more or less) equivalent to gs * ras2ps, sk2ps, groff, tgif are not handled yet apsfilter-7.2.6.orig/driver/0000755000175000017500000000000010203621210016202 5ustar covencoven00000000000000apsfilter-7.2.6.orig/driver/ijs/0000755000175000017500000000000010203621207016775 5ustar covencoven00000000000000apsfilter-7.2.6.orig/driver/ijs/APOLLO_P-220000644000175000017500000000175307563236702020435 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/APOLLO_P-22,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ RESOLUTION=300x300 PRINTER="$(echo $PRINTER | sed 's/_/ /g')" case "$COLOR" in full) case "$QUALITY" in draft) params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1" ;; low) params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; medium) params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1" ;; high) params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; photo) params="Quality:Quality=2,Quality:ColorMode=2,Quality:MediaType=1,Quality:PenSet=4" ;; esac ;; *) case "$QUALITY" in draft|low) params="Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; *) params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; esac ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=APOLLO" apsfilter-7.2.6.orig/driver/ijs/Apollo-2500-26000000644000175000017500000000204707563236702021143 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/Apollo-2500-2600,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ # we have to restore the correct model specification for gs here PRINTER="ijs/APOLLO P2500/2600" RESOLUTION=300x300 case "$COLOR" in full) case "$QUALITY" in draft) params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1" ;; low) params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; medium) params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1" ;; high) params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; photo) params="Quality:Quality=2,Quality:ColorMode=2,Quality:MediaType=1,Quality:PenSet=4" ;; esac ;; *) case "$QUALITY" in draft|low) params="Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; *) params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; esac ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=APOLLO" apsfilter-7.2.6.orig/driver/ijs/DESKJET_3500000644000175000017500000000132407563236702020421 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/DESKJET_350,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ RESOLUTION=300x300 PRINTER="$(echo $PRINTER | sed 's/_/ /g')" case "$COLOR" in full) case "$QUALITY" in draft|low) params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1" ;; *) params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1" ;; esac ;; *) case "$QUALITY" in draft|low) params="Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=0" ;; *) params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=0" ;; esac ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/ijs/DESKJET_6000000644000175000017500000000132407563236702020417 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/DESKJET_600,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ RESOLUTION=300x300 PRINTER="$(echo $PRINTER | sed 's/_/ /g')" case "$COLOR" in full) case "$QUALITY" in draft|low) params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; *) params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; esac ;; *) case "$QUALITY" in draft|low) params="Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; *) params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; esac ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/ijs/DESKJET_6100000644000175000017500000000146707563236702020430 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/DESKJET_610,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ RESOLUTION=300x300 PRINTER="$(echo $PRINTER | sed 's/_/ /g')" case "$COLOR" in full) case "$QUALITY" in draft|low) params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; medium) params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; *) params="Quality:Quality=2,Quality:ColorMode=2,Quality:MediaType=1,Quality:PenSet=4" ;; esac ;; *) case "$QUALITY" in draft|low) params="Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; *) params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; esac ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/ijs/DESKJET_6300000644000175000017500000000176407563236702020432 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/DESKJET_630,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ RESOLUTION=300x300 PRINTER="$(echo $PRINTER | sed 's/_/ /g')" case "$COLOR" in full) case "$QUALITY" in draft) params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1" ;; low) params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; medium) params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1" ;; high) params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; photo) params="Quality:Quality=2,Quality:ColorMode=2,Quality:MediaType=1,Quality:PenSet=4" ;; esac ;; *) case "$QUALITY" in draft|low) params="Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=0" ;; *) params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=0" ;; esac ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/ijs/DESKJET_8100000644000175000017500000000222007563236702020416 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/DESKJET_810,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ PRINTER="$(echo $PRINTER | sed 's/_/ /g')" case "$COLOR" in full) case "$QUALITY" in draft|low) RESOLUTION=300x300 params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; medium) RESOLUTION=300x300 params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; high) RESOLUTION=300x300 params="Quality:Quality=2,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenSet=2" ;; *) RESOLUTION=600x600 params="Quality:Quality=2,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenSet=2" ;; esac ;; *) case "$QUALITY" in draft|low) RESOLUTION=300x300 params="Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; medium) RESOLUTION=300x300 params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; *) RESOLUTION=600x600 params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; esac ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/ijs/DESKJET_8250000644000175000017500000000237707563236702020441 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/DESKJET_825,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ PRINTER="$(echo $PRINTER | sed 's/_/ /g')" case "$COLOR" in full) case "$QUALITY" in draft) RESOLUTION=300x300 params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1" ;; low) RESOLUTION=300x300 params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; medium) RESOLUTION=300x300 params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1" ;; high) RESOLUTION=600x600 params="Quality:Quality=2,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenSet=1" ;; photo) RESOLUTION=600x600 params="Quality:Quality=2,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenSet=2" ;; esac ;; *) case "$QUALITY" in draft|low) RESOLUTION=300x300 params="Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=1" ;; medium) RESOLUTION=300x300 params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=1" ;; *) RESOLUTION=600x600 params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=1" ;; esac ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/ijs/DESKJET_9200000644000175000017500000000254507563236702020432 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/DESKJET_920,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ PRINTER="$(echo $PRINTER | sed 's/_/ /g')" case "$COLOR" in full) case "$QUALITY" in draft|low) RESOLUTION=300x300 params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; medium) RESOLUTION=300x300 params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; high) RESOLUTION=300x300 params="Quality:Quality=2,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenSet=2" ;; *) RESOLUTION=600x600 params="Quality:Quality=2,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenSet=2" ;; esac ;; *) case "$QUALITY" in draft|low) RESOLUTION=300x300 params="Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; medium) RESOLUTION=300x300 params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; *) RESOLUTION=600x600 params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; esac ;; esac if [ -n "$HARDWARE_DUPLEX" -a -n "$DUPLEX" ]; then if [ "$BINDING" = short ]; then GS_FEATURES="$GS_FEATURES -dDuplex=true -dTumble=true" else GS_FEATURES="$GS_FEATURES -dDuplex=true -dTumble=false" fi fi GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/ijs/DESKJET_9600000644000175000017500000000255307563236702020435 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/DESKJET_960,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ PRINTER="$(echo $PRINTER | sed 's/_/ /g')" case "$COLOR" in full) case "$QUALITY" in draft|low) RESOLUTION=300x300 params="Quality:Quality=1,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; medium) RESOLUTION=300x300 params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; high) RESOLUTION=600x600 params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=2" ;; photo) RESOLUTION=1200x1200 params="Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenSet=2" ;; esac ;; *) case "$QUALITY" in draft|low) RESOLUTION=300x300 params="Quality:Quality=1,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; medium) RESOLUTION=300x300 params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; *) RESOLUTION=600x600 params="Quality:Quality=0,Quality:ColorMode=0,Quality:MediaType=0,Quality:PenSet=2" ;; esac ;; esac if [ -n "$HARDWARE_DUPLEX" -a -n "$DUPLEX" ]; then if [ "$BINDING" = short ]; then GS_FEATURES="$GS_FEATURES -dDuplex=true -dTumble=true" else GS_FEATURES="$GS_FEATURES -dDuplex=true -dTumble=false" fi fi GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/ijs/PHOTOSMART_1000000644000175000017500000000117107563236702021021 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ijs/PHOTOSMART_100,v 1.1.2.5 2002/11/09 16:54:26 andreas Exp $ PRINTER="$(echo $PRINTER | sed 's/_/ /g')" case "$QUALITY" in photo) RESOLUTION=1200x1200 params="Quality:Quality=3,Quality:ColorMode=2,Quality:MediaType=2,Quality:PenSet=1,FullBleed=1" ;; high) RESOLUTION=600x600 params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1,FullBleed=1" ;; *) RESOLUTION=300x300 params="Quality:Quality=0,Quality:ColorMode=2,Quality:MediaType=0,Quality:PenSet=1,FullBleed=1" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/MAPPING0000644000175000017500000003452107563236701017253 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/MAPPING,v 1.4.2.11 2002/11/09 16:54:25 andreas Exp $ # # driver mapping file for apsfilter; note the trailing colon ! # # Format: driver_script:list_of_printer:that:also:run:with:that:driver: # alc2000:alc8500:epl2050:epl2050p:epl5800: ap3250:bj10e:bj200:sj48: cdeskjet:cdj1600:cdj500:cdj550:cdj850:cdj880:cdj890:chp2200:dnj650c:pjxl300:escp:escpc: cljet5:cljet5pr: deskjet:djet500:fs600:laserjet:ljet2p:ljet3:ljet3d:ljetplus:lp2563:oce9050: gimp/bjc-1000:gimp/bjc-240:gimp/bjc-250: gimp/bjc-3000:gimp/bjc-4300:gimp/bjc-6000:gimp/bjc-6100:gimp/bjc-6200:gimp/bjc-6500:gimp/bjc-s400:gimp/bjc-s450:gimp/bjc-s4500: gimp/bjc-4400:gimp/bjc-50:gimp/bjc-55:gimp/bjc-80:gimp/bjc-85: gimp/bjc-7000:gimp/bjc-7100: gimp/bjc-8200:gimp/bjc-s800: gimp/escp2-10000:gimp/escp2-5000:gimp/escp2-5500:gimp/escp2-7000:gimp/escp2-7500:gimp/escp2-9000:gimp/escp2-9500: gimp/escp2-1160:gimp/escp2-580:gimp/escp2-740:gimp/escp2-760:gimp/escp2-860:gimp/escp2-scan2000:gimp/escp2-scan2500: gimp/escp2-1200:gimp/escp2-1270:gimp/escp2-2000:gimp/escp2-750:gimp/escp2-870:gimp/escp2-875: gimp/escp2-1280:gimp/escp2-1290:gimp/escp2-780:gimp/escp2-785:gimp/escp2-790:gimp/escp2-810:gimp/escp2-820:gimp/escp2-890:gimp/escp2-895: gimp/escp2-1520:gimp/escp2-3000:gimp/escp2-800:gimp/escp2-850: gimp/escp2-400:gimp/escp2-500: gimp/escp2-440:gimp/escp2-460: gimp/escp2-480:gimp/escp2-c20sx:gimp/escp2-c20ux:gimp/escp2-c40sx:gimp/escp2-c40ux: gimp/escp2-600:gimp/escp2-640: gimp/escp2-680:gimp/escp2-777:gimp/escp2-83:gimp/escp2-880:gimp/escp2-c60: gimp/escp2-700:gimp/escp2-ex: gimp/escp2-900:gimp/escp2-980: gimp/escp2-c70:gimp/escp2-c80: gimp/escp2-pro:gimp/escp2-pro-xl: gimp/lexmark-z52:gimp/lexmark-z42:gimp/lexmark-z43: gimp/pcl-1100:gimp/pcl-1120:gimp/pcl-850:gimp/pcl-855:gimp/pcl-870:gimp/pcl-890: gimp/pcl-1200:gimp/pcl-1600:gimp/pcl-340:gimp/pcl-400:gimp/pcl-501:gimp/pcl-540:gimp/pcl-550:gimp/pcl-560: gimp/pcl-1220:gimp/pcl-2000:gimp/pcl-2500:gimp/pcl-900:gimp/pcl-P1000:gimp/pcl-P1100: gimp/pcl-2:gimp/pcl-3:gimp/pcl-4l: gimp/pcl-4:gimp/pcl-4v:gimp/pcl-5:gimp/pcl-5si:gimp/pcl-6: gimp/pcl-500:gimp/pcl-520: gimp/pcl-600:gimp/pcl-601: gimp/pcl-810:gimp/pcl-812:gimp/pcl-840:gimp/pcl-842:gimp/pcl-845:gimp/pcl-895: hpdj/500C:hpdj/540: hpdj/500:hpdj/510:hpdj/520: hpdj/550C:hpdj/560C: hpdj/850C:hpdj/855C: hpijs/AP21xx:hpijs/DJ630: hpijs/DJ350:hpijs/DJ6xx: ijs/APOLLO_P-22:ijs/DESKJET_656:ijs/P-2000U: ijs/DESKJET_600:ijs/DESKJET_660:ijs/DESKJET_670:ijs/DESKJET_672:ijs/DESKJET_680:ijs/DESKJET_682:ijs/e-printer_e20: ijs/DESKJET_610:ijs/DESKJET_612:ijs/DESKJET_640:ijs/DESKJET_648:ijs/DESKJET_690:ijs/DESKJET_692:ijs/DESKJET_693:ijs/DESKJET_694:ijs/DESKJET_695:ijs/DESKJET_697: ijs/DESKJET_630:ijs/DESKJET_632: ijs/DESKJET_810:ijs/DESKJET_812:ijs/DESKJET_815:ijs/DESKJET_816:ijs/DESKJET_830:ijs/DESKJET_832:ijs/DESKJET_840:ijs/DESKJET_842:ijs/DESKJET_880:ijs/DESKJET_882C:ijs/DESKJET_895:ijs/DESKJET_1125: ijs/DESKJET_825:ijs/DESKJET_845: ijs/DESKJET_920:ijs/DESKJET_930:ijs/DESKJET_932:ijs/DESKJET_940:ijs/DESKJET_948:ijs/DESKJET_950:ijs/DESKJET_952:ijs/DESKJET_970:ijs/DESKJET_1220:ijs/PHOTOSMART_P1000:ijs/PHOTOSMART_P1100: ijs/DESKJET_960:ijs/DESKJET_980:ijs/DESKJET_990:ijs/DESKJET_995:ijs/cp1160:ijs/cp1700:ijs/PHOTOSMART_1115:ijs/PHOTOSMART_1215:ijs/PHOTOSMART_1218:ijs/PHOTOSMART_1315:ijs/HP_BUSINESS_INKJET_2200:ijs/HP_BUSINESS_INKJET_2230:ijs/HP_BUSINESS_INKJET_2250:ijs/HP_BUSINESS_INKJET_2280: lex3200:lex5700:lex7000: lj250:paintjet:pjetxl:pj:pjxl:declj250: ljet4:ljet4d:lj4dith:lj5mono:lj5gray: md2k:md5k: omni/Brother_HJ_100i:omni/Brother_M_1324:omni/Brother_M_1824L:omni/Brother_M_1924L:omni/Epson_24_pin_80_Col:omni/Epson_LQ_1050__N9_:omni/Epson_LQ_300:omni/Epson_LQ_400:omni/Epson_LQ_500:omni/Epson_LQ_850___360_dpi_:omni/Epson_LQ_850__N9_:omni/Epson_LQ_950__N9_: omni/Brother_HL_4V:omni/Brother_HL_6:omni/Brother_HL_6V:omni/Brother_HL_10h:omni/Brother_HL_10V:omni/Brother_HL_630_631:omni/Brother_HL_641_645_655M:omni/Brother_HL_730_730DX:omni/Brother_MFC_4000_4500_5500:omni/Brother_MFC_6550MC_7550MC:omni/Epson_ActionLaser_II_EPL_4000:omni/Epson_ActionLaser_1000_EPL_5000:omni/Epson_ActionLaser_1100:omni/Epson_ActionLaser_1500_EPL_5200:omni/Epson_EPL_7000_7100:omni/Epson_EPL_8000_8100:omni/Kyocera_F_800A_F_800:omni/Kyocera_F_820:omni/Kyocera_F_1000A_F_1000:omni/Kyocera_F_1200S:omni/Kyocera_F_1800A_F_1800:omni/Kyocera_F_2000A_F_2200S:omni/Kyocera_F_3000A_F_3300:omni/Kyocera_FS_400A_FS_400:omni/Kyocera_FS_850A_FS_850:omni/Kyocera_FS_1500A_FS_1500:omni/Kyocera_FS_1550A_FS_1550:omni/Kyocera_FS_1550_:omni/Kyocera_FS_3400A_FS_3400:omni/Kyocera_FS_3400_:omni/Kyocera_FS_3500A_FS_3500:omni/Kyocera_FS_3600_: omni/Brother_HL_660:omni/Brother_HL_665:omni/Brother_HL_960:omni/Brother_HL_1260:omni/Brother_HL_2060:omni/Epson_ActionLaser_1400:omni/Epson_ActionLaser_1600_EPL_5600:omni/Kyocera_FS_600:omni/Kyocera_FS_800:omni/Kyocera_FS_1600A_FS_1600:omni/Kyocera_FS_1600_:omni/Kyocera_FS_1700:omni/Kyocera_FS_1700_:omni/Kyocera_FS_3600A_FS_3600:omni/Kyocera_FS_3700:omni/Kyocera_FS_3700_: omni/Brother_HL_1240:omni/Brother_HL_1250:omni/Brother_HL_1270:omni/Brother_HL_1270N:omni/Epson_EPL_N1200:omni/Kyocera_FS_680:omni/Kyocera_FS_1000:omni/Kyocera_FS_1000_:omni/Kyocera_FS_1200: omni/Brother_HL_P2000:omni/Brother_MFC_P2000: omni/Brother_M_1309:omni/Brother_M_1809:omni/Epson_9_pin_80_Col:omni/Epson_AP_2250:omni/Epson_LX_100:omni/Epson_LX_300:omni/Epson_LX_400:omni/Epson_LX_800:omni/Epson_LX_810:omni/Okidata_ML_184_Turbo:omni/Okidata_ML_192:omni/Okidata_ML_193:omni/Okidata_ML_320:omni/Okidata_ML_320_Turbo:omni/Okidata_ML_321:omni/Okidata_ML_321_Turbo:omni/Okidata_ML_520:omni/Star_LC_20:omni/Star_NX_1001: omni/Brother_M_1809_Color:omni/Brother_M_4309:omni/Epson_JX_80:omni/Epson_LX_300_Color:omni/Star_LC_100_Colour:omni/Star_NX_1040R:omni/Star_XR_1020:omni/Star_ZA_200_Multi_Font: omni/Brother_M_1824L_Color:omni/Brother_M_1924L_Color:omni/Epson_LQ_300_Color:omni/Okidata_ML_393C:omni/Okidata_ML_395C:omni/Okidata_ML_590:omni/Okidata_ML_591: omni/Brother_M_1909_Color:omni/Star_XR_1520:omni/Star_ZA_250_Multi_Font: omni/Brother_M_1909:omni/Epson_9_pin_136_Col:omni/Epson_DFX_5000:omni/Okidata_ML_3410:omni/Okidata_ML_521:omni/Star_LC_15_Multi_Font:omni/Star_NX_1500: omni/Canon_BJ_100:omni/Canon_BJ_200:omni/Canon_BJ_200e:omni/Canon_BJ_220JCII:omni/Canon_BJ_220JSII: omni/Canon_BJ_30:omni/Canon_BJ_30v: omni/Canon_BJC_210:omni/Canon_BJC_210J:omni/Canon_BJC_240:omni/Canon_BJC_240J:omni/Canon_BJC_35v:omni/Canon_BJC_35vII:omni/Canon_BJC_4000:omni/Canon_BJC_400J:omni/Canon_BJC_50:omni/Canon_BJC_70: omni/Canon_BJC_250J:omni/Canon_BJ_F100: omni/Canon_BJC_4100:omni/Canon_BJC_410J:omni/Canon_BJC_4200:omni/Canon_BJC_420J: omni/Canon_BJC_4200_Photo:omni/Canon_BJC_4300:omni/Canon_BJC_4304_Photo:omni/Canon_BJC_430J:omni/Canon_BJC_430JD_Lite:omni/Canon_BJC_430J_Lite:omni/Canon_BJC_4400:omni/Canon_BJC_440J:omni/Canon_BJC_50v:omni/Canon_BJC_80v:omni/Canon_BJ_F200: omni/Canon_BJC_4550:omni/Canon_BJC_455J:omni/Canon_BJC_465J: omni/Canon_BJC_5500:omni/Canon_BJC_5500J: omni/Canon_BJC_600:omni/Canon_BJC_600J: omni/Canon_BJC_610:omni/Canon_BJC_610JW:omni/Canon_BJC_620JW: omni/Canon_BJC_7000:omni/Canon_BJC_7004_Photo:omni/Canon_BJC_700J:omni/Canon_BJC_7100:omni/Canon_BJC_8000:omni/Canon_BJ_F800: omni/Canon_BJC_820:omni/Canon_BJC_820J: omni/Epson_AP_3250:omni/Epson_Generic_48_pin:omni/Epson_LQ_1010:omni/Epson_LQ_1050:omni/Epson_LQ_1050___360_dpi_:omni/Epson_LQ_510:omni/Epson_LQ_550:omni/Epson_LQ_850:omni/Epson_SQ_850:omni/KS_KS_Generic_48_pin:omni/Star_LC_24_15_Multi_Font:omni/Star_LC_24_20_Multi_Font:omni/Star_NX_2415:omni/Star_NX_2430:omni/Star_Starjet_SJ_48: omni/Epson_AP_3260:omni/Epson_LQ_1060:omni/Epson_LQ_150:omni/Epson_LQ_860:omni/Star_LC_24_200_Colour:omni/Star_NX_2420R:omni/Star_Starjet_SJ_144:omni/Star_XB_2420:omni/Star_XB_24_200_Multi_Font:omni/Star_XB_2425:omni/Star_XB_24_250_Multi_Font: omni/Epson_AP_5000:omni/Epson_Generic_ESC2P:omni/Epson_LQ_100:omni/Epson_LQ_1170:omni/Epson_LQ_2070:omni/Epson_LQ_2170:omni/Epson_LQ_570:omni/Epson_LQ_570_:omni/Epson_LQ_670:omni/Epson_LQ_870:omni/Epson_Stylus_400:omni/Okidata_ML_390:omni/Okidata_ML_390_Turbo:omni/Okidata_ML_391:omni/Okidata_ML_391_Turbo: omni/Epson_AP_5500:omni/Epson_LQ_1070:omni/Epson_LQ_1070_:omni/Epson_SQ_2500:omni/Epson_Stylus_1000:omni/Okidata_ML_393:omni/Okidata_ML_395B:omni/Panasonic_KX_P3624: omni/Epson_AP_800:omni/Epson_LQ_2550: omni/Epson_DFX_8000:omni/Epson_FX_1000:omni/Epson_FX_1170:omni/Epson_FX_286e: omni/Epson_DLQ_2000__360_dpi_:omni/Epson_SQ_2550:omni/Epson_TLQ_4800:omni/Epson_TSQ_4800:omni/Okidata_ML_380: omni/Epson_EPL_5700:omni/Epson_EPL_N1600: omni/Epson_FX_1050:omni/Epson_FX_850:omni/Epson_FX_870:omni/Epson_LX_850:omni/Okidata_ML_4410: omni/Epson_FX_1180:omni/Epson_FX_2170:omni/Epson_FX_2180: omni/Epson_FX_880:omni/Epson_FX_980: omni/Epson_LQ_2080:omni/Epson_LQ_2180: omni/Epson_MJ_3000C:omni/Epson_MJ_5100C: omni/Epson_MJ_3000CU:omni/Epson_MJ_5000C:omni/Epson_Stylus_Color_1520:omni/Epson_Stylus_Color_3000:omni/Epson_Stylus_Pro_XL:omni/Epson_Stylus_Pro_XL_: omni/Epson_MJ_500C:omni/Epson_MJ_510C:omni/Epson_Stylus_200:omni/Epson_Stylus_820:omni/Epson_Stylus_Color_IIs: omni/Epson_MJ_700V2C:omni/Epson_MJ_900C:omni/Epson_Stylus_500:omni/Epson_Stylus_Color:omni/Epson_Stylus_Pro: omni/Epson_MJ_800C:omni/Epson_Stylus_1500:omni/Epson_Stylus_Color_600:omni/Epson_Stylus_Color_600Q:omni/Epson_Stylus_Color_640:omni/Epson_Stylus_Color_800:omni/Epson_Stylus_Color_900:omni/Epson_Stylus_Color_II: omni/Epson_Stylus_Color_400:omni/Epson_Stylus_Color_440: omni/Epson_Stylus_Color_660:omni/Epson_Stylus_Color_740:omni/Epson_Stylus_Color_760:omni/Epson_Stylus_Color_860: omni/Epson_Stylus_Photo_790:omni/Epson_Stylus_Photo_890:omni/Epson_Stylus_Photo_895: omni/Epson_Stylus_Photo_870:omni/Epson_Stylus_Photo_875DC:omni/Epson_Stylus_Photo_785EPX:omni/Epson_Stylus_Photo_810: omni/HP_Color_LaserJet:omni/HP_Color_LaserJet_5_5M: omni/HP_Color_LaserJet_4500:omni/HP_Color_LaserJet_4550: omni/HP_LaserJet_Classic:omni/HP_LaserJet_Plus:omni/HP_LaserJet_500_Plus:omni/HP_LaserJet_2000:omni/HP_LaserJet_Series_II:omni/HP_LaserJet_IID:omni/HP_LaserJet_IIP:omni/HP_LaserJet_IIP_Plus: omni/HP_LaserJet_1100:omni/HP_LaserJet_4L:omni/HP_LaserJet_4ML:omni/HP_LaserJet_6L_6L_Gold:omni/HP_LaserJet_III:omni/HP_LaserJet_IIID:omni/HP_LaserJet_IIIP:omni/HP_LaserJet_IIISi: omni/HP_LaserJet_1200:omni/HP_LaserJet_2200:omni/HP_LaserJet_4000_4000N:omni/HP_LaserJet_4000T_TN:omni/HP_LaserJet_4050:omni/HP_LaserJet_4100: omni/HP_LaserJet_2100:omni/HP_LaserJet_3200:omni/HP_LaserJet_4PJ:omni/HP_LaserJet_4P_4MP:omni/HP_LaserJet_4Si_4Si_Mx:omni/HP_LaserJet_4_4M:omni/HP_LaserJet_4_Plus_4M_Plus:omni/HP_LaserJet_5L:omni/HP_LaserJet_5P_5MP:omni/HP_LaserJet_5_5M:omni/HP_LaserJet_6P_6MP:omni/HP_LaserJet_4LJ_Pro: omni/HP_LaserJet_4V_4MV:omni/HP_LaserJet_5Si_5Si_Mx_5Si_Mopier: omni/HP_LaserJet_8000:omni/HP_LaserJet_8100:omni/HP_LaserJet_8150: omni/HP_Mopier_240:omni/HP_Mopier_320: omni/IBM_5183_Portable_Printer:omni/KS_24_pin_80_Col:omni/KS_BJ_230:omni/KS_DaeWoo_DP_3630H:omni/KS_DaeWoo_DP_7200H:omni/KS_DaeWoo_DP_7400C:omni/KS_Gold_Star_GLP_1450:omni/KS_Gold_Star_GLP_2050:omni/KS_Gold_Star_GLP_5750:omni/KS_HanSum_BJ_330H:omni/KS_HanSum_HS_650C:omni/KS_HDMF_NONE_FF:omni/KS_Jepcom_JP_B330:omni/KS_LG_GIP_3000Q_3000_:omni/KS_Qnix_PICASSOI:omni/KS_Qnix_PICASSOII:omni/KS_Qnix_QBJ_3630E:omni/KS_SAMBO_PageJet_P1:omni/KS_SAMBO_PageJet_P2:omni/KS_SAMBO_Stylus_1000H_:omni/KS_SAMBO_Stylus_800H_:omni/KS_SAMSUNG_MJ_630V:omni/KS_SAMSUNG_SLB_3106G:omni/KS_SAMSUNG_SP_2417HW:omni/KS_SAMSUNG_SP_2421HW:omni/KS_SAMSUNG_SP_2433HW:omni/KS_SAMSUNG_SP_4017:omni/KS_SAMSUNG_SP_4021:omni/KS_SINDO_ExecJet_4072:omni/KS_SINDO_ExecJet_4076:omni/KS_VP_6570K:omni/Panasonic_KX_P1123:omni/Panasonic_KX_P1124i:omni/Panasonic_KX_P1180:omni/Panasonic_KX_P1191:omni/Panasonic_KX_P2023:omni/Panasonic_KX_P2123:omni/Panasonic_KX_P2124:omni/Panasonic_KX_P2130:omni/Panasonic_KX_P2135:omni/Panasonic_KX_P2180:omni/Panasonic_KX_P2624:omni/Panasonic_KX_P3123:omni/Panasonic_KX_P3124: omni/KS_9_pin_136_Col:omni/Panasonic_KX_P1624:omni/Panasonic_KX_P1654:omni/Panasonic_KX_P1695: omni/KS_9_pin_80_Col:omni/Panasonic_KX_P1150: omni/Kyocera_FS_1750:omni/Kyocera_FS_1800_FS_1800N:omni/Kyocera_FS_3750:omni/Kyocera_FS_3800_FS_3800N: omni/Kyocera_FS_5500A_FS_5500:omni/Kyocera_LS_6550:omni/Kyocera_F_5000A_F_5000:omni/Kyocera_FS_6500_6500_: omni/Kyocera_FS_5800C:omni/Kyocera_FS_5900C: omni/Kyocera_FS_6300:omni/Kyocera_FS_6900: omni/Kyocera_FS_7000:omni/Kyocera_FS_7000_:omni/Kyocera_FS_9000: omni/Okidata_OL400e:omni/Okidata_OL400ex:omni/Okidata_OL410e:omni/Okidata_OL410ex: omni/Okidata_OL1200:omni/Okidata_OL810e:omni/Okidata_OL810ex:omni/OkiPage_6e_6ex: omni/OkiPos_425D:omni/OkiPos_425S: pcl3/hpdj1120c:pcl3/hpdj660c:pcl3/hpdj670c:pcl3/hpdj850c:pcl3/hpdj855c:pcl3/hpdj870c:pcl3/hpdj890c: pcl3/hpdj310:pcl3/hpdj320:pcl3/hpdj340:pcl3/hpdj400:pcl3/hpdj500c:pcl3/hpdj540: pcl3/hpdj550c:pcl3/hpdj560c: pcl3/hpdj680c:pcl3/hpdj690c: pcl3/hpdj:pcl3/hpdj500:pcl3/hpdj510:pcl3/hpdj520:pcl3/hpdjplus:pcl3/hpdjportable: ppa/1000:ppa/710:ppa/712:ppa/720:ppa/722:ppa/820: stp/bjc-1000:stp/bjc-240:stp/bjc-250: stp/bjc-3000:stp/bjc-4300:stp/bjc-6000:stp/bjc-6100:stp/bjc-6200:stp/bjc-6500:stp/bjc-s400:stp/bjc-s450:stp/bjc-s4500: stp/bjc-4400:stp/bjc-50:stp/bjc-55:stp/bjc-80:stp/bjc-85: stp/bjc-7000:stp/bjc-7100: stp/bjc-8200:stp/bjc-s800: stp/escp2-10000:stp/escp2-5000:stp/escp2-5500:stp/escp2-7000:stp/escp2-7500:stp/escp2-9000:stp/escp2-9500: stp/escp2-1160:stp/escp2-580:stp/escp2-740:stp/escp2-760:stp/escp2-860:stp/escp2-scan2000:stp/escp2-scan2500: stp/escp2-1200:stp/escp2-1270:stp/escp2-2000:stp/escp2-750:stp/escp2-870:stp/escp2-875: stp/escp2-1280:stp/escp2-1290:stp/escp2-780:stp/escp2-785:stp/escp2-790:stp/escp2-810:stp/escp2-820:stp/escp2-890:stp/escp2-895: stp/escp2-1520:stp/escp2-3000:stp/escp2-800:stp/escp2-850: stp/escp2-400:stp/escp2-500: stp/escp2-440:stp/escp2-460: stp/escp2-480:stp/escp2-c20sx:stp/escp2-c20ux:stp/escp2-c40sx:stp/escp2-c40ux: stp/escp2-600:stp/escp2-640: stp/escp2-680:stp/escp2-777:stp/escp2-83:stp/escp2-880:stp/escp2-c60: stp/escp2-700:stp/escp2-ex: stp/escp2-900:stp/escp2-980: stp/escp2-c70:stp/escp2-c80: stp/escp2-pro:stp/escp2-pro-xl: stp/lexmark-4076:stp/pcl-500:stp/pcl-520: stp/lexmark-z52:stp/lexmark-z42:stp/lexmark-z43: stp/pcl-1100:stp/pcl-1120:stp/pcl-850:stp/pcl-855:stp/pcl-870:stp/pcl-890: stp/pcl-1200:stp/pcl-1600:stp/pcl-340:stp/pcl-400:stp/pcl-501:stp/pcl-540:stp/pcl-550:stp/pcl-560: stp/pcl-1220:stp/pcl-2000:stp/pcl-2500:stp/pcl-900:stp/pcl-P1000:stp/pcl-P1100: stp/pcl-2:stp/pcl-3:stp/pcl-4l: stp/pcl-4:stp/pcl-4v:stp/pcl-5:stp/pcl-5si:stp/pcl-6: stp/pcl-600:stp/pcl-601: stp/pcl-810:stp/pcl-812:stp/pcl-840:stp/pcl-842:stp/pcl-845:stp/pcl-895: apsfilter-7.2.6.orig/driver/PS0000644000175000017500000000021607375500222016465 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/PS,v 1.1 2001/11/17 15:21:54 andreas Exp $ # we don't need option handling here, since we bypass ghostscript apsfilter-7.2.6.orig/driver/PSgs0000644000175000017500000000026007375500222017016 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/PSgs,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$COLOR" in full) PRINTER=pswrite ;; gray) PRINTER=psgray ;; mono) PRINTER=psmono ;; esac apsfilter-7.2.6.orig/driver/README0000644000175000017500000000311207375500222017076 0ustar covencoven00000000000000$ApsCVS: src/apsfilter/driver/README,v 1.1 2001/11/17 15:21:54 andreas Exp $ IMPORTANT NOTE This directory (and its subdirectories) contains only unique driver scripts; if your particular driver/printer doesn't have a file attached to its name, see the file MAPPING if it's handled like some other printer. E.g. the line lj250:paintjet:pjetxl: means that the "paintjet" and "pjetxl" drivers have essentially the same options as "lj250" and are handled in the same way. An existing file has always greater priority than an entry in the MAPPING file. DRIVER SCRIPT WRITING In every printer driver script, check the following variables for the given values: QUALITY draft low medium high photo SWEEP uni bi MEDIA plain coated glossy premium trans COLOR full gray mono PAPERSIZE a3 a4 legal letter ledger tabloid HARDWARE_COPIES COPIES HARDWARE_DUPLEX DUPLEX BINDING short long Then adjust the following variables to contain proper options: GS_FEATURES RESOLUTION POST_FILTER POST_FILTER_OPTS Have a look at the script for a similar driver/printer if you don't really know what you're supposed to do. Uniprint drivers are most likely _not_ available for this dynamic option setting, since there are too many hard-coded values in the *.upp profiles. apsfilter-7.2.6.orig/driver/alc20000000644000175000017500000000136407375500222017211 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/alc2000,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -dTonerSaving" ;; low) RESOLUTION=300x300 ;; medium) RESOLUTION=600x600 ;; *) RESOLUTION=1200x1200 ;; esac # this is a bit of a kludge case "$PAPERTRAY" in "") ;; 0) GS_FEATURES="$GS_FEATURES -dManualFeed" ;; *) GS_FEATURES="$GS_FEATURES -dCasset=$PAPERTRAY" ;; esac [ "$MEDIA" = trans ] && GS_FEATURES="$GS_FEATURES -sMediaType=TRANS" [ "$HARDWARE_COPIES" ] && GS_FEATURES="$GS_FEATURES -dNumCopies=$COPIES" if [ -n "$HARDWARE_DUPLEX" -a -n "$DUPLEX" ]; then if [ "$BINDING" = short ]; then GS_FEATURES="$GS_FEATURES -dDuplex -dTumble" else GS_FEATURES="$GS_FEATURES -dDuplex" fi fi apsfilter-7.2.6.orig/driver/ap32500000644000175000017500000000031507375500222017055 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ap3250,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 ;; medium) RESOLUTION=360x180 ;; high|photo) RESOLUTION=360x360 ;; esac apsfilter-7.2.6.orig/driver/bitcmyk0000644000175000017500000000023207375500222017603 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/bitcmyk,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$COLOR" in mono) GS_FEATURES="$GS_FEATURES -dForceMono=1" ;; esac apsfilter-7.2.6.orig/driver/bjc40000000644000175000017500000000154207417130331017205 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/bjc4000,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ PRINTER=bjc600 case "$QUALITY" in draft) RESOLUTION=90x90 GS_FEATURES="$GS_FEATURES -sPrintQuality=Draft" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sPrintQuality=Draft" ;; medium) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sPrintQuality=Normal" ;; *) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sPrintQuality=High" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=32 -dColors=4" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8 -dColors=1" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1 -dColors=1" ;; esac case "$MEDIA" in trans) GS_FEATURES="$GS_FEATURES -sMediaType=TransparencyFilm" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=PlainPaper" ;; *) GS_FEATURES="$GS_FEATURES -sMediaType=CoatedPaper" ;; esac apsfilter-7.2.6.orig/driver/bjc500000644000175000017500000000162007417130331017043 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/bjc50,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ # various printers handled by the bjc600 driver PRINTER=bjc600 case "$QUALITY" in draft) RESOLUTION=90x90 GS_FEATURES="$GS_FEATURES -sPrintQuality=Draft" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sPrintQuality=Draft" ;; medium) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sPrintQuality=Normal" ;; *) RESOLUTION=720x360 GS_FEATURES="$GS_FEATURES -sPrintQuality=High" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=32 -dColors=4" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8 -dColors=1" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1 -dColors=1" ;; esac case "$MEDIA" in trans) GS_FEATURES="$GS_FEATURES -sMediaType=TransparencyFilm" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=PlainPaper" ;; *) GS_FEATURES="$GS_FEATURES -sMediaType=CoatedPaper" ;; esac apsfilter-7.2.6.orig/driver/bjc6000000644000175000017500000000142307413375232017134 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/bjc600,v 1.1.2.4 2001/12/29 17:17:14 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -sPrintQuality=Draft" ;; medium) RESOLUTION="300x300" GS_FEATURES="$GS_FEATURES -sPrintQuality=Normal" ;; *) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -sPrintQuality=High" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=32 -dColors=4" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8 -dColors=1" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1 -dColors=1" ;; esac case "$MEDIA" in trans) GS_FEATURES="$GS_FEATURES -sMediaType=TransparencyFilm" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=PlainPaper";; *) GS_FEATURES="$GS_FEATURES -sMediaType=CoatedPaper" ;; esac apsfilter-7.2.6.orig/driver/bjc700000644000175000017500000000143607417130331017052 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/bjc70,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ # various printers handled by the bjc600 driver PRINTER=bjc600 RESOLUTION=360x360 case "$QUALITY" in draft|low) GS_FEATURES="$GS_FEATURES -sPrintQuality=Draft" ;; medium) GS_FEATURES="$GS_FEATURES -sPrintQuality=Normal" ;; *) GS_FEATURES="$GS_FEATURES -sPrintQuality=High" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=32 -dColors=4" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8 -dColors=1" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1 -dColors=1" ;; esac case "$MEDIA" in trans) GS_FEATURES="$GS_FEATURES -sMediaType=TransparencyFilm" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=PlainPaper" ;; *) GS_FEATURES="$GS_FEATURES -sMediaType=CoatedPaper" ;; esac apsfilter-7.2.6.orig/driver/bjc70000000644000175000017500000000167307417130331017215 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/bjc7000,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ PRINTER=bjc600 case "$QUALITY" in draft) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=Draft" ;; low) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=Normal" ;; medium) RESOLUTION=600x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=Normal" ;; high) RESOLUTION=1200x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=Normal" ;; photo) RESOLUTION=1200x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=High" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=32 -dColors=4" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8 -dColors=1" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1 -dColors=1" ;; esac case "$MEDIA" in trans) GS_FEATURES="$GS_FEATURES -sMediaType=TransparencyFilm" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=PlainPaper" ;; *) GS_FEATURES="$GS_FEATURES -sMediaType=CoatedPaper" ;; esac apsfilter-7.2.6.orig/driver/bjc8000000644000175000017500000000153007413375232017135 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/bjc800,v 1.1.2.4 2001/12/29 17:17:14 andreas Exp $ case "$QUALITY" in draft) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -sPrintQuality=Draft" ;; low) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -sPrintQuality=Low" ;; medium) RESOLUTION="300x300" GS_FEATURES="$GS_FEATURES -sPrintQuality=Normal" ;; *) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -sPrintQuality=High" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=32 -dColors=4" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8 -dColors=1" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1 -dColors=1" ;; esac case "$MEDIA" in trans) GS_FEATURES="$GS_FEATURES -sMediaType=TransparencyFilm" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=PlainPaper";; *) GS_FEATURES="$GS_FEATURES -sMediaType=CoatedPaper" ;; esac apsfilter-7.2.6.orig/driver/bmp0000644000175000017500000000026007375500222016720 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/bmp,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$COLOR" in full) PRINTER=bmp32b ;; gray) PRINTER=bmpgray ;; mono) PRINTER=bmpmono ;; esac apsfilter-7.2.6.orig/driver/cdeskjet0000644000175000017500000000166307375500222017746 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/cdeskjet,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -dQuality=-1" ;; low) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; medium) RESOLUTION="300x300" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; high) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; photo) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -dQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=24" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -dPapertype=1" ;; premium) GS_FEATURES="$GS_FEATURES -dPapertype=2" ;; glossy) GS_FEATURES="$GS_FEATURES -dPapertype=3" ;; trans) GS_FEATURES="$GS_FEATURES -dPapertype=4" ;; plain) GS_FEATURES="$GS_FEATURES -dPapertype=0" ;; esac apsfilter-7.2.6.orig/driver/cdj6700000644000175000017500000000137307440502673017152 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/cdj670,v 1.1.2.1 2002/03/03 20:21:15 andreas Exp $ case "$QUALITY" in draft) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -dQuality=-1" ;; low) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; medium) RESOLUTION="300x300" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; high) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; photo) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -dQuality=1" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -dPapertype=1" ;; premium) GS_FEATURES="$GS_FEATURES -dPapertype=2" ;; glossy) GS_FEATURES="$GS_FEATURES -dPapertype=3" ;; trans) GS_FEATURES="$GS_FEATURES -dPapertype=4" ;; plain) GS_FEATURES="$GS_FEATURES -dPapertype=0" ;; esac apsfilter-7.2.6.orig/driver/cdj9700000644000175000017500000000171607375500222017151 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/cdj970,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in low|draft) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -dQuality=-1" ;; medium) RESOLUTION="300x300" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; high|photo) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -dQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=32" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -dPapertype=2" ;; trans) GS_FEATURES="$GS_FEATURES -dPapertype=4" ;; plain) GS_FEATURES="$GS_FEATURES -dPapertype=0" ;; *) GS_FEATURES="$GS_FEATURES -dPapertype=3" ;; esac if [ -n "$DUPLEX" -a -n "$HARDWARE_DUPLEX" ]; then if [ "$BINDING" = short ]; then GS_FEATURES="$GS_FEATURES -dDuplex=1" else GS_FEATURES="$GS_FEATURES -dDuplex=2" fi else GS_FEATURES="$GS_FEATURES -dDuplex=0" fi apsfilter-7.2.6.orig/driver/cdjcolor0000644000175000017500000000170307375500222017744 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/cdjcolor,v 1.1 2001/11/17 15:21:54 andreas Exp $ PRINTER=cdj500 case "$QUALITY" in draft) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -dQuality=-1" ;; low) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; medium) RESOLUTION="300x300" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; high) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; photo) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -dQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=24" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -dPapertype=1" ;; premium) GS_FEATURES="$GS_FEATURES -dPapertype=2" ;; glossy) GS_FEATURES="$GS_FEATURES -dPapertype=3" ;; trans) GS_FEATURES="$GS_FEATURES -dPapertype=4" ;; plain) GS_FEATURES="$GS_FEATURES -dPapertype=0" ;; esac apsfilter-7.2.6.orig/driver/cdjmono0000644000175000017500000000161007375500222017573 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/cdjmono,v 1.1 2001/11/17 15:21:54 andreas Exp $ PRINTER=cdj500 case "$QUALITY" in draft) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -dQuality=-1" ;; low) RESOLUTION="150x150" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; medium) RESOLUTION="300x300" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; high) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -dQuality=0" ;; photo) RESOLUTION="600x600" GS_FEATURES="$GS_FEATURES -dQuality=1" ;; esac case "$COLOR" in mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1" ;; *) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -dPapertype=1" ;; premium) GS_FEATURES="$GS_FEATURES -dPapertype=2" ;; glossy) GS_FEATURES="$GS_FEATURES -dPapertype=3" ;; trans) GS_FEATURES="$GS_FEATURES -dPapertype=4" ;; plain) GS_FEATURES="$GS_FEATURES -dPapertype=0" ;; esac apsfilter-7.2.6.orig/driver/cjet0000644000175000017500000000056507375500222017077 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/cjet,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=100x100 ;; low) RESOLUTION=150x150 ;; *) RESOLUTION=300x300 ;; esac [ "$HARDWARE_COPIES" ] && GS_FEATURES="$GS_FEATURES -dNumCopies=$COPIES" [ -n "$HARDWARE_DUPLEX" -a -n "$DUPLEX" ] && GS_FEATURES="$GS_FEATURES -dDuplex" POST_FILTER=cjet PRINTER=ljet3 apsfilter-7.2.6.orig/driver/cljet50000644000175000017500000000031507375500222017331 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/cljet5,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=100x100 ;; medium) RESOLUTION=150x150 ;; high|photo) RESOLUTION=300x300 ;; esac apsfilter-7.2.6.orig/driver/deskjet0000644000175000017500000000053007375500222017573 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/deskjet,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=100x100 ;; low) RESOLUTION=150x150 ;; *) RESOLUTION=300x300 ;; esac [ "$HARDWARE_COPIES" ] && GS_FEATURES="$GS_FEATURES -dNumCopies=$COPIES" [ -n "$HARDWARE_DUPLEX" -a -n "$DUPLEX" ] && GS_FEATURES="$GS_FEATURES -dDuplex" apsfilter-7.2.6.orig/driver/hl12400000644000175000017500000000102407375500222017053 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hl1240,v 1.1 2001/11/17 15:21:54 andreas Exp $ RESOLUTION=600x600 case "$QUALITY" in draft) GS_FEATURES="$GS_FEATURES -dEconoMode=2" ;; low) GS_FEATURES="$GS_FEATURES -dEconoMode=1" ;; esac case "$MEDIA" in trans) GS_FEATURES="$GS_FEATURES -dPaperType=4" ;; premium) GS_FEATURES="$GS_FEATURES -dPaperType=3" ;; plain) GS_FEATURES="$GS_FEATURES -dPaperType=0" ;; *) GS_FEATURES="$GS_FEATURES -dPaperType=2" ;; esac [ "$HARDWARE_COPIES" ] && GS_FEATURES="$GS_FEATURES -dNumCopies=$COPIES" apsfilter-7.2.6.orig/driver/hl12500000644000175000017500000000121407413375232017061 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hl1250,v 1.1.2.3 2001/12/29 17:17:14 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -dEconoMode=2" ;; low) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -dEconoMode=1" ;; medium) RESOLUTION=600x600 ;; high) RESOLUTION=1200x600 ;; photo) RESOLUTION=1200x600 ;; esac case "$MEDIA" in trans) GS_FEATURES="$GS_FEATURES -dPaperType=4" ;; premium) GS_FEATURES="$GS_FEATURES -dPaperType=3" ;; plain) GS_FEATURES="$GS_FEATURES -dPaperType=0" ;; *) GS_FEATURES="$GS_FEATURES -dPaperType=2" ;; esac [ "$HARDWARE_COPIES" ] && GS_FEATURES="$GS_FEATURES -dNumCopies=$COPIES" apsfilter-7.2.6.orig/driver/hl7x00000644000175000017500000000024407375500222017106 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hl7x0,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=300x300 ;; *) RESOLUTION=600x600 ;; esac apsfilter-7.2.6.orig/driver/imagen0000644000175000017500000000031307375500222017401 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/imagen,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=75x75 ;; medium) RESOLUTION=150x150 ;; high|photo) RESOLUTION=300x300 ;; esac apsfilter-7.2.6.orig/driver/jpeg0000644000175000017500000000064007375500222017071 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/jpeg,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft) GS_FEATURES="$GS_FEATURES -dJPEGQ=50" ;; low) GS_FEATURES="$GS_FEATURES -dJPEGQ=65" ;; medium) GS_FEATURES="$GS_FEATURES -dJPEGQ=75" ;; high) GS_FEATURES="$GS_FEATURES -dJPEGQ=85" ;; photo) GS_FEATURES="$GS_FEATURES -dJPEGQ=100" ;; esac case "$COLOR" in full) PRINTER=jpeg ;; *) PRINTER=jpeggray ;; esac apsfilter-7.2.6.orig/driver/lex32000000644000175000017500000000037507375500222017246 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/lex3200,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=300x300 ;; medium) RESOLUTION=600x600 ;; high|photo) RESOLUTION=1200x1200 ;; esac GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1" apsfilter-7.2.6.orig/driver/lexmark11000000644000175000017500000000046007375500222020111 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/lexmark1100,v 1.1 2001/11/17 15:21:54 andreas Exp $ RESOLUTION=300x300 POST_FILTER=lm1100 case "$COLOR" in full) PRINTER=ppmraw ;; gray) PRINTER=pgmraw ;; mono) PRINTER=pbmraw POST_FILTER_OPTS="$POST_FILTER_OPTS -bw" ;; esac POST_FILTER_OPTS="$POST_FILTER_OPTS -" apsfilter-7.2.6.orig/driver/lexmark20300000644000175000017500000000021507375500222020112 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/lexmark2030,v 1.1 2001/11/17 15:21:54 andreas Exp $ RESOLUTION=300x300 POST_FILTER=pbm2l2030 PRINTER=pbmraw apsfilter-7.2.6.orig/driver/lexmark2050c0000644000175000017500000000040007375500222020253 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/lexmark2050c,v 1.1 2001/11/17 15:21:54 andreas Exp $ RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -dDITHERPPI=150" POST_FILTER=c2050 PRINTER=bitcmyk case "$COLOR" in mono) GS_FEATURES="$GS_FEATURES -dForceMono=1" ;; esac apsfilter-7.2.6.orig/driver/lexmark20700000644000175000017500000000021707375500222020120 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/lexmark2070,v 1.1 2001/11/17 15:21:54 andreas Exp $ RESOLUTION=300x300 POST_FILTER=Lexmark2070 PRINTER=pbmraw apsfilter-7.2.6.orig/driver/lexmark2070c0000644000175000017500000000040007375500222020255 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/lexmark2070c,v 1.1 2001/11/17 15:21:54 andreas Exp $ RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -dDITHERPPI=150" POST_FILTER=c2070 PRINTER=bitcmyk case "$COLOR" in mono) GS_FEATURES="$GS_FEATURES -dForceMono=1" ;; esac apsfilter-7.2.6.orig/driver/lexmarkZ110000644000175000017500000000032207375500222020100 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/lexmarkZ11,v 1.1 2001/11/17 15:21:54 andreas Exp $ RESOLUTION=600x600 POST_FILTER=cZ11 PRINTER=bitcmyk case "$COLOR" in mono) GS_FEATURES="$GS_FEATURES -dForceMono=1" ;; esac apsfilter-7.2.6.orig/driver/lj2500000644000175000017500000000024207375500222016776 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/lj250,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=90x90 ;; *) RESOLUTION=180x180 ;; esac apsfilter-7.2.6.orig/driver/ljet40000644000175000017500000000050307413375232017170 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ljet4,v 1.1.2.1 2001/12/29 17:17:14 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=300x300 ;; *) RESOLUTION=600x600 ;; esac [ "$HARDWARE_COPIES" ] && GS_FEATURES="$GS_FEATURES -dNumCopies=$COPIES" [ -n "$HARDWARE_DUPLEX" -a -n "$DUPLEX" ] && GS_FEATURES="$GS_FEATURES -dDuplex" apsfilter-7.2.6.orig/driver/ljet4l0000644000175000017500000000042007436250567017352 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ljet4l,v 1.1.2.1 2002/02/24 20:47:51 andreas Exp $ PRINTER=ljet4 RESOLUTION=300x300 [ "$HARDWARE_COPIES" ] && GS_FEATURES="$GS_FEATURES -dNumCopies=$COPIES" [ -n "$HARDWARE_DUPLEX" -a -n "$DUPLEX" ] && GS_FEATURES="$GS_FEATURES -dDuplex" apsfilter-7.2.6.orig/driver/lx50000000644000175000017500000000051607375500222017076 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/lx5000,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=300x600 ;; medium) RESOLUTION=600x600 ;; high|photo) RESOLUTION=1200x600 ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=4" ;; *) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1" ;; esac apsfilter-7.2.6.orig/driver/lxm32000000644000175000017500000000074207375500222017254 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/lxm3200,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x300 ;; low) RESOLUTION=600x300 ;; medium) RESOLUTION=600x600 ;; high) RESOLUTION=1200x600 ;; photo) RESOLUTION=1200x1200 ;; esac case "$SWEEP" in uni) GS_FEATURES="$GS_FEATURES -dbidir=0" ;; bi) GS_FEATURES="$GS_FEATURES -dbidir=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dmode=1" ;; *) GS_FEATURES="$GS_FEATURES -dmode=0" ;; esac apsfilter-7.2.6.orig/driver/md2k0000644000175000017500000000154307375500222017004 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/md2k,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x300 [ "$COLOR" = mono ] && GS_FEATURES="$GS_FEATURES -dEcoBlack" ;; low) RESOLUTION=300x300 ;; medium) RESOLUTION=600x600 ;; high|photo) RESOLUTION=1200x600 ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=32" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1" ;; esac [ "$COLOR" = full ] && GS_FEATURES="$GS_FEATURES -dColor" case "$MEDIA" in plain) GS_FEATURES="$GS_FEATURES -sMediaType=PlainPaper" ;; coated) GS_FEATURES="$GS_FEATURES -sMediaType=CoatedFilm" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=FinePaper" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=OHP" ;; esac apsfilter-7.2.6.orig/driver/oki1820000644000175000017500000000024307375500222017160 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/oki182,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=72x72 ;; *) RESOLUTION=144x144 ;; esac apsfilter-7.2.6.orig/driver/okiibm0000644000175000017500000000034407375500222017417 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/okiibm,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=60x72 ;; medium) RESOLUTION=120x72 ;; high) RESOLUTION=120x144 ;; photo) RESOLUTION=240x144 ;; esac apsfilter-7.2.6.orig/driver/pcx0000644000175000017500000000026007375500222016734 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pcx,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$COLOR" in full) PRINTER=pcx24b ;; gray) PRINTER=pcxgray ;; mono) PRINTER=pcxmono ;; esac apsfilter-7.2.6.orig/driver/pdfwrite0000644000175000017500000000026207375500222017770 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pdfwrite,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$COLOR" in gray|mono) GS_FEATURES="$GS_FEATURES -dProcessColorModel=/DeviceGray" ;; esac apsfilter-7.2.6.orig/driver/photoex0000644000175000017500000000031707375500222017633 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/photoex,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=360x360 ;; medium) RESOLUTION=720x720 ;; high|photo) RESOLUTION=1440x720 ;; esac apsfilter-7.2.6.orig/driver/png0000644000175000017500000000026007375500222016726 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/png,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$COLOR" in full) PRINTER=png16m ;; gray) PRINTER=pnggray ;; mono) PRINTER=pngmono ;; esac apsfilter-7.2.6.orig/driver/pnm0000644000175000017500000000025607375500222016741 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pnm,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$COLOR" in full) PRINTER=ppmraw ;; gray) PRINTER=pgmraw ;; mono) PRINTER=pbmraw ;; esac apsfilter-7.2.6.orig/driver/printiva0000644000175000017500000000164507375500222020006 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/printiva,v 1.1 2001/11/17 15:21:54 andreas Exp $ POST_FILTER=ppmtocpva case "$QUALITY" in draft|low) RESOLUTION=300x300 POST_FILTER_OPTS="$POST_FILTER_OPTS -lowres" ;; medium) RESOLUTION=600x600 ;; high|photo) RESOLUTION=1200x600 POST_FILTER_OPTS="$POST_FILTER_OPTS -highres -highresinput" ;; esac case "$COLOR" in full) PRINTER=ppmraw POST_FILTER_OPTS="$POST_FILTER_OPTS -halftone" ;; gray) PRINTER=pgmraw POST_FILTER_OPTS="$POST_FILTER_OPTS -black -halftone" ;; mono) PRINTER=pbmraw POST_FILTER_OPTS="$POST_FILTER_OPTS -black -mono" ;; esac case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -media paper" ;; trans) POST_FILTER_OPTS="$POST_FILTER_OPTS -media ohp" ;; *) POST_FILTER_OPTS="$POST_FILTER_OPTS -media highgrade" ;; esac POST_FILTER_OPTS="$POST_FILTER_OPTS -xshift -0.133in -yshift -0.473in -pagelength ${HEIGHT_INCHES}in -pagewidth ${WIDTH_INCHES}in" apsfilter-7.2.6.orig/driver/pxlcolor0000644000175000017500000000061707375500222020012 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pxlcolor,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION="150x150" ;; medium) RESOLUTION="300x300" ;; high|photo) RESOLUTION="600x600" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=24" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1" ;; esac apsfilter-7.2.6.orig/driver/pxlmono0000644000175000017500000000052407375500222017641 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pxlmono,v 1.1 2001/11/17 15:21:54 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION="150x150" ;; medium) RESOLUTION="300x300" ;; high|photo) RESOLUTION="600x600" ;; esac case "$COLOR" in mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1" ;; *) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8" ;; esac apsfilter-7.2.6.orig/driver/samsung850000644000175000017500000000020707375500222017775 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/samsung85,v 1.1 2001/11/17 15:21:54 andreas Exp $ RESOLUTION=600x600 POST_FILTER=ml85p PRINTER=pbmraw apsfilter-7.2.6.orig/driver/st8000000644000175000017500000000105307563236701017030 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/st800,v 1.1.2.1 2002/11/09 16:54:25 andreas Exp $ PRINTER=stcolor GS_FEATURES="$GS_FEATURES -sModel=st800" case "$QUALITY" in draft|low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sDithering=gsmono" ;; medium) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sDithering=fsmono" ;; high) RESOLUTION=720x360 GS_FEATURES="$GS_FEATURES -sDithering=fsmono" ;; photo) RESOLUTION=720x720 GS_FEATURES="$GS_FEATURES -sDithering=fsmono" ;; esac [ "$SWEEP" = uni ] && GS_FEATURES="$GS_FEATURES -dUnidirectional" apsfilter-7.2.6.orig/driver/stcolor0000644000175000017500000000235607375500223017640 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stcolor,v 1.1 2001/11/17 15:21:55 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 if [ "$COLOR" = full ]; then GS_FEATURES="$GS_FEATURES -sDithering=gscmyk" else GS_FEATURES="$GS_FEATURES -sDithering=gsmono" fi ;; low) RESOLUTION=180x180 if [ "$COLOR" = full ]; then GS_FEATURES="$GS_FEATURES -sDithering=fsrgb" else GS_FEATURES="$GS_FEATURES -sDithering=gsmono" fi ;; medium) RESOLUTION=360x360 if [ "$COLOR" = full ]; then GS_FEATURES="$GS_FEATURES -sDithering=fscmyk" else GS_FEATURES="$GS_FEATURES -sDithering=fsmono" fi ;; high) RESOLUTION=720x360 if [ "$COLOR" = full ]; then GS_FEATURES="$GS_FEATURES -sDithering=fscmyk -dMicroweave" else GS_FEATURES="$GS_FEATURES -sDithering=fsmono -dMicroweave" fi ;; photo) RESOLUTION=720x720 if [ "$COLOR" = full ]; then GS_FEATURES="$GS_FEATURES -sDithering=fscmyk -dMicroweave" else GS_FEATURES="$GS_FEATURES -sDithering=fsmono -dMicroweave" fi ;; esac [ "$SWEEP" = uni ] && GS_FEATURES="$GS_FEATURES -dUnidirectional" case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=32" ;; gray) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=8" ;; mono) GS_FEATURES="$GS_FEATURES -dBitsPerPixel=1" ;; esac apsfilter-7.2.6.orig/driver/stylewriter0000644000175000017500000000067307375500223020550 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stylewriter,v 1.1 2001/11/17 15:21:55 andreas Exp $ RESOLUTION=360x360 POST_FILTER=lpstyl case "$COLOR" in full) PRINTER=bitcmyk case "$PAPERSIZE" in a4) GS_FEATURES="$GS_FEATURES -g2975x4210" POST_FILTER_OPTS="$POST_FILTER_OPTS -p a4" ;; letter) GS_FEATURES="$GS_FEATURES -g3060x3960" ;; esac ;; *) PRINTER=pbmraw [ "$PAPERSIZE" = a4 ] && POST_FILTER_OPTS="$POST_FILTER_OPTS -p a4" ;; esac apsfilter-7.2.6.orig/driver/tiff0000644000175000017500000000022707375500223017076 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/tiff,v 1.1 2001/11/17 15:21:55 andreas Exp $ case "$COLOR" in full) PRINTER=tiff24nc ;; *) PRINTER=tiffpack ;; esac apsfilter-7.2.6.orig/driver/gimp/0000755000175000017500000000000010203621207017144 5ustar covencoven00000000000000apsfilter-7.2.6.orig/driver/gimp/bjc-10000000644000175000017500000000176407557061442020234 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/bjc-1000,v 1.1.2.1 2002/10/27 22:05:22 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 params="Quality=90x90dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180x180dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 params="Quality=360x360dmt,ImageType=1" ;; *) RESOLUTION=720x360 params="Quality=720x360dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=CANON" apsfilter-7.2.6.orig/driver/gimp/bjc-20000000644000175000017500000000177007557061442020232 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/bjc-2000,v 1.1.2.1 2002/10/27 22:05:22 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 params="Quality=180x180dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180x180dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 params="Quality=360x360dpi,ImageType=1" ;; *) RESOLUTION=360x360 params="Quality=360x360dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=CANON" apsfilter-7.2.6.orig/driver/gimp/bjc-2100000644000175000017500000000176307557061442020155 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/bjc-210,v 1.1.2.1 2002/10/27 22:05:22 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 params="Quality=90x90dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180x180dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 params="Quality=360x360dpi,ImageType=1" ;; *) RESOLUTION=720x360 params="Quality=720x360dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=CANON" apsfilter-7.2.6.orig/driver/gimp/bjc-300000644000175000017500000000210107557061443020061 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/bjc-30,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 params="Quality=180x180dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180x180dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 params="Quality=360x360dpi,ImageType=1" ;; high) RESOLUTION=720x360 params="Quality=720x360dpi,ImageType=1" ;; photo) RESOLUTION=720x360 params="Quality=720x360dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=CANON" apsfilter-7.2.6.orig/driver/gimp/bjc-30000000644000175000017500000000221607557061443020230 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/bjc-3000,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x360 params="Quality=360x360dpi,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x360 params="Quality=360x360dpi,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 params="Quality=360x360dmt,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=720x720 params="Quality=720x720dpi,InkType=PhotoCMY,ImageType=1" ;; photo) RESOLUTION=1440x720 params="Quality=1440x720dpi,InkType=PhotoCMY,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=CANON" apsfilter-7.2.6.orig/driver/gimp/bjc-44000000644000175000017500000000221407557061443020233 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/bjc-4400,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x360 params="Quality=360x360dpi,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x360 params="Quality=360x360dpi,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 params="Quality=360x360dpi,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=720x360 params="Quality=720x360dpi,InkType=PhotoCMY,ImageType=1" ;; photo) RESOLUTION=720x360 params="Quality=720x360dpi,InkType=PhotoCMY,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=CANON" apsfilter-7.2.6.orig/driver/gimp/bjc-70000000644000175000017500000000221307557061443020231 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/bjc-7000,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x300 params="Quality=300x300dpi,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=300x300 params="Quality=300x300dpi,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300x300dpi,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=600x600 params="Quality=600x600dpi,InkType=CMYK,ImageType=1" ;; photo) RESOLUTION=1200x600 params="Quality=1200x600dpi,InkType=PhotoCMYK,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=CANON" apsfilter-7.2.6.orig/driver/gimp/bjc-82000000644000175000017500000000210707557061443020236 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/bjc-8200,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x300 params="Quality=300x300dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=300x300 params="Quality=300x300dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300x300dpi,ImageType=1" ;; high) RESOLUTION=600x600 params="Quality=600x600dpi,ImageType=1" ;; photo) RESOLUTION=1200x1200 params="Quality=1200x1200dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=CANON" apsfilter-7.2.6.orig/driver/gimp/escp20000644000175000017500000000230707557061443020127 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 params="Quality=360x90dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360mw$sweep,ImageType=1" ;; high) RESOLUTION=720x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720x360sw$sweep,ImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720mw$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-100000000644000175000017500000000243407557061443020566 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-10000,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 params="Quality=360x90dpi,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180dpi,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360mw$sweep,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720fol$sweep,InkType=PhotoCMYK,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720fol$sweep,InkType=PhotoCMYK,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-11600000644000175000017500000000240107557061443020507 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-1160,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 params="Quality=360x120sw,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x240 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi params="Quality=360x240sw,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360sw$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-12000000644000175000017500000000243107557061443020505 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-1200,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 params="Quality=360x120sw,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x240 params="Quality=360sw,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360sw$sweep,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,InkType=PhotoCMYK,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,InkType=PhotoCMYK,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-12800000644000175000017500000000243507557061443020521 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-1280,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 params="Quality=360x120sw,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x240 params="Quality=360x240sw,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360sw$sweep,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,InkType=PhotoCMYK,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,InkType=PhotoCMYK,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-15000000644000175000017500000000231107557061443020505 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-1500,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 params="Quality=360x90dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi params="Quality=360$sweep,ImageType=1" ;; high) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360mw$sweep,ImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720mw$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-15200000644000175000017500000000232207557061443020511 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-1520,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 params="Quality=180dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x180 params="Quality=360x180dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360mw$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep=sw params="Quality=1440x720sw$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-4000000644000175000017500000000231607557061443020430 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-400,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 params="Quality=360x120dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x240 params="Quality=360x240dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi params="Quality=360$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720hq$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-4400000644000175000017500000000230507557061443020432 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-440,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 params="Quality=360x90dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720hq$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-4800000644000175000017500000000231307557061443020435 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-480,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 params="Quality=360x120sw,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x240 params="Quality=360x240sw,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360sw$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720hq$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-6000000644000175000017500000000231507557061443020431 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-600,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 params="Quality=360x90dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360mw$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-6600000644000175000017500000000231307557061443020435 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-660,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 params="Quality=360x90sw,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180sw,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360mw$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-6700000644000175000017500000000231307557061443020436 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-670,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 params="Quality=360x90sw,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180sw,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360sw$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-6800000644000175000017500000000232107557061443020436 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-680,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 params="Quality=360x120sw,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x240 params="Quality=360x240sw,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360sw$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-7000000644000175000017500000000243007557061443020430 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-700,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 params="Quality=360x90dpi,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180dpi,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360mw$sweep,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,InkType=PhotoCMYK,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,InkType=PhotoCMYK,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-7200000644000175000017500000000242607557061443020437 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-720,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 params="Quality=360x90sw,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180sw,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360sw$sweep,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,InkType=PhotoCMYK,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,InkType=PhotoCMYK,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-9000000644000175000017500000000231507557061443020434 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-900,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 params="Quality=180sw,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x180 params="Quality=360x180sw,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360sw$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-c700000644000175000017500000000232107557061443020512 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-c70,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x180 params="Quality=360x180sw,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x180 params="Quality=360x180sw,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360sw$sweep,ImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720sw$sweep,ImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=1440x720sw$sweep,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-photo0000644000175000017500000000243007557061443021253 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-photo,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 params="Quality=360x90dpi,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=180x180 params="Quality=180dpi,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360mw$sweep,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=720x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720x360sw$sweep,InkType=PhotoCMYK,ImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720hq$sweep,InkType=PhotoCMYK,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/escp2-pro0000644000175000017500000000243407557061443020726 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/escp2-pro,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 params="Quality=360x120dpi,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=360x240 params="Quality=360x240dpi,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=360mw$sweep,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=720x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720x360sw$sweep,InkType=PhotoCMYK,ImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= params="Quality=720mw$sweep,InkType=PhotoCMYK,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPhoto" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=EPSON" apsfilter-7.2.6.orig/driver/gimp/lexmark-40760000644000175000017500000000174507557061443021161 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/lexmark-4076,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" ;; *) RESOLUTION=300x300 params="Quality=300dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Bond" ;; glossy) params="$params,MediaType=Glossy" ;; premium) params="$params,MediaType=Premium" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=LEXMARK" apsfilter-7.2.6.orig/driver/gimp/lexmark-z520000644000175000017500000000236507557061443021200 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/lexmark-z52,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x600 params="Quality=300x600dpi,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=300x600 params="Quality=300x600dpi,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=600x600 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi params="Quality=600$sweep,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=1200x1200 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi params="Quality=1200$sweep,InkType=PhotoCMYK,ImageType=1" ;; photo) RESOLUTION=2400x1200 params="Quality=2400x1200hq,InkType=PhotoCMYK,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Coated" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=LEXMARK" apsfilter-7.2.6.orig/driver/gimp/pcl-11000000644000175000017500000000241507557061443020250 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/pcl-1100,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" ;; high) if [ "$COLOR" = full ]; then RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" else RESOLUTION=600x600 params="Quality=600mono,ImageType=1" fi ;; photo) if [ "$COLOR" = full ]; then RESOLUTION=300x300 params="Quality=300dpi,ImageType=2" else RESOLUTION=600x600 params="Quality=600mono,ImageType=2" fi ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Bond" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/gimp/pcl-12000000644000175000017500000000176107557061443020254 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/pcl-1200,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" ;; *) RESOLUTION=300x300 params="Quality=300dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Bond" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/gimp/pcl-12200000644000175000017500000000206707557061443020256 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/pcl-1220,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" ;; high) RESOLUTION=600x600 params="Quality=600dpi,ImageType=1" ;; photo) RESOLUTION=600x600 params="Quality=600dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Bond" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/gimp/pcl-20000644000175000017500000000134207557061443020026 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/pcl-2,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" ;; *) RESOLUTION=300x300 params="Quality=300dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/gimp/pcl-40000644000175000017500000000145107557061443020031 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/pcl-4,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" ;; high) RESOLUTION=600x600 params="Quality=600dpi,ImageType=1" ;; photo) RESOLUTION=600x600 params="Quality=600dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/gimp/pcl-5000000644000175000017500000000175007557061443020174 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/pcl-500,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" ;; *) RESOLUTION=300x300 params="Quality=300dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Bond" ;; glossy) params="$params,MediaType=Glossy" ;; premium) params="$params,MediaType=Premium" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/gimp/pcl-6000000644000175000017500000000242407557061443020174 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/pcl-600,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" ;; high) if [ "$COLOR" = full ]; then RESOLUTION=600x300 params="Quality=600x300dpi,ImageType=1" else RESOLUTION=600x600 params="Quality=600mono,ImageType=1" fi ;; photo) if [ "$COLOR" = full ]; then RESOLUTION=600x300 params="Quality=600x300dpi,ImageType=2" else RESOLUTION=600x600 params="Quality=600mono,ImageType=2" fi ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Bond" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/gimp/pcl-6900000644000175000017500000000217507557061443020210 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/pcl-690,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 params="Quality=150dpi,InkType=CMYK,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=150x150 params="Quality=150dpi,InkType=CMYK,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,InkType=CMYK,ImageType=1" ;; high) RESOLUTION=600x300 params="Quality=600x300dpi,InkType=Photo,ImageType=2" ;; photo) RESOLUTION=600x600 params="Quality=600dpi,InkType=Photo,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Bond" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/gimp/pcl-7500000644000175000017500000000241407557061443020201 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/pcl-750,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x300 params="Quality=300dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=300x300 params="Quality=300dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" ;; high) if [ "$COLOR" = full ]; then RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" else RESOLUTION=600x600 params="Quality=600mono,ImageType=1" fi ;; photo) if [ "$COLOR" = full ]; then RESOLUTION=300x300 params="Quality=300dpi,ImageType=2" else RESOLUTION=600x600 params="Quality=600mono,ImageType=2" fi ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Bond" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/gimp/pcl-8100000644000175000017500000000207207557061443020176 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/gimp/pcl-810,v 1.1.2.1 2002/10/27 22:05:23 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=VeryFast" ;; low) RESOLUTION=150x150 params="Quality=150dpi,ImageType=0,Dither=Fast" ;; medium) RESOLUTION=300x300 params="Quality=300dpi,ImageType=1" ;; high) RESOLUTION=600x300 params="Quality=600x300dpi,ImageType=2" ;; photo) RESOLUTION=600x600 params="Quality=600dpi,ImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceRGB" ;; gray) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray" ;; mono) GS_FEATURES="$GS_FEATURES -sProcessColorModel=DeviceGray -dBitsPerSample=1" ;; esac case "$MEDIA" in coated) params="$params,MediaType=Bond" ;; glossy) params="$params,MediaType=GlossyPaper" ;; premium) params="$params,MediaType=GlossyPro" ;; trans) params="$params,MediaType=Transparency" ;; plain) params="$params,MediaType=Plain" ;; esac GS_FEATURES="$GS_FEATURES -sIjsParams='$params' -sDeviceManufacturer=HEWLETT-PACKARD" apsfilter-7.2.6.orig/driver/hpdj/0000755000175000017500000000000010203621207017135 5ustar covencoven00000000000000apsfilter-7.2.6.orig/driver/hpdj/5000000644000175000017500000000131107375500223017372 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpdj/500,v 1.1 2001/11/17 15:21:55 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high|photo) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=0" ;; esac apsfilter-7.2.6.orig/driver/hpdj/500C0000644000175000017500000000151107375500223017477 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpdj/500C,v 1.1 2001/11/17 15:21:55 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high|photo) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorMode=CMY" ;; *) GS_FEATURES="$GS_FEATURES -sColorMode=mono" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=0" ;; esac apsfilter-7.2.6.orig/driver/hpdj/550C0000644000175000017500000000151710203616752017511 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpdj/550C,v 1.1.2.1 2005/02/13 09:29:14 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high|photo) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorMode=CMY+K" ;; *) GS_FEATURES="$GS_FEATURES -sColorMode=mono" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=0" ;; esac apsfilter-7.2.6.orig/driver/hpdj/850C0000644000175000017500000000207507375500223017515 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpdj/850C,v 1.1 2001/11/17 15:21:55 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high) if [ "$COLOR" = full ]; then RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" else RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" fi ;; photo) if [ "$COLOR" = full ]; then RESOLUTION=300x300 else RESOLUTION=600x600 fi GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorMode=CMYK" ;; *) GS_FEATURES="$GS_FEATURES -sColorMode=mono" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=0" ;; esac apsfilter-7.2.6.orig/driver/hpdj/u9700000644000175000017500000000153007375500223017575 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpdj/u970,v 1.1 2001/11/17 15:21:55 andreas Exp $ PRINTER=hpdj case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high|photo) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorMode=CMYK" ;; *) GS_FEATURES="$GS_FEATURES -sColorMode=mono" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=0" ;; esac apsfilter-7.2.6.orig/driver/hpdj/unspec0000644000175000017500000000161307375500223020370 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpdj/unspec,v 1.1 2001/11/17 15:21:55 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; photo) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorMode=CMYK" ;; *) GS_FEATURES="$GS_FEATURES -sColorMode=mono" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=0" ;; esac apsfilter-7.2.6.orig/driver/hpijs/0000755000175000017500000000000010203621207017325 5ustar covencoven00000000000000apsfilter-7.2.6.orig/driver/hpijs/AP21xx0000644000175000017500000000050207375500224020303 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpijs/AP21xx,v 1.1 2001/11/17 15:21:56 andreas Exp $ RESOLUTION=300x300 case "$COLOR" in full) case "$QUALITY" in photo|high) GS_FEATURES="$GS_FEATURES -dPrintMode=3" ;; *) GS_FEATURES="$GS_FEATURES -dPrintMode=2" ;; esac ;; *) GS_FEATURES="$GS_FEATURES -dPrintMode=0" ;; esac apsfilter-7.2.6.orig/driver/hpijs/DJ3500000644000175000017500000000034207375500225020010 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpijs/DJ350,v 1.1 2001/11/17 15:21:57 andreas Exp $ RESOLUTION=300x300 case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dPrintMode=1" ;; *) GS_FEATURES="$GS_FEATURES -dPrintMode=0" ;; esac apsfilter-7.2.6.orig/driver/hpijs/DJ6xxP0000644000175000017500000000050207375500225020344 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpijs/DJ6xxP,v 1.1 2001/11/17 15:21:57 andreas Exp $ RESOLUTION=300x300 case "$COLOR" in full) case "$QUALITY" in photo|high) GS_FEATURES="$GS_FEATURES -dPrintMode=2" ;; *) GS_FEATURES="$GS_FEATURES -dPrintMode=1" ;; esac ;; *) GS_FEATURES="$GS_FEATURES -dPrintMode=0" ;; esac apsfilter-7.2.6.orig/driver/hpijs/DJ8xx0000644000175000017500000000071107375500225020230 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpijs/DJ8xx,v 1.1 2001/11/17 15:21:57 andreas Exp $ case "$COLOR" in full) case "$QUALITY" in low|draft) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -dPrintMode=3" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -dPrintMode=1" ;; photo|high) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -dPrintMode=2" ;; esac ;; *) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -dPrintMode=0" ;; esac apsfilter-7.2.6.orig/driver/hpijs/DJ9xx0000644000175000017500000000056207375500225020235 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpijs/DJ9xx,v 1.1 2001/11/17 15:21:57 andreas Exp $ case "$COLOR" in full) case "$QUALITY" in photo|high) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -dPrintMode=2" ;; *) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -dPrintMode=1" ;; esac ;; *) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -dPrintMode=0" ;; esac apsfilter-7.2.6.orig/driver/hpijs/DJ9xxVIP0000644000175000017500000000050407375500225020610 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/hpijs/DJ9xxVIP,v 1.1 2001/11/17 15:21:57 andreas Exp $ case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dPrintMode=1" case "$QUALITY" in photo|high) RESOLUTION=600x600 ;; *) RESOLUTION=300x300 ;; esac ;; *) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -dPrintMode=0" ;; esac apsfilter-7.2.6.orig/driver/ppa/0000755000175000017500000000000010203621210016762 5ustar covencoven00000000000000apsfilter-7.2.6.orig/driver/ppa/10000000644000175000017500000000064407375500231017310 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/ppa/1000,v 1.1 2001/11/17 15:22:01 andreas Exp $ RESOLUTION=600x600 POST_FILTER=pnm2ppa POST_FILTER_OPTS="$POST_FILTER_OPTS --$SWEEP -v ${PRINTER#ppa/}" case "$QUALITY" in draft) POST_FILTER_OPTS="$POST_FILTER_OPTS --fd --eco" ;; low) POST_FILTER_OPTS="$POST_FILTER_OPTS --fd" ;; esac case "$COLOR" in full) PRINTER=ppmraw ;; gray) PRINTER=pgmraw ;; mono) PRINTER=pbmraw ;; esac apsfilter-7.2.6.orig/driver/omni/0000755000175000017500000000000010203621210017144 5ustar covencoven00000000000000apsfilter-7.2.6.orig/driver/omni/Brother_HJ_100i0000644000175000017500000000117607417130331021627 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_HJ_100i,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Brother_HJ_4000000644000175000017500000000113107417130331021450 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_HJ_400,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Brother_HL_12400000644000175000017500000000121107413375232021543 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_HL_1240,v 1.1.2.2 2001/12/29 17:17:14 andreas Exp $ case "$QUALITY" in high|photo) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Brother_HL_4V0000644000175000017500000000130107417130331021437 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_HL_4V,v 1.1.2.3 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Brother_HL_6600000644000175000017500000000141307417130331021465 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_HL_660,v 1.1.2.3 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; *) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Brother_HL_P20000000644000175000017500000000121107413375232021656 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_HL_P2000,v 1.1.2.2 2001/12/29 17:17:14 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Brother_M_13090000644000175000017500000000116307417130331021441 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_M_1309,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; *) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Brother_M_1809_Color0000644000175000017500000000145707417130331022612 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_M_1809_Color,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; *) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Brother_M_1824L_Color0000644000175000017500000000147207417130331022720 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_M_1824L_Color,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Brother_M_19090000644000175000017500000000123707417130331021451 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_M_1909,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; *) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Brother_M_1909_Color0000644000175000017500000000153307417130331022606 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Brother_M_1909_Color,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; *) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_20000000644000175000017500000000132607375500226021271 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_2000,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x360 props="resolution=RESOLUTION_720_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMY" ;; gray) props="$props printmode=PRINT_MODE_8_CMY" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_2100000644000175000017500000000172107417130331021202 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_210,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_250J0000644000175000017500000000162307375500226021330 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_250J,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_41000000644000175000017500000000203307417130331021261 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_4100,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; *) RESOLUTION=720x360 props="resolution=RESOLUTION_720_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_4200_Photo0000644000175000017500000000175407375500226022453 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_4200_Photo,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x360 props="resolution=RESOLUTION_720_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_45500000644000175000017500000000201207375500226021276 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_4550,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x360 props="resolution=RESOLUTION_720_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_46500000644000175000017500000000207407375500226021307 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_4650,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x360 props="resolution=RESOLUTION_720_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; tabloid) props="$props form=FORM_TABLOID" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_55000000644000175000017500000000205007417130331021265 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_5500,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; tabloid) props="$props form=FORM_TABLOID" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_6000000644000175000017500000000154207417130331021206 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_600,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; *) props="$props media=MEDIA_COATED" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_60000000644000175000017500000000205507375500226021275 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_6000,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; photo) RESOLUTION=1440x720 props="resolution=RESOLUTION_1440_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_600e0000644000175000017500000000164107417130331021353 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_600e,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy|premium) props="$props media=MEDIA_GLOSSY" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_6100000644000175000017500000000214107375500226021212 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_610,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high) RESOLUTION=720x360 props="resolution=RESOLUTION_720_X_360" ;; photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_70000000644000175000017500000000173107417130331021267 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_7000,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in high) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; photo) RESOLUTION=1200x600 props="resolution=RESOLUTION_1200_X_600" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_8000000644000175000017500000000154207417130331021210 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_800,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; *) props="$props media=MEDIA_COATED" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_8200000644000175000017500000000137407417130331021215 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_820,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; *) props="$props media=MEDIA_COATED" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJC_85000000644000175000017500000000205107417130331021271 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJC_8500,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in high) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; photo) RESOLUTION=1200x600 props="resolution=RESOLUTION_1200_X_600" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJ_1000000644000175000017500000000101407417130331021070 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJ_100,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJ_2300000644000175000017500000000113407417130331021077 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJ_230,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJ_300000644000175000017500000000143107417130331021015 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJ_30,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 props="resolution=RESOLUTION_90_X_90" ;; low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJ_F6000000644000175000017500000000174507375500226021225 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJ_F600,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_BJ_F60000000644000175000017500000000201207375500226021271 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_BJ_F6000,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Canon_S4500000644000175000017500000000233507440502674020670 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Canon_S450,v 1.1.2.1 2002/03/03 20:21:16 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; low) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; medium) RESOLUTION=720x360 props="resolution=RESOLUTION_720_X_360" ;; high) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; photo) RESOLUTION=1440x720 props="resolution=RESOLUTION_1440_X_720" ;; esac case "$COLOR" in full) case "$QUALITY" in high|photo) props="$props printmode=PRINT_MODE_24_CcMmYK" ;; *) props="$props printmode=PRINT_MODE_24_CMYK" ;; esac ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_COATED" ;; glossy) props="$props media=MEDIA_GLOSSY" ;; premium) props="$props media=MEDIA_HIGH_GLOSS_FILM" ;; trans) props="$props media=MEDIA_TRANSPARENCY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_24_pin_136_Col0000644000175000017500000000125707417130331022535 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_24_pin_136_Col,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_AP_32500000644000175000017500000000130307375500226021224 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_AP_3250,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; high) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; photo) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_AP_32600000644000175000017500000000157107375500226021234 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_AP_3260,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; high) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; photo) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_AP_50000000644000175000017500000000110507375500226021217 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_AP_5000,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; high|photo) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_AP_55000000644000175000017500000000116107375500226021226 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_AP_5500,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; high|photo) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_AP_8000000644000175000017500000000164407375500226021152 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_AP_800,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; high) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; photo) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_DFX_5000_0000644000175000017500000000124607417130331021476 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_DFX_5000_,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; *) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; tabloid) props="$props form=FORM_TABLOID" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_DFX_80000000644000175000017500000000134407375500226021350 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_DFX_8000,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; high) RESOLUTION=144x72 props="resolution=RESOLUTION_144_X_72" ;; photo) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_DFX_85000000644000175000017500000000123707417130331021347 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_DFX_8500,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; *) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_DLQ_2000__360_dpi_0000644000175000017500000000137207375500226023064 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_DLQ_2000__360_dpi_,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; high) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; photo) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_DLQ_3000_0000644000175000017500000000145107375500226021500 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_DLQ_3000_,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; high|photo) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_EPL_57000000644000175000017500000000133207413375233021351 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_EPL_5700,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; high|photo) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_EPL_N20000000644000175000017500000000125507413375233021461 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_EPL_N2000,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ case "$QUALITY" in high|photo) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_EX_10000000644000175000017500000000163107375500226021233 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_EX_1000,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; high) RESOLUTION=144x72 props="resolution=RESOLUTION_144_X_72" ;; photo) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_EX_8000000644000175000017500000000155407375500226021166 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_EX_800,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; high) RESOLUTION=144x72 props="resolution=RESOLUTION_144_X_72" ;; photo) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_FX_10500000644000175000017500000000126707375500226021246 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_FX_1050,v 1.1 2001/11/17 15:21:58 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; high) RESOLUTION=144x72 props="resolution=RESOLUTION_144_X_72" ;; photo) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_FX_11800000644000175000017500000000124407417130331021236 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_FX_1180,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; *) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; tabloid) props="$props form=FORM_TABLOID" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_FX_8800000644000175000017500000000111507417130331021161 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_FX_880,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; *) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Generic_ESC_P_24_J840000644000175000017500000000113707417130331023530 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Generic_ESC_P_24_J84,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Generic_ESC_P_24_J84C0000644000175000017500000000142607417130331023634 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Generic_ESC_P_24_J84C,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_LQ_20800000644000175000017500000000110507375500227021241 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_LQ_2080,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=120x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; high|photo) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_LQ_25000000644000175000017500000000153607417130331021236 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_LQ_2500,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; *) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_MJ_3000C0000644000175000017500000000164007375500227021333 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_MJ_3000C,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_MJ_3000CU0000644000175000017500000000202207375500227021453 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_MJ_3000CU,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; low) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_MJ_500C0000644000175000017500000000157107375500227021260 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_MJ_500C,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; high|photo) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMY" ;; gray) props="$props printmode=PRINT_MODE_8_CMY" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/OkiPos_425D0000644000175000017500000000026307375500227021016 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/OkiPos_425D,v 1.1 2001/11/17 15:21:59 andreas Exp $ RESOLUTION=90x72 GS_FEATURES="$GS_FEATURES -sproperties='resolution=RESOLUTION_90_X_72'" apsfilter-7.2.6.orig/driver/omni/Epson_MJ_700V2C0000644000175000017500000000174607375500227021476 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_MJ_700V2C,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; low) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_MJ_800C0000644000175000017500000000170007375500227021255 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_MJ_800C,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; low) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_MJ_910C0000644000175000017500000000157307375500227021267 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_MJ_910C,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_MX_80__w_GRAFTRAX_80_0000644000175000017500000000066207375500227023547 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_MX_80__w_GRAFTRAX_80_,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=60x72 props="resolution=RESOLUTION_60_X_72" ;; *) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; esac case "$PAPERSIZE" in letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_3000000644000175000017500000000121507375500227022143 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_300,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; low) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_8000000644000175000017500000000115107375500227022147 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_800,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; low) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_800_0000644000175000017500000000104507375500227022310 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_800_,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; high|photo) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_Color_11600000644000175000017500000000171007417130331023356 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_Color_1160,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in high) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; photo) RESOLUTION=1440x720 props="resolution=RESOLUTION_1440_X_720" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_Color_3000000644000175000017500000000144507375500227023306 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_Color_300,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; low) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_Color_4000000644000175000017500000000160407375500227023304 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_Color_400,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; high|photo) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_Color_6600000644000175000017500000000156707417130331023314 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_Color_660,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in high) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; photo) RESOLUTION=1440x720 props="resolution=RESOLUTION_1440_X_720" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_Photo_12000000644000175000017500000000172507375500227023402 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_Photo_1200,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_Photo_12700000644000175000017500000000165507375500227023413 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_Photo_1270,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; medium) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; high|photo) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CcMmYK" ;; gray) props="$props printmode=PRINT_MODE_8_CcMmYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_Photo_12900000644000175000017500000000176607375500227023420 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_Photo_1290,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; medium) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; high) RESOLUTION=1440x720 props="resolution=RESOLUTION_1440_X_720" ;; photo) RESOLUTION=2880x720 props="resolution=RESOLUTION_2880_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CcMmYK" ;; gray) props="$props printmode=PRINT_MODE_8_CcMmYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_Photo_2000P0000644000175000017500000000153607375500227023521 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_Photo_2000P,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in high|photo) RESOLUTION=1440x720 props="resolution=RESOLUTION_1440_X_720" ;; *) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CcMmYK" ;; gray) props="$props printmode=PRINT_MODE_8_CcMmYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_Photo_7900000644000175000017500000000172107375500227023333 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_Photo_790,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft|low) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; medium) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; high) RESOLUTION=1440x720 props="resolution=RESOLUTION_1440_X_720" ;; photo) RESOLUTION=2880x720 props="resolution=RESOLUTION_2880_X_720" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CcMmYK" ;; gray) props="$props printmode=PRINT_MODE_8_CcMmYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_Color_LaserJet0000644000175000017500000000116007413375233022347 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_Color_LaserJet,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; tabloid) props="$props form=FORM_TABLOID" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Epson_Stylus_Photo_8700000644000175000017500000000157307417130331023327 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Epson_Stylus_Photo_870,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in high) RESOLUTION=720x720 props="resolution=RESOLUTION_720_X_720" ;; photo) RESOLUTION=1440x720 props="resolution=RESOLUTION_1440_X_720" ;; *) RESOLUTION=360x360 props="resolution=RESOLUTION_360_X_360" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CcMmYK" ;; gray) props="$props printmode=PRINT_MODE_8_CcMmYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac case "$MEDIA" in plain) props="$props media=MEDIA_PLAIN" ;; coated) props="$props media=MEDIA_SPECIAL_360" ;; *) props="$props media=MEDIA_SPECIAL_720" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_Color_LaserJet_45000000644000175000017500000000104207413375233023016 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_Color_LaserJet_4500,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_Color_LaserJet_85000000644000175000017500000000116407413375233023027 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_Color_LaserJet_8500,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_Color_LaserJet_85500000644000175000017500000000110707413375233023031 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_Color_LaserJet_8550,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_LaserJet_11000000644000175000017500000000102007417130331021635 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_LaserJet_1100,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_LaserJet_12000000644000175000017500000000113107417130331021641 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_LaserJet_1200,v 1.1.2.3 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; *) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_LaserJet_20000000644000175000017500000000102007417130331021635 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_LaserJet_2000,v 1.1.2.3 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_LaserJet_21000000644000175000017500000000113507417130331021645 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_LaserJet_2100,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=100x100 props="resolution=RESOLUTION_100_X_100" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; *) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_LaserJet_4V_4MV0000644000175000017500000000121307417130331022237 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_LaserJet_4V_4MV,v 1.1.2.1 2002/01/09 21:06:33 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=100x100 props="resolution=RESOLUTION_100_X_100" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; *) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_LaserJet_50000000644000175000017500000000117507417130332021654 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_LaserJet_5000,v 1.1.2.3 2002/01/09 21:06:34 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; *) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_LaserJet_80000000644000175000017500000000134007417130332021651 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_LaserJet_8000,v 1.1.2.3 2002/01/09 21:06:34 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=100x100 props="resolution=RESOLUTION_100_X_100" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; *) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; tabliod) props="$props form=FORM_TABLOID" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_LaserJet_Classic0000644000175000017500000000102307417130332022641 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_LaserJet_Classic,v 1.1.2.3 2002/01/09 21:06:34 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/HP_Mopier_2400000644000175000017500000000112607413375233021322 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/HP_Mopier_240,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ case "$QUALITY" in high|photo) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; tabloid) props="$props form=FORM_TABLOID" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/IBM_5183_Portable_Printer0000644000175000017500000000122407375500227023534 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/IBM_5183_Portable_Printer,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; high|photo) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/KS_24_pin_136_Col0000644000175000017500000000127007375500227021771 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/KS_24_pin_136_Col,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; high|photo) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/KS_9_pin_136_Col0000644000175000017500000000125507375500227021717 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/KS_9_pin_136_Col,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; high|photo) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/KS_9_pin_80_Col0000644000175000017500000000120007375500227021623 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/KS_9_pin_80_Col,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=72x72 props="resolution=RESOLUTION_72_X_72" ;; low) RESOLUTION=90x72 props="resolution=RESOLUTION_90_X_72" ;; medium) RESOLUTION=120x72 props="resolution=RESOLUTION_120_X_72" ;; high|photo) RESOLUTION=240x72 props="resolution=RESOLUTION_240_X_72" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Kyocera_FS_17500000644000175000017500000000153307413375233021556 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Kyocera_FS_1750,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=100x100 props="resolution=RESOLUTION_100_X_100" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; high) RESOLUTION=400x400 props="resolution=RESOLUTION_400_X_400" ;; photo) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Kyocera_FS_5500A_FS_55000000644000175000017500000000143407417130332022706 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Kyocera_FS_5500A_FS_5500,v 1.1.2.3 2002/01/09 21:06:34 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Kyocera_FS_5800C0000644000175000017500000000103107413375233021652 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Kyocera_FS_5800C,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Kyocera_FS_6000000644000175000017500000000141307417130332021455 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Kyocera_FS_600,v 1.1.2.3 2002/01/09 21:06:34 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; *) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Kyocera_FS_63000000644000175000017500000000133107413375233021546 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Kyocera_FS_6300,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ case "$QUALITY" in high|photo) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Kyocera_FS_67000000644000175000017500000000134707413375233021561 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Kyocera_FS_6700,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ case "$QUALITY" in high|photo) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; tabloid) props="$props form=FORM_TABLOID" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Kyocera_FS_6800000644000175000017500000000121007413375233021467 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Kyocera_FS_680,v 1.1.2.2 2001/12/29 17:17:15 andreas Exp $ case "$QUALITY" in high|photo) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Kyocera_FS_70000000644000175000017500000000153407417130332021542 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Kyocera_FS_7000,v 1.1.2.3 2002/01/09 21:06:34 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; *) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Kyocera_F_800A_F_8000000644000175000017500000000131007417130332022265 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Kyocera_F_800A_F_800,v 1.1.2.3 2002/01/09 21:06:34 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Okidata_OL12000000644000175000017500000000141307417130332021354 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Okidata_OL1200,v 1.2.2.1 2002/01/09 21:06:34 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; medium) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; *) RESOLUTION=600x600 props="resolution=RESOLUTION_600_X_600" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Okidata_OL400e0000644000175000017500000000130207417130332021437 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Okidata_OL400e,v 1.2.2.1 2002/01/09 21:06:34 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=75x75 props="resolution=RESOLUTION_75_X_75" ;; low) RESOLUTION=150x150 props="resolution=RESOLUTION_150_X_150" ;; *) RESOLUTION=300x300 props="resolution=RESOLUTION_300_X_300" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_RGB" ;; gray) props="$props printmode=PRINT_MODE_8_RGB" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/omni/Panasonic_KX_P11240000644000175000017500000000155707376527671022244 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/omni/Panasonic_KX_P1124,v 1.2 2001/11/20 19:32:09 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x180 props="resolution=RESOLUTION_90_X_180" ;; low) RESOLUTION=120x180 props="resolution=RESOLUTION_120_X_180" ;; medium) RESOLUTION=180x180 props="resolution=RESOLUTION_180_X_180" ;; high|photo) RESOLUTION=360x180 props="resolution=RESOLUTION_360_X_180" ;; esac case "$COLOR" in full) props="$props printmode=PRINT_MODE_24_CMYK" ;; gray) props="$props printmode=PRINT_MODE_8_CMYK" ;; mono) props="$props printmode=PRINT_MODE_1_ANY" ;; esac case "$PAPERSIZE" in a4) props="$props form=FORM_A4" ;; a3) props="$props form=FORM_A3" ;; letter) props="$props form=FORM_LETTER" ;; legal) props="$props form=FORM_LEGAL" ;; ledger) props="$props form=FORM_LEDGER" ;; esac GS_FEATURES="$GS_FEATURES -sproperties='$props'" apsfilter-7.2.6.orig/driver/pcl3/0000755000175000017500000000000010203621210017043 5ustar covencoven00000000000000apsfilter-7.2.6.orig/driver/pcl3/hpdj0000644000175000017500000000127307375500227017742 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pcl3/hpdj,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high|photo) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMedium=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMedium=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMedium=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMedium=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMedium=0" ;; esac apsfilter-7.2.6.orig/driver/pcl3/hpdj1120c0000644000175000017500000000206507375500227020411 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pcl3/hpdj1120c,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high) if [ "$COLOR" = full ]; then RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" else RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" fi ;; photo) if [ "$COLOR" = full ]; then RESOLUTION=300x300 else RESOLUTION=600x600 fi GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorModel=CMYK" ;; *) GS_FEATURES="$GS_FEATURES -sColorModel=Gray" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMedium=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMedium=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMedium=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMedium=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMedium=0" ;; esac apsfilter-7.2.6.orig/driver/pcl3/hpdj3100000644000175000017500000000147707375500227020174 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pcl3/hpdj310,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high|photo) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorModel=CMY" ;; *) GS_FEATURES="$GS_FEATURES -sColorModel=Gray" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMedium=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMedium=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMedium=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMedium=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMedium=0" ;; esac apsfilter-7.2.6.orig/driver/pcl3/hpdj550c0000644000175000017500000000150610203616752020331 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pcl3/hpdj550c,v 1.1.2.1 2005/02/13 09:29:14 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high|photo) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorModel=CMY+K" ;; *) GS_FEATURES="$GS_FEATURES -sColorModel=Gray" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMedium=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMedium=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMedium=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMedium=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMedium=0" ;; esac apsfilter-7.2.6.orig/driver/pcl3/hpdj6000000644000175000017500000000206207375500227020165 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pcl3/hpdj600,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high) if [ "$COLOR" = full ]; then RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" else RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" fi ;; photo) if [ "$COLOR" = full ]; then RESOLUTION=300x300 else RESOLUTION=600x600 fi GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorModel=CMY" ;; *) GS_FEATURES="$GS_FEATURES -sColorModel=Gray" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMedium=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMedium=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMedium=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMedium=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMedium=0" ;; esac apsfilter-7.2.6.orig/driver/pcl3/hpdj680c0000644000175000017500000000206407375500227020342 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pcl3/hpdj680c,v 1.1 2001/11/17 15:21:59 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high) if [ "$COLOR" = full ]; then RESOLUTION=600x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" else RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" fi ;; photo) if [ "$COLOR" = full ]; then RESOLUTION=600x300 else RESOLUTION=600x600 fi GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorModel=CMYK" ;; *) GS_FEATURES="$GS_FEATURES -sColorModel=Gray" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMedium=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMedium=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMedium=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMedium=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMedium=0" ;; esac apsfilter-7.2.6.orig/driver/pcl3/u9700000644000175000017500000000237707413375235017531 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pcl3/u970,v 1.1.2.3 2001/12/29 17:17:17 andreas Exp $ PRINTER=pcl3 case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; photo) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorModel=CMYK" ;; *) GS_FEATURES="$GS_FEATURES -sColorModel=Gray" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMedium=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMedium=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMedium=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMedium=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMedium=0" ;; esac if [ -n "$HARDWARE_DUPLEX" -a -n "$DUPLEX" ]; then if [ "$BINDING" = short ]; then GS_FEATURES="$GS_FEATURES -dDuplex -dTumble=true \ -sDuplexCapability=oppositeLeadingEdge \ -sPJLLanguage=PCL3GUI \ -dOnlyCRD" else GS_FEATURES="$GS_FEATURES -dDuplex -dTumble=false \ -sDuplexCapability=oppositeLeadingEdge \ -sPJLLanguage=PCL3GUI \ -dOnlyCRD" fi fi apsfilter-7.2.6.orig/driver/pcl3/unspec0000644000175000017500000000211107375500230020274 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pcl3/unspec,v 1.1 2001/11/17 15:22:00 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=-1" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; high) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=0" ;; photo) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sPrintQuality=1" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -sColorModel=CMYK" ;; *) GS_FEATURES="$GS_FEATURES -sColorModel=Gray" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMedium=1" ;; premium) GS_FEATURES="$GS_FEATURES -sMedium=2" ;; glossy) GS_FEATURES="$GS_FEATURES -sMedium=3" ;; trans) GS_FEATURES="$GS_FEATURES -sMedium=4" ;; plain) GS_FEATURES="$GS_FEATURES -sMedium=0" ;; esac if [ -n "$HARDWARE_DUPLEX" -a -n "$DUPLEX" ]; then if [ "$BINDING" = short ]; then GS_FEATURES="$GS_FEATURES -dDuplex -dTumble=true" else GS_FEATURES="$GS_FEATURES -dDuplex -dTumble=false" fi fi apsfilter-7.2.6.orig/driver/pips/0000755000175000017500000000000010203621210017155 5ustar covencoven00000000000000apsfilter-7.2.6.orig/driver/pips/sc20s0000644000175000017500000000467107375500230020060 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sc20s,v 1.1 2001/11/17 15:22:00 andreas Exp $ POST_FILTER=pips-sc20s POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=120x120 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 120 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt FINE -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql STD" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql STD" ;; high) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql FINE" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GPAPER" case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; low) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; *) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; esac ;; premium) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GFILM -ql FINE" case "$QUALITY" in high|photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720" ;; *) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql STD" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/pips/sc40s0000644000175000017500000000521007375500230020050 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sc40s,v 1.1 2001/11/17 15:22:00 andreas Exp $ POST_FILTER=pips-sc40s POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=120x120 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 120 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt FINE -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql STD" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql STD" ;; high) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql FINE" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GPAPER" case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; low) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; premium) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GFILM" case "$QUALITY" in draft|low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; high|photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql STD" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/pips/sc4800000644000175000017500000000470107375500230017761 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sc480,v 1.1 2001/11/17 15:22:00 andreas Exp $ POST_FILTER=pips-sc480 POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=120x120 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 120 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt FINE -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql STD" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql STD" ;; high) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql FINE" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GPAPER" case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; low) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; *) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; esac ;; premium) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GFILM" case "$QUALITY" in draft|low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; *) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql STD" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/pips/sc5800000644000175000017500000000521007375500230017756 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sc580,v 1.1 2001/11/17 15:22:00 andreas Exp $ POST_FILTER=pips-sc580 POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=120x120 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 120 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt FINE -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql STD" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql STD" ;; high) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql FINE" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GPAPER" case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; low) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; premium) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GFILM" case "$QUALITY" in draft|low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; high|photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql STD" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/pips/sc60s0000644000175000017500000000514407413375236020071 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sc60s,v 1.1.2.2 2001/12/29 17:17:18 andreas Exp $ POST_FILTER=pips-sc60s POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=120x120 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 120 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt FINE -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql PHOTO" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GPAPER" case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; premium) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PMPHOTO -re 720" RESOLUTION=720x720 case "$QUALITY" in draft|low) POST_FILTER_OPTS="$POST_FILTER_OPTS -ql PHOTO -hs ON" ;; medium) POST_FILTER_OPTS="$POST_FILTER_OPTS -ql PHOTO -hs OFF" ;; high|photo) POST_FILTER_OPTS="$POST_FILTER_OPTS -ql SPHOTO" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql STD" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/pips/sc680_7770000644000175000017500000000504607375500230020372 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sc680_777,v 1.1 2001/11/17 15:22:00 andreas Exp $ POST_FILTER=pips-sc680_777 POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=120x120 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 120 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt FINE -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql PHOTO" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GPAPER" case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SPHOTO" ;; esac ;; premium) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PMPHOTO -re 720" case "$QUALITY" in high|photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -ql SPHOTO" ;; *) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -ql PHOTO" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql STD" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/pips/sc70s0000644000175000017500000000510107436250567020067 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sc70s,v 1.1.2.1 2002/02/24 20:47:51 andreas Exp $ POST_FILTER=pips-sc70s POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=180x180 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 180 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt SFINE" case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; low) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql SFINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PSGLOS" case "$QUALITY" in medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SPHOTO" ;; *) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql SFINE" ;; esac ;; premium) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PMPHOTO" case "$QUALITY" in draft|low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql SFINE" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; high|photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql FINE" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/pips/sc80s0000644000175000017500000000520307436250567020073 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sc80s,v 1.1.2.1 2002/02/24 20:47:51 andreas Exp $ POST_FILTER=pips-sc80s POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=180x180 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 180 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt SFINE" case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; low) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql SFINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PSGLOS" case "$QUALITY" in medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SPHOTO" ;; *) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql SFINE" ;; esac ;; premium) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PMPHOTO" case "$QUALITY" in medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SPHOTO" ;; *) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql SFINE" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql FINE" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/pips/sc8800000644000175000017500000000532107375500230017764 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sc880,v 1.1 2001/11/17 15:22:00 andreas Exp $ POST_FILTER=pips-sc880 POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=120x120 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 120 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt FINE -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql PHOTO" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GPAPER" case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SPHOTO" ;; esac ;; premium) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PMPHOTO" case "$QUALITY" in medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SPHOTO" ;; *) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql STD" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/pips/sc9800000644000175000017500000000432607375500230017771 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sc980,v 1.1 2001/11/17 15:22:00 andreas Exp $ POST_FILTER=pips-sc980 POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=180x180 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 180 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) case "$QUALITY" in high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt PMMATT -ql PHOTO" ;; *) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt FINE -ql STD" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GPAPER" case "$QUALITY" in medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SPHOTO" ;; *) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; esac ;; premium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GFILM -re 720" case "$QUALITY" in photo) POST_FILTER_OPTS="$POST_FILTER_OPTS -ql SPHOTO" ;; *) POST_FILTER_OPTS="$POST_FILTER_OPTS -ql PHOTO" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql STD" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/pips/sp810_8200000644000175000017500000000533107375500230020364 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/pips/sp810_820,v 1.1 2001/11/17 15:22:00 andreas Exp $ POST_FILTER=pips-sp810_820 POST_FILTER_OPTS="$POST_FILTER_OPTS -ui C" case "$MEDIA" in plain) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PLAIN" case "$QUALITY" in draft) RESOLUTION=120x120 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 120 -ql DRAFT" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SFINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; esac ;; coated) case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt FINE -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql STD" ;; medium) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt SFINE -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql FINE" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -mt SFINE -ql PHOTO" ;; esac ;; glossy) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt GPAPER" case "$QUALITY" in draft) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql STD" ;; low) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SPHOTO" ;; esac ;; premium) POST_FILTER_OPTS="$POST_FILTER_OPTS -mt PMPHOTO" case "$QUALITY" in medium) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql FINE" ;; high) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql PHOTO" ;; photo) RESOLUTION=720x720 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 720 -ql SPHOTO" ;; *) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -ql FINE" ;; esac ;; trans) RESOLUTION=360x360 POST_FILTER_OPTS="$POST_FILTER_OPTS -re 360 -mt OHP -ql STD" ;; esac case "$COLOR" in full) PRINTER=png16m POST_FILTER_OPTS="$POST_FILTER_OPTS -in COLOR" ;; gray) PRINTER=pnggray POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; mono) PRINTER=pngmono POST_FILTER_OPTS="$POST_FILTER_OPTS -in MONO" ;; esac case "$PAPERSIZE" in a4) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms A4" ;; letter) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LT" ;; legal) POST_FILTER_OPTS="$POST_FILTER_OPTS -ms LGL" ;; esac apsfilter-7.2.6.orig/driver/stp/0000755000175000017500000000000010203621210017010 5ustar covencoven00000000000000apsfilter-7.2.6.orig/driver/stp/bjc-10000000644000175000017500000000175207375500231020073 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/bjc-1000,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 GS_FEATURES="$GS_FEATURES -sQuality=90x90dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180x180dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dmt -dImageType=1" ;; *) RESOLUTION=720x360 GS_FEATURES="$GS_FEATURES -sQuality=720x360dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/bjc-20000000644000175000017500000000175607375500231020100 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/bjc-2000,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180x180dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180x180dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dpi -dImageType=1" ;; *) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/bjc-2100000644000175000017500000000175107375500231020014 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/bjc-210,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=90x90 GS_FEATURES="$GS_FEATURES -sQuality=90x90dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180x180dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dpi -dImageType=1" ;; *) RESOLUTION=720x360 GS_FEATURES="$GS_FEATURES -sQuality=720x360dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/bjc-300000644000175000017500000000211507375500231017727 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/bjc-30,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180x180dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180x180dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dpi -dImageType=1" ;; high) RESOLUTION=720x360 GS_FEATURES="$GS_FEATURES -sQuality=720x360dpi -dImageType=1" ;; photo) RESOLUTION=720x360 GS_FEATURES="$GS_FEATURES -sQuality=720x360dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/bjc-30000000644000175000017500000000224407375500231020072 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/bjc-3000,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dpi -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dpi -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dmt -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=720x720 GS_FEATURES="$GS_FEATURES -sQuality=720x720dpi -sInkType=PhotoCMY -dImageType=1" ;; photo) RESOLUTION=1440x720 GS_FEATURES="$GS_FEATURES -sQuality=1440x720dpi -sInkType=PhotoCMY -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/bjc-44000000644000175000017500000000224207375500231020075 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/bjc-4400,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dpi -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dpi -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 GS_FEATURES="$GS_FEATURES -sQuality=360x360dpi -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=720x360 GS_FEATURES="$GS_FEATURES -sQuality=720x360dpi -sInkType=PhotoCMY -dImageType=1" ;; photo) RESOLUTION=720x360 GS_FEATURES="$GS_FEATURES -sQuality=720x360dpi -sInkType=PhotoCMY -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/bjc-70000000644000175000017500000000224107375500231020073 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/bjc-7000,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300x300dpi -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300x300dpi -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300x300dpi -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600x600dpi -sInkType=CMYK -dImageType=1" ;; photo) RESOLUTION=1200x600 GS_FEATURES="$GS_FEATURES -sQuality=1200x600dpi -sInkType=PhotoCMYK -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/bjc-82000000644000175000017500000000212307375500231020075 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/bjc-8200,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300x300dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300x300dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300x300dpi -dImageType=1" ;; high) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600x600dpi -dImageType=1" ;; photo) RESOLUTION=1200x1200 GS_FEATURES="$GS_FEATURES -sQuality=1200x1200dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/compaq-ij7500000644000175000017500000000240207375500231021064 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/compaq-ij750,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x600 GS_FEATURES="$GS_FEATURES -sQuality=300x600dpi -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=300x600 GS_FEATURES="$GS_FEATURES -sQuality=300x600dpi -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x600 GS_FEATURES="$GS_FEATURES -sQuality=300x600dpi -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=600x600 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi GS_FEATURES="$GS_FEATURES -sQuality=600$sweep -sInkType=CMYK -dImageType=1" ;; photo) RESOLUTION=1200x1200 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi GS_FEATURES="$GS_FEATURES -sQuality=1200$sweep -sInkType=PhotoCMYK -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp20000644000175000017500000000232307375500231017766 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 GS_FEATURES="$GS_FEATURES -sQuality=360x90dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360mw$sweep -dImageType=1" ;; high) RESOLUTION=720x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720x360sw$sweep -dImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720mw$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-100000000644000175000017500000000246207375500231020430 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-10000,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 GS_FEATURES="$GS_FEATURES -sQuality=360x90dpi -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180dpi -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360mw$sweep -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720fol$sweep -sInkType=PhotoCMYK -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720fol$sweep -sInkType=PhotoCMYK -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-11600000644000175000017500000000242107417130336020354 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-1160,v 1.1.2.1 2002/01/09 21:06:38 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 GS_FEATURES="$GS_FEATURES -sQuality=360x120sw -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x240 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi GS_FEATURES="$GS_FEATURES -sQuality=360x240sw -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360sw$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-12000000644000175000017500000000245707375500231020356 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-1200,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 GS_FEATURES="$GS_FEATURES -sQuality=360x120sw -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x240 GS_FEATURES="$GS_FEATURES -sQuality=360sw -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360sw$sweep -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -sInkType=PhotoCMYK -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -sInkType=PhotoCMYK -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-12800000644000175000017500000000246307375500231020363 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-1280,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 GS_FEATURES="$GS_FEATURES -sQuality=360x120sw -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x240 GS_FEATURES="$GS_FEATURES -sQuality=360x240sw -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360sw$sweep -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -sInkType=PhotoCMYK -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -sInkType=PhotoCMYK -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-15000000644000175000017500000000232507375500231020353 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-1500,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 GS_FEATURES="$GS_FEATURES -sQuality=360x90dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi GS_FEATURES="$GS_FEATURES -sQuality=360$sweep -dImageType=1" ;; high) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360mw$sweep -dImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720mw$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-15200000644000175000017500000000233607375500231020357 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-1520,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x180 GS_FEATURES="$GS_FEATURES -sQuality=360x180dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360mw$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep=sw GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-4000000644000175000017500000000233207375500231020267 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-400,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 GS_FEATURES="$GS_FEATURES -sQuality=360x120dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x240 GS_FEATURES="$GS_FEATURES -sQuality=360x240dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi GS_FEATURES="$GS_FEATURES -sQuality=360$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720hq$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-4400000644000175000017500000000233007563236703020302 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-440,v 1.1.2.1 2002/11/09 16:54:27 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 GS_FEATURES="$GS_FEATURES -sQuality=360x90dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi GS_FEATURES="$GS_FEATURES -sQuality=360$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720hq$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-4800000644000175000017500000000232707375500231020303 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-480,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 GS_FEATURES="$GS_FEATURES -sQuality=360x120sw -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x240 GS_FEATURES="$GS_FEATURES -sQuality=360x240sw -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360sw$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720hq$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-6000000644000175000017500000000233107375500231020270 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-600,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 GS_FEATURES="$GS_FEATURES -sQuality=360x90dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360mw$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-6600000644000175000017500000000232707375500231020303 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-660,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 GS_FEATURES="$GS_FEATURES -sQuality=360x90sw -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180sw -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360mw$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-6700000644000175000017500000000232707375500231020304 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-670,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 GS_FEATURES="$GS_FEATURES -sQuality=360x90sw -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180sw -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360sw$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-6800000644000175000017500000000233507375500231020304 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-680,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 GS_FEATURES="$GS_FEATURES -sQuality=360x120sw -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x240 GS_FEATURES="$GS_FEATURES -sQuality=360x240sw -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360sw$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-7000000644000175000017500000000245607375500231020301 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-700,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 GS_FEATURES="$GS_FEATURES -sQuality=360x90dpi -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180dpi -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360mw$sweep -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -sInkType=PhotoCMYK -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -sInkType=PhotoCMYK -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-7200000644000175000017500000000245407375500231020301 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-720,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 GS_FEATURES="$GS_FEATURES -sQuality=360x90sw -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180sw -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360sw$sweep -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -sInkType=PhotoCMYK -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -sInkType=PhotoCMYK -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-9000000644000175000017500000000233107375500231020273 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-900,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180sw -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x180 GS_FEATURES="$GS_FEATURES -sQuality=360x180sw -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360sw$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-c700000644000175000017500000000233507375500231020360 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-c70,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x180 GS_FEATURES="$GS_FEATURES -sQuality=360x180sw -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x180 GS_FEATURES="$GS_FEATURES -sQuality=360x180sw -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360sw$sweep -dImageType=1" ;; high) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720sw$sweep -dImageType=1" ;; photo) RESOLUTION=1440x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=1440x720sw$sweep -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-photo0000644000175000017500000000245607375500231021124 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-photo,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x90 GS_FEATURES="$GS_FEATURES -sQuality=360x90dpi -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=180x180 GS_FEATURES="$GS_FEATURES -sQuality=180dpi -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360mw$sweep -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=720x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720x360sw$sweep -sInkType=PhotoCMYK -dImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720hq$sweep -sInkType=PhotoCMYK -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/escp2-pro0000644000175000017500000000246207375500231020570 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/escp2-pro,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=360x120 GS_FEATURES="$GS_FEATURES -sQuality=360x120dpi -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=360x240 GS_FEATURES="$GS_FEATURES -sQuality=360x240dpi -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=360x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=360mw$sweep -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=720x360 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720x360sw$sweep -sInkType=PhotoCMYK -dImageType=1" ;; photo) RESOLUTION=720x720 [ "$SWEEP" = uni ] && sweep=uni || sweep= GS_FEATURES="$GS_FEATURES -sQuality=720mw$sweep -sInkType=PhotoCMYK -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPhoto" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/lexmark-40760000644000175000017500000000173107375500231021015 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/lexmark-4076,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" ;; *) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Bond" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=Glossy" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=Premium" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/lexmark-z520000644000175000017500000000241107375500231021031 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/lexmark-z52,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x600 GS_FEATURES="$GS_FEATURES -sQuality=300x600dpi -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=300x600 GS_FEATURES="$GS_FEATURES -sQuality=300x600dpi -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=600x600 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi GS_FEATURES="$GS_FEATURES -sQuality=600$sweep -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=1200x1200 [ "$SWEEP" = uni ] && sweep=uni || sweep=dpi GS_FEATURES="$GS_FEATURES -sQuality=1200$sweep -sInkType=PhotoCMYK -dImageType=1" ;; photo) RESOLUTION=2400x1200 GS_FEATURES="$GS_FEATURES -sQuality=2400x1200hq -sInkType=PhotoCMYK -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Coated" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/pcl-11000000644000175000017500000000247307375500231020115 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/pcl-1100,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" ;; high) if [ "$COLOR" = full ]; then RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" else RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600mono -dImageType=1" fi ;; photo) if [ "$COLOR" = full ]; then RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=2" else RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600mono -dImageType=2" fi ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Bond" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/pcl-12000000644000175000017500000000173407375500231020115 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/pcl-1200,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" ;; *) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Bond" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/pcl-12200000644000175000017500000000207107375500231020112 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/pcl-1220,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" ;; high) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600dpi -dImageType=1" ;; photo) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Bond" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/pcl-20000644000175000017500000000122607436250567017704 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/pcl-2,v 1.1.2.1 2002/02/24 20:47:51 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" ;; *) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac apsfilter-7.2.6.orig/driver/stp/pcl-40000644000175000017500000000136307436250567017710 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/pcl-4,v 1.1.2.1 2002/02/24 20:47:51 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" ;; high) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600dpi -dImageType=1" ;; photo) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac apsfilter-7.2.6.orig/driver/stp/pcl-6000000644000175000017500000000250207375500231020032 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/pcl-600,v 1.1 2001/11/17 15:22:01 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" ;; high) if [ "$COLOR" = full ]; then RESOLUTION=600x300 GS_FEATURES="$GS_FEATURES -sQuality=600x300dpi -dImageType=1" else RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600mono -dImageType=1" fi ;; photo) if [ "$COLOR" = full ]; then RESOLUTION=600x300 GS_FEATURES="$GS_FEATURES -sQuality=600x300dpi -dImageType=2" else RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600mono -dImageType=2" fi ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Bond" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/pcl-6900000644000175000017500000000221107375500232020041 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/pcl-690,v 1.1 2001/11/17 15:22:02 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -sInkType=CMYK -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -sInkType=CMYK -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -sInkType=CMYK -dImageType=1" ;; high) RESOLUTION=600x300 GS_FEATURES="$GS_FEATURES -sQuality=600x300dpi -sInkType=Photo -dImageType=2" ;; photo) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600dpi -sInkType=Photo -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Bond" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/pcl-7500000644000175000017500000000247207375500232020047 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/pcl-750,v 1.1 2001/11/17 15:22:02 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" ;; high) if [ "$COLOR" = full ]; then RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" else RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600mono -dImageType=1" fi ;; photo) if [ "$COLOR" = full ]; then RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=2" else RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600mono -dImageType=2" fi ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Bond" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/driver/stp/pcl-8100000644000175000017500000000207407375500232020042 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/driver/stp/pcl-810,v 1.1 2001/11/17 15:22:02 andreas Exp $ case "$QUALITY" in draft) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=VeryFast" ;; low) RESOLUTION=150x150 GS_FEATURES="$GS_FEATURES -sQuality=150dpi -dImageType=0 -sDither=Fast" ;; medium) RESOLUTION=300x300 GS_FEATURES="$GS_FEATURES -sQuality=300dpi -dImageType=1" ;; high) RESOLUTION=600x300 GS_FEATURES="$GS_FEATURES -sQuality=600x300dpi -dImageType=2" ;; photo) RESOLUTION=600x600 GS_FEATURES="$GS_FEATURES -sQuality=600dpi -dImageType=2" ;; esac case "$COLOR" in full) GS_FEATURES="$GS_FEATURES -dColor=1" ;; gray) GS_FEATURES="$GS_FEATURES -dColor=0" ;; mono) GS_FEATURES="$GS_FEATURES -dColor=2" ;; esac case "$MEDIA" in coated) GS_FEATURES="$GS_FEATURES -sMediaType=Bond" ;; glossy) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPaper" ;; premium) GS_FEATURES="$GS_FEATURES -sMediaType=GlossyPro" ;; trans) GS_FEATURES="$GS_FEATURES -sMediaType=Transparency" ;; plain) GS_FEATURES="$GS_FEATURES -sMediaType=Plain" ;; esac apsfilter-7.2.6.orig/man/0000755000175000017500000000000010203621210015462 5ustar covencoven00000000000000apsfilter-7.2.6.orig/man/aps2file.1.in0000644000175000017500000000745207436250570017713 0ustar covencoven00000000000000.\" .\" $ApsCVS: src/apsfilter/man/aps2file.1.in,v 1.1.2.8 2002/02/24 20:47:52 andreas Exp $ .\" .Dd Dec 19, 2001 .Dt APS2FILE 1 .Os .Sh NAME .Nm aps2file .Nd printing to a file via apsfilter .Sh SYNOPSIS .Nm aps2file .Op Fl D .Op Fl P Ns Ar queue .Op Fl Z Ns Ar options .Op Fl o Ns Ar output .Op Ar input .Nm aps2file .Op Fl h .Sh DESCRIPTION With .Nm aps2file you can direct the printer data generated by .Xr apsfilter 1 into an arbitrary file without the use of a spooler. .Sh OPTIONS .Bl -tag -width XXXXXXXXXX -compact .It \fB\-h\fR show help screen .It \fB\-D\fR enable debug mode .It \fB\-P Ns Ar queue\fR select a printer queue (different from the default one) .It \fB\-Z Ns Ar options\fR use .Ic apsfilter command line options (comma-separated list) .It \fB\-o Ns Ar output\fR direct data stream to .Ic output (default: stdout) .It \fBinput\fR read data from .Ic input (default: stdin) .El .Pp Unlike printing with .Xr lpr 1 , you can only use one input file at a time. .Pp Using .Nm is also the recommended way to create a debugging log of a failed printing attempt. If you include the .Fl D flag, the .Ic apsfilter shell script will log every command and print it to .Ic stderr . To save the output for inclusion into a bug report, you should therefore use a command of the sort .Dl aps2file -D -o /dev/null [-P...] [-Z...] [input] 2> log.txt .Sh NOTES .Nm only works correctly with entries in \fI@printcap@\fR that have been created by \fB@datadir@/apsfilter/SETUP\fR. .Sh FILES .Bl -tag -width @datadir@/apsfilter/bin/apsfilter -compact .It Pa @printcap@ printer capability data base .It Pa @datadir@/apsfilter/bin/apsfilter apsfilter script .Sh SEE ALSO .Xr apsfilter 1 , .Xr apsfilter-bug 1 , .Xr apspreview 1 , .Xr apsfilterrc 5 , .Xr printcap 5 .Sh BUGS See apsfilter software center - .Li http://www.apsfilter.org/ - for new versions, bugfixes and known bugs. .Pp Please use the new tool .Xr apsfilter-bug 1 to release bug- or problem reports. It automatically presents you a .Nm form in an editor window which asks you some standard questions. If you save and quit the editor session, then this report is sent automatically via .Nm e-mail to the proper apsfilter mailinglist. .Pp If apsfilter fails to print something or prints it in a way you wouldn't expect and you want to report an apsfilter error then please save the debugging output of one print session using the new .Xr aps2file 1 utility by typing .Nm aps2file -D -Z options file > /dev/null 2> file.debug and including the debugging output in the file .Nm file.debug into the edit session of the .Nm apsfilter-bug utility, so that it is included into the mail to the apsfilter mailinglist. .Pp Please note that you need to run /bin/sh (Bourne Shell), bash or a compatible shell, so that the above mentioned output redirection works. Under C-shell (/bin/csh) or tcsh it would't work. If you don't know, then simply make sure you use the Bournce shell by typing .Nm /bin/sh or .Nm bash , then you should have no problems with redirection of .Nm stdout and .Nm stderr (> /dev/null 2> file.debug). .Sh DOCUMENTATION See official apsfilter homepage .Bl -tag -width XXXXXXXXXXXXXTHIS_MUCH_SPACEXXXXXXXXXXX -compact .It Pa http://www.apsfilter.org/handbook.html Apsfilter Handbook including the Frequently Asked Questions (FAQ) .Sh USER FORUM Please send questions to the official apsfilter help channel .Ic apsfilter-help@apsfilter.org . The above section .Nm BUGS and the file .Ic HOWTO-BUGREPORTS tells you how to report bugs. If you want to know how to troubleshoot your apsfilter installation, please read the manpage .Xr aps2file 1 and .Xr apsfilter-bug 1 as well as the .Ic Apsfilter Handbook carefully. .Sh HISTORY The .Nm manpage has been written by Michael Loßin and first appeared in apsfilter V 7.1.0. apsfilter-7.2.6.orig/man/apsfilter-bug.1.in0000644000175000017500000000760007436250570020745 0ustar covencoven00000000000000.\" .\" $ApsCVS: src/apsfilter/man/apsfilter-bug.1.in,v 1.1.2.3 2002/02/24 20:47:52 andreas Exp $ .\" .Dd Dec 26, 2001 .Dt APSFILTER-BUG 1 .Os .Sh NAME .Nm apsfilter-bug .Nd create a half-automatic bug report for apsfilter .Sh SYNOPSIS .Nm apsfilter-bug .Sh OPTIONS none .Sh DESCRIPTION With the .Nm apsfilter-bug script you can automatically create a bug report for .Xr apsfilter 1 . A template report file is created which you can edit with your favourite editor ( .Xr emacs 1 by default, or whatever is entered in the environment variable .Ic EDITOR ). .Pp You will see a couple of lines starting with '#'; these lines will be removed before the report is sent. So if you want to use the '#' character at the beginning of a line, just indent it with a space. .Pp A very important piece of the bug report is the debugging log created by .Xr aps2file 1 , probably with a command like .Dl aps2file -D -o /dev/null [-P...] [-Z...] [input] 2> log.txt Unless you don't even have a chance to create a debugging log, it is crucial for serious bug hunting. .Pp After you have filled in as much (useful) information as possible, you must save the file under its original name, then exit your editor. .Pp If you invoked .Nm by accident, or if you need some additional system information to include into the bug report, just exit your editor without saving the file. .Sh NOTES In addition to the stuff you've edited, some more information is appended to the bug report automatically: .Pp .Bl -tag -width ghostscript_version -compact .It apsfilter version @VERSION@-@branch@ .It ghostscript version (from 'gs --version') .It system id (from 'uname -a') .It configure options @confopts@ .It shell executable @shell@ .It awk executable @awk@ .It sendmail executable @sendmail@ .Sh FILES .Bl -tag -width @bindir@/aps2file -compact .It Pa @bindir@/aps2file script to create debugging output .Sh SEE ALSO .Xr apsfilter 1 , .Xr aps2file 1 .Sh BUGS See apsfilter software center - .Li http://www.apsfilter.org/ - for new versions, bugfixes and known bugs. .Pp Please use the new tool .Xr apsfilter-bug 1 to release bug- or problem reports. It automatically presents you a .Nm form in an editor window which asks you some standard questions. If you save and quit the editor session, then this report is sent automatically via .Nm e-mail to the proper apsfilter mailinglist. .Pp If apsfilter fails to print something or prints it in a way you wouldn't expect and you want to report an apsfilter error then please save the debugging output of one print session using the new .Xr aps2file 1 utility by typing .Nm aps2file -D -Z options file > /dev/null 2> file.debug and including the debugging output in the file .Nm file.debug into the edit session of the .Nm apsfilter-bug utility, so that it is included into the mail to the apsfilter mailinglist. .Pp Please note that you need to run /bin/sh (Bourne Shell), bash or a compatible shell, so that the above mentioned output redirection works. Under C-shell (/bin/csh) or tcsh it would't work. If you don't know, then simply make sure you use the Bournce shell by typing .Nm /bin/sh or .Nm bash , then you should have no problems with redirection of .Nm stdout and .Nm stderr (> /dev/null 2> file.debug). .Sh DOCUMENTATION See official apsfilter homepage .Bl -tag -width XXXXXXXXXXXXXTHIS_MUCH_SPACEXXXXXXXXXXX -compact .It Pa http://www.apsfilter.org/handbook.html Apsfilter Handbook including the Frequently Asked Questions (FAQ) .Sh USER FORUM Please send questions to the official apsfilter help channel .Ic apsfilter-help@apsfilter.org . The above section .Nm BUGS and the file .Ic HOWTO-BUGREPORTS tells you how to report bugs. If you want to know how to troubleshoot your apsfilter installation, please read the manpage .Xr aps2file 1 and .Xr apsfilter-bug 1 as well as the .Ic Apsfilter Handbook carefully. .Sh HISTORY The .Nm manpage has been written by Michael Loßin and first appeared in apsfilter V 7.1.0. apsfilter-7.2.6.orig/man/apsfilter.1.in0000644000175000017500000002432707563454360020203 0ustar covencoven00000000000000.\" Copyright (c) 2000 .\" Andreas Klemm . All rights reserved. .\" .\" $ApsCVS: src/apsfilter/man/apsfilter.1.in,v 1.23.2.11 2002/11/10 13:02:40 andreas Exp $ .\" .Dd May 19, 2001 .Dt APSFILTER 1 .Os .Sh NAME .Nm apsfilter .Nd magic print filter with auto file type recognition .Sh SYNOPSIS .Nm lpr .Op Fl P Ns Ar printer .Op Fl C Ar option1:...:optionN .Op Ar file ... (lpd style) .Nm lpr .Op Fl P Ns Ar printer .Op Fl Z Ar option1:...:optionN .Op Ar file ... (LPRng style) .Nm lp .Op Fl d Ar printer .Op Fl o Ar option1:...:optionN .Op Ar file ... (Solaris style) .Sh DESCRIPTION .Nm Apsfilter is a magic print filter which allows you to print different document types .Dq automagically without having to convert them manually into a document format which is understood by your printer hardware. .Pp .Nm Apsfilter uses third-party software to convert every supported file type into PostScript (PS) first. If you have a real PS printer, the data stream is then sent directly to the PS printer, otherwise it is piped through the famous PS interpreter .Xr gs 1 which supports a wide range of output devices. .Pp Thus the question whether a particular printer is supported by .Nm is actually the question of it either understanding PS directly, or being supported by .Xr gs 1 in some way (possibly using some emulation of another printer's software interface, like Epson's ESC/P2 or HP's PCL). .Pp Another important thing to remember is that the required driver support has to be present in the installed .Xr gs 1 binary. .Ic gs -h lists (among others) which drivers are currently compiled in. SETUP warns when a selected driver is missing and guides in choosing another driver. .Pp The .Em FreeBSD ports collection offers an easy and comfortable framework for FreeBSD users to configure and install apsfilter, .Xr gs 1 , gs third-party driver and filter programs for their personal needs. .Pp The .Nm script is designed to avoid temporary files as much as possible. So it is very efficient in use and doesn't fill up filesystems even when printing large printjobs in high resolution and best print quality. .Pp .Nm Apsfilter offers a wide range of customization options through config files and .Xr lpr 1 command line options, see below. .Ss Advantages over other magic filters .Nm Apsfilter and its SETUP is completely written in a script language (see .Xr sh 1 ). So it is easy to understand and modify even for users and admins who are quite new to the Unix business. .Pp .Nm Apsfilter is highly customizable and its developement since 1994 has shown that it scales very well with the still growing demand of additional features. .Ss Supported printers Apsfilter supports locally connected serial, parallel and USB printers. .Pp Remote printing cababilities: Unix remote printing (lpd protocol), printing to an AppleTalk remote printer via .Xr pap 1 as well as Windows remote printing via SAMBAs .Xr smbclient 1 on Windows 95/98/NT/2000 printer as guest user or using a real password protected Windows account. .Pp .Nm Apsfilter \&'s SETUP utility supports in installing all supported printer types, no matter if local or remote printer, into the printer capability database .Pa @printcap@ . .Ss Supported file types ar, arc, arj, ASCII, BMP, CAB, cpio, DATA, DVI, FBM, FIG, FITS, GIF, Group 3 FAX, HTML, IFF ILBM, JPEG, Kodak Photo CD (PCD), LHA, MGR, MIFF, PAM, PGM, PBM, PNM, PPM, PDF, PNG, Postscript (PS), RAR, RLE, RPM, SGI, Sketch, Sunraster, TAR, Targa (TGA), TIFF ROFF, WMF, WorPerfect graphics, XCF, X Pixmap (XPM), X Window dump (XWD), ZIP, ZOO. Note that actual support depends on the installed filter programs. .Ss Installation Extract the tarball and execute .Ic ./configure in the .Nm apsfilter directory (maybe with some options; use .Ic ./configure --help to see a listing). .Pp After that, login as root and call .Ic make install ; then you can set up printers with .Ic @datadir@/apsfilter/SETUP . .Pp SETUP adds the printer to the @printcap@ database to make it available to the .Xr lpd 8 print spooler, and configures .Nm for operation with that printer. .Pp After successfull installation, SETUP remembers its previous configuration settings in a file called .Pa SETUP.cfg . .Ss Command line options Several command line options to .Nm apsfilter are available which allow the user to influence the printing quality, color mode, paper size etc. The .Em handbook includes a detailed listing. .Pp Here a short description of options: .Bl -tag -width XX_THIS_MUCH_SPACE_XX .It Nm draft Draft quality. .It Nm lo|low Low quality. .It Nm med|medium Medium quality. .It Nm hi|high High quality. .It Nm photo Photo quality. .It Nm uni|bi Uni-/bi-directional sweeps. .It Nm plain Plain paper. .It Nm coated Coated (inkjet) paper. .It Nm glossy Glossy paper. .It Nm premium Premium (photo) paper. .It Nm trans Transparencies. .It Nm color|colour Color printing. .It Nm gray|grey Gray printing. .It Nm mono B/W printing. .It Nm auto Automatic filetype recognition and data conversion. .It Nm ascii Force printing as ASCII document. For example to print Postscript source code without actually interpreting it. .It Nm raw Pass-through mode, your print data won't be changed by any filter. .It Nm a3|a4|legal|ledger|tabloid Paper size. .It Nm a2ps|mpage|enscript|recode Text file filter to use, when printing ASCII documents. .It Nm tray0...tray9 Paper feed tray number. .It Nm pretty=N highlight level for pretty-printing (N=0,1,2) .It Nm header|noheader Whether you want headers in your text prints. .It Nm border|noborder Whether you want borders in your text prints. .It Nm 1pps|2pps|4pps|8pps Pages per sheet. .It Nm landscape|portrait Paper orientation. .It Nm book Output pages in "book" format, implies "2pps,duplex,shortbind" .It Nm duplex|simplex Whether to use duplex mode or not. .It Nm shortbind|longbind Paper binding edge. .It Nm copies=N Number of copies. .Sh EXAMPLES .Dl lpr -C high:color:glossy file.gif tex.dvi.gz file.html ... .Pp prints some files of different types no matter whether compressed or not on the Unix default printer (see .Xr lpr 1 ). .Pp The .Fl C option to the .Ic lpr command sets additional ghostscript driver-specific options. Here, .Ql high means .Em high resolution (e. g. 600 dpi for an HP Printer using gs's .Dq cdj850 printer driver), .Em color output (e.g. 32 bits per pixel), and the paper type is set to .Em glossy paper . .Pp .Dl lpr -C duplex somefile .Pp enables .Em pseudo duplex printing by halting the print queue after printing a documents even pages and so giving the user a chance to flip paper and restart printing after executing a special user command on the command line. .Pp User gets a notification mail containing a session oriented magic .Em wakeup command and .Em key which restarts printing of the odd pages of the print job. .Pp The so called .Em magic command makes sure that only the initiator of the print job is able to restart printing after reinserting the paper. .Pp .Em Beware, if you have nasty users, this can cause print jobs to hang, filling up the print queue and at least the /var file system. .Sh FILES .Bl -tag -width @docdir@/apsfilter/handbook.html -compact .It Pa @printcap@ printer capability data base .It Pa @datadir@/apsfilter/bin/apsfilter apsfilter script .It Pa @datadir@/apsfilter/SETUP printer installation script, creates/updates @printcap@ .It Pa @datadir@/apsfilter/SETUP.cfg saved settings from last printer setup .It Pa @docdir@/apsfilter/handbook.html the apsfilter handbook in HTML format .It Pa @sysconfdir@/apsfilter/ configuration directory .It Pa @sysconfdir@/apsfilter/apsfilterrc global configuration file .It Pa @sysconfdir@/apsfilter/apsN/ printer specific configuration directory .It Pa @sysconfdir@/apsfilter/apsN/apsfilterrc printer specific configuration file .It Pa $HOME/.apsfilter/apsfilterrc.apsN user definable printer specific configuration file .It Pa @sysconfdir@/apsfilter/apsN/smbclient.conf smbclient config file for printing on Windows remote printer .It Pa @sysconfdir@/apsfilter/apsN/pap.conf pap config file for printing on AppleTalk printer .It Pa @sysconfdir@/apsfilter/apsN/lpr.conf config file for remote printer that needs special treatment .Sh SEE ALSO .Xr aps2file 1 , .Xr apsfilter-bug 1 , .Xr apspreview 1 , .Xr gs 1 , .Xr gs-hpdj 1 , .Xr lpr 1 , .Xr smbclient 1 , .Xr apsfilterrc 5 , .Xr printcap 5 , .Xr lpd 8 .Sh BUGS See apsfilter software center - .Li http://www.apsfilter.org/ - for new versions, bugfixes and known bugs. .Pp Please use the new tool .Xr apsfilter-bug 1 to release bug- or problem reports. It automatically presents you a .Nm form in an editor window which asks you some standard questions. If you save and quit the editor session, then this report is sent automatically via .Nm e-mail to the proper apsfilter mailinglist. .Pp If apsfilter fails to print something or prints it in a way you wouldn't expect and you want to report an apsfilter error then please save the debugging output of one print session using the new .Xr aps2file 1 utility by typing .Nm aps2file -D -Z options file > /dev/null 2> file.debug and including the debugging output in the file .Nm file.debug into the edit session of the .Nm apsfilter-bug utility, so that it is included into the mail to the apsfilter mailinglist. .Pp Please note that you need to run /bin/sh (Bourne Shell), bash or a compatible shell, so that the above mentioned output redirection works. Under C-shell (/bin/csh) or tcsh it would't work. If you don't know, then simply make sure you use the Bournce shell by typing .Nm /bin/sh or .Nm bash , then you should have no problems with redirection of .Nm stdout and .Nm stderr (> /dev/null 2> file.debug). .Sh DOCUMENTATION See official apsfilter homepage .Bl -tag -width XXXXXXXXXXXXXTHIS_MUCH_SPACEXXXXXXXXXXX -compact .It Pa http://www.apsfilter.org/handbook.html Apsfilter Handbook including the Frequently Asked Questions (FAQ) .Sh USER FORUM Please send questions to the official apsfilter help channel .Ic apsfilter-help@apsfilter.org . The above section .Nm BUGS and the file .Ic HOWTO-BUGREPORTS tells you how to report bugs. If you want to know how to troubleshoot your apsfilter installation, please read the manpage .Xr aps2file 1 and .Xr apsfilter-bug 1 as well as the .Ic Apsfilter Handbook carefully. .Sh HISTORY The .Nm manpage appeared first in apsfilter V 5.4.0. apsfilter-7.2.6.orig/man/apsfilterrc.5.in0000644000175000017500000001575007563502225020526 0ustar covencoven00000000000000.\" Copyright (c) 2000-2002 .\" Andreas Klemm . All rights reserved. .\" .\" $ApsCVS: src/apsfilter/man/apsfilterrc.5.in,v 1.10.2.6 2002/11/10 16:08:53 andreas Exp $ .\" .Dd April 08, 2000 .Dt APSFILTERRC 5 .Os .Sh NAME .Nm apsfilterrc .Nd configuration file for magic print filter .Sh SYNOPSIS .Nm apsfillterrc .Sh DESCRIPTION .Nm Apsfilterrc is a configuration file for printers controlled by the .Xr apsfilter 1 magic filter. .Pp Every apsfilter printer in .Xr printcap 5 has an .Nm file of its own. .Pp There is one global apsfilterrc file that controls print characteristics for all printer. The printer-specific .Nm files have preference over the global one. .Pp Reasons for using an .Nm file are if it turns out, that you have to type in some commandline options too often or if an application is unable to parameterize the print command, so that you have to hardcode the print characteristic for such dumb applications. .Pp An enhancement to this concept are user-specific config files, that have preference over the global and the printer-specific config file. This allows configuration of print characteristics on a per-user basis. .Pp You should make use of user-specific config files instead of using the deprecated USE_USER_CODE variable, which compromises system security and is only an option on a single-user machine, see below. .Ss Capabilities .Bl -tag -width THIS_MUCH_SPACE .It Nm QUALITY Select print quality (draft, lo|low, med|medium, hi|high, photo). .It Nm SWEEP Print uni- or bidirectional (uni, bi). .It Nm MEDIA Select paper type (plain, coated, glossy, premium, trans). .It Nm COLOR Select color mode (color|colour, gray|grey, mono). .It Nm METHOD Choose apsfilters method of data processing (auto, ascii, raw). Automatic file type recognition and automatic conversion to Postscript is apsfilters default processing method. If you want to print mostly files `as is', you can set the default to 'raw', this disables any kind of file type recognition and conversion. If you want to print mostly everything as ASCII text, then you can set this option to 'ascii'. .It Nm PAPERSIZE Set the default paper size (a3, a4, legal, ledger, tabloid). .It Nm ASCII_FILTER Text file filter to use, when printing ASCII documents (a2ps, mpage, enscript, recode). .It Nm PAPERTRAY Paper feed tray number (tray0...tray9). .It Nm PRETTY_PRINTING a2ps highlight level for pretty-printing when using a2ps or enscript as ascii filter (0, 1, 2). See also ASCII_FILTER. .It Nm ASCII_HEADER Whether you want headers in your text prints when using a2ps, mpage or enscript as ascii filter (header, noheader). .It Nm ASCII_BORDER Whether you want borders in your text prints when using a2ps, mpage or enscript as ascii filter (border, noborder). .It Nm PS_NUP|ASCII_PPS Pages per sheet (1pps, 2pps, 4pps, 8pps). .It Nm LANDSCAPE|ASCII_LANDSCAPE Paper orientation (landscape, portrait). .It Nm PS_BOOK Output pages in "book" format, implies commandline options "2pps,duplex,shortbind". Related options: PS_NUP, ASCII_PPS, DUPLEX, BINDING. .It Nm DUPLEX Whether to use duplex mode or not (duplex, simplex). .It Nm BINDING Paper binding edge (shortbind, longbind). .It Nm COPIES Number of copies (copies=N). .It Nm USE_USER_CODE Enabling this option is a big potential security hole !!! If you don't understand this, DO NOT USE IT. It makes user manageable .Nm files possible which will be sourced (included/executed) during runtime of a printjob under the permissions of the calling process (lpd). This option is only valid for typical "single-user" systems, where a user wants direct access to an apsfilterrc without having to become root to make changes. A more conveniant way on a multi-user system, where security is an issue, is that a system administrator creates user-specific .Nm files. Additional informations can be found in the apsfilter handbook and in the apsfilterrc file together with some examples. .Sh FILES .Bl -tag -width THIS_MUCH_SPACE -compact .It Pa @sysconfdir@/apsfilter/apsfilterrc apsfilter .Em global config file, settings are overwriteable by more specific printer config files, see below. .It Pa @sysconfdir@/apsfilter/QUEUE/apsfilterrc apsfilter config file on a .Em per printer queue basis. This file has preference over the global config file. .It Pa @sysconfdir@/apsfilter/QUEUE/apsfilterrc.USER apsfilter config file on a .Em per user basis (per print queue). This file has preference over the global and the printer queue specific config file. .It Pa $HOME/.apsfilter/apsfilterrc.QUEUE A .Em user defineable config file on a per printer queue basis. This file has preference over the global, the printer queue specific and the central per user config file, which is administered by a system administrator. Enabling this has a deep impact on your systems security, .Em should NOT be used, especially on multi-user systems and is therefore .Em disabled by default. See comments to USE_USER_CODE variable. .Sh SEE ALSO .Xr apsfilter 1 , .Xr printcap 5 .Sh BUGS See apsfilter software center - .Li http://www.apsfilter.org/ - for new versions, bugfixes and known bugs. .Pp Please use the new tool .Xr apsfilter-bug 1 to release bug- or problem reports. It automatically presents you a .Nm form in an editor window which asks you some standard questions. If you save and quit the editor session, then this report is sent automatically via .Nm e-mail to the proper apsfilter mailinglist. .Pp If apsfilter fails to print something or prints it in a way you wouldn't expect and you want to report an apsfilter error then please save the debugging output of one print session using the new .Xr aps2file 1 utility by typing .Nm aps2file -D -Z options file > /dev/null 2> file.debug and including the debugging output in the file .Nm file.debug into the edit session of the .Nm apsfilter-bug utility, so that it is included into the mail to the apsfilter mailinglist. .Pp Please note that you need to run /bin/sh (Bourne Shell), bash or a compatible shell, so that the above mentioned output redirection works. Under C-shell (/bin/csh) or tcsh it would't work. If you don't know, then simply make sure you use the Bournce shell by typing .Nm /bin/sh or .Nm bash , then you should have no problems with redirection of .Nm stdout and .Nm stderr (> /dev/null 2> file.debug). .Sh DOCUMENTATION See official apsfilter homepage .Bl -tag -width XXXXXXXXXXXXXTHIS_MUCH_SPACEXXXXXXXXXXX -compact .It Pa http://www.apsfilter.org/handbook.html Apsfilter Handbook including the Frequently Asked Questions (FAQ) .Sh USER FORUM Please send questions to the official apsfilter help channel .Ic apsfilter-help@apsfilter.org . The above section .Nm BUGS and the file .Ic HOWTO-BUGREPORTS tells you how to report bugs. If you want to know how to troubleshoot your apsfilter installation, please read the manpage .Xr aps2file 1 and .Xr apsfilter-bug 1 as well as the .Ic Apsfilter Handbook carefully. .Sh HISTORY .Nm Apsfilter developement started in 1994. .Pp The .Nm file on a "per printer queue" basis appeared in apsfilter 5.4.0. apsfilter-7.2.6.orig/man/apspreview.1.in0000644000175000017500000000767007436250570020375 0ustar covencoven00000000000000.\" .\" $ApsCVS: src/apsfilter/man/apspreview.1.in,v 1.1.2.5 2002/02/24 20:47:52 andreas Exp $ .\" .Dd Dec 27, 2001 .Dt APSPREVIEW 1 .Os .Sh NAME .Nm apspreview .Nd preview PostScript file(s) as generated by apsfilter .Sh SYNOPSIS .Nm apspreview .Op Fl P Ns Ar queue .Op Fl Z Ns Ar options .Op Ar input... .Nm apspreview .Op Fl h .Sh DESCRIPTION With .Nm apspreview you can create a PostScript representation of the file(s) you are about to print in order to check it before actually printing. .Pp Your file(s) will be converted to PostScript according to the queue specific configuration, and afterwards you will be able to print all or some pages from your PostScript viewer application (gv, kghostview or ghostview). .Sh OPTIONS .Bl -tag -width XXXXXXXXXX -compact .It \fB\-h\fR show help screen .It \fB\-P Ns Ar queue\fR select a printer queue (different from the default one) .It \fB\-Z Ns Ar options\fR use .Ic apsfilter command line options (comma-separated list) .It \fBinput...\fR input file(s) [default: stdin] .El .Sh NOTES If you use the .Ic -P option, please remember to pass the same printer queue on to the .Xr lpr 1 command. .Pp Be careful if your printer queue configuration includes a setting to create multiple pages per sheet .Ic (PS_NUP=2, PS_NUP=4 or PS_NUP=8) . In order to make sure that .Xr apsfilter 1 does not repeat n-up printing, use the .Ic 1pps command line option when actually printing the file. .Pp .Nm only works correctly with entries in \fI@printcap@\fR that have been created by \fB@datadir@/apsfilter/SETUP\fR. All configuration settings will be copied from the relevant \fIapsfilterrc\fR files. .Sh FILES .Bl -tag -width @datadir@/apsfilter/bin/apsfilter -compact .It Pa @printcap@ printer capability data base .It Pa @datadir@/apsfilter/bin/apsfilter apsfilter script .It Pa @bindir@/aps2file tool to save apsfilter output to a file .Sh SEE ALSO .Xr apsfilter 1 , .Xr aps2file 1 , .Xr apsfilter-bug 1 , .Xr apsfilterrc 5 , .Xr printcap 5 .Sh BUGS See apsfilter software center - .Li http://www.apsfilter.org/ - for new versions, bugfixes and known bugs. .Pp Please use the new tool .Xr apsfilter-bug 1 to release bug- or problem reports. It automatically presents you a .Nm form in an editor window which asks you some standard questions. If you save and quit the editor session, then this report is sent automatically via .Nm e-mail to the proper apsfilter mailinglist. .Pp If apsfilter fails to print something or prints it in a way you wouldn't expect and you want to report an apsfilter error then please save the debugging output of one print session using the new .Xr aps2file 1 utility by typing .Nm aps2file -D -Z options file > /dev/null 2> file.debug and including the debugging output in the file .Nm file.debug into the edit session of the .Nm apsfilter-bug utility, so that it is included into the mail to the apsfilter mailinglist. .Pp Please note that you need to run /bin/sh (Bourne Shell), bash or a compatible shell, so that the above mentioned output redirection works. Under C-shell (/bin/csh) or tcsh it would't work. If you don't know, then simply make sure you use the Bournce shell by typing .Nm /bin/sh or .Nm bash , then you should have no problems with redirection of .Nm stdout and .Nm stderr (> /dev/null 2> file.debug). .Sh DOCUMENTATION See official apsfilter homepage .Bl -tag -width XXXXXXXXXXXXXTHIS_MUCH_SPACEXXXXXXXXXXX -compact .It Pa http://www.apsfilter.org/handbook.html Apsfilter Handbook including the Frequently Asked Questions (FAQ) .Sh USER FORUM Please send questions to the official apsfilter help channel .Ic apsfilter-help@apsfilter.org . The above section .Nm BUGS and the file .Ic HOWTO-BUGREPORTS tells you how to report bugs. If you want to know how to troubleshoot your apsfilter installation, please read the manpage .Xr aps2file 1 and .Xr apsfilter-bug 1 as well as the .Ic Apsfilter Handbook carefully. .Sh HISTORY The .Nm manpage has been written by Michael Loßin and first appeared in apsfilter V 7.1.0. apsfilter-7.2.6.orig/setup/0000755000175000017500000000000010203621210016047 5ustar covencoven00000000000000apsfilter-7.2.6.orig/setup/README0000644000175000017500000000072707157100270016751 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/README,v 1.8 2000/09/11 06:50:32 andreas Exp $ # devices-5.50 - description of gs 5.50 drivers options devices-6.01 - description of gs 6.01 drivers options printer-5.50 - list of supported printers in gs 5.50 printer-6.01 - list of supported printers in gs 6.01 printer-addon - list of 3rd party drivers printer-ppa - list of high quality drivers from gimp-print printer-ps - real Postscript Printer test.ps - Postscript test page apsfilter-7.2.6.orig/setup/devices-6.500000644000175000017500000042710707216660403020036 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/devices-6.50,v 1.1 2000/12/16 12:33:07 andreas Exp $ # Details of Ghostscript output devices Table of contents   + Notes on measurements   + MS Windows printers   + File formats   o JPEG file format (JFIF)   o TIFF file formats   + H-P 8xx, 1100, and 1600 color inkjet printers   o Drivers contained in gdevcd8.c   o Further documentation   + H-P 812, 815, 832, 880, 882, 895, and 970 color inkjet printers   o Drivers contained in gdevcd8.c   o Further documentation   + Other H-P color inkjet printers   o Drivers contained in gdevcdj.c   o Default paper size   o Deskjet physical limits   o Printer properties (command-line parameters)   # Bits per pixel   # Deskjet properties   # Paintjet XL300 / Paintjet XL properties   o Gamma correction   o HP's resolution-enhanced mode for Inkjet printers   o General tips   + Canon BJC-8200 printer   + Other Canon BubbleJet (BJC) printers   o History   o Configuring and building the BJC drivers   # Modify values in gdevbjc.h   # CMYK-to-RGB color conversion   # Vertical centering of the printable area   # Page margins   # Makefile and compilation   o Use of the drivers   # Supported Options and Defaults   # Device information   # Hardware margins   # PostScript printer description (PPD) files   # Customizing the PPD files   o How to report problems   o Acknowledgements   + Epson Stylus color printer (see also uniprint)   o Usage   o Options   o Application note and FAQ   # Support for A3 paper   # Margins, PageSize   # Stylus Color II / IIs and 1500   o Recommendations   # Color dithering experiments with gdevstc 1.21   o Color transformation   o ColorAdjustMatrix   o RGB / CMYK coding and transfer, and BitsPerPixel   o What is weaving?   o Print mode parameters   # Unidirectional   # Microweave, noWeave and OutputCode=deltarow   # Model   o Bugs and pitfalls   o Tests   # The various OutputCodes   # Printing time related to other options   o Acknowledgments   + uniprint, a flexible unified printer driver   o The state of this driver   o Notes on uniprint's background   o Godzilla's guide to the creation of Unified Printer Parameter (.upp ) files   o All parameters in brief   o uniprint's Roll of Honor   + Sun SPARCprinter   o Installation   o Problems   + Apple dot matrix printer For other information, see the Ghostscript overview. You may also be interested in how to build Ghostscript and install it, as well as the description of the driver interface. ------------------------------------------------------------------------------- Notes on measurements Several different important kinds of measures appear throughout this document: inches, centimeters and millimeters, points, and bits per pixel. Inches 1 inch equals 2.54 centimeters. The inch measure is sometimes represented by "in" or a quotation mark (") to the right of a measure, like 8.5in or 8.5"". Dots per inch, "dpi", are the common measure of printing resolution for dot-matrix, laser, and ink-jet printers. U.S. "letter" paper is exactly 8.5in×11in, approximately 21.6cm×27.9cm. (See in the usage documentation all the paper sizes predefined in Ghostscript.) Centimeters and millimeters ISO standard paper sizes such as A4 and A3 are commonly represented in the SI units of centimeters and millimeters. Centimeters are abbreviated "cm", millimeters "mm". ISO A4 paper is quite close to 21.0×29.7 centimeters (approximately 8.3×11.7 inches). Points Points are a measure traditionally used in the printing trade and now in PostScript, which specifies exactly 72 points per inch (approximately 28.35 per centimeter). The paper sizes known to Ghostscript are defined in the initialization file gs_statd.ps in terms of points. Bits per pixel Commonly abbreviated "bpp". ------------------------------------------------------------------------------- MS Windows printers This section was written by Russell Lang, the author of Ghostscript's MS Windows-specific printer driver, and updated by Pierre Arnaud, the current maintainer. The mswinpr2 device uses MS Windows printer drivers, and thus should work with any printer with device-independent bitmap (DIB) raster capabilities. The printer resolution cannot be selected directly using PostScript commands from Ghostscript: use the printer setup in the Control Panel instead. It is however possible to specify a maximum resolution for the printed document (see below). If no Windows printer name is specified in -sOutputFile, Ghostscript prompts for a Windows printer using the standard Print Setup dialog box. You must set the orientation to Portrait and the page size to that expected by Ghostscript; otherwise the image will be clipped. Ghostscript sets the physical device size to that of the Windows printer driver, but it does not update the PostScript clipping path. If a Windows printer name is specified in -sOutputFile using the format "\\ spool\printer_name", for instance gs ... -sOutputFile="\\spool\Apple LaserWriter II NT" then Ghostscript attempts to open the Windows printer without prompting (except, of course, if the printer is connected to FILE:). Ghostscript attempts to set the Windows printer page size and orientation to match that expected by Ghostscript, but doesn't always succeed. It uses this algorithm: 1. If the requested page size matches one of the Windows standard page sizes + /- 2mm, request that standard size. 2. Otherwise if the requested page size matches one of the Windows standard page sizes in landscape mode, ask for that standard size in landscape. 3. Otherwise ask for the page size by specifying only its dimensions. 4. Merge the requests above with the defaults. If the printer driver ignores the requested paper size, no error is generated: it will print on the wrong paper size. 5. Open the Windows printer with the merged orientation and size. The Ghostscript physical device size is updated to match the Windows printer physical device. Supported command-line parameters The mswinpr2 device supports a limited number of command-line parameters (e.g. it does not support setting the printer resolution). The recognized parameters are the following: -sDEVICE=mswinpr2 Selects the MS Windows printer device. If Ghostscript was not compiled with this device as the default output device, you have to specify it on the command line. -dNoCancel Hides the progress dialog, which shows the percent of the document page already processed and also provides a cancel button. This option is useful if GS is intended to print pages in the background, without any user intervention. -sOutputFile="\\spool\printer_name" Specifies which printer should be used. The printer_name should be typed exactly as it appears in the Printers control panel, including spaces. Supported options (device properties) Several extra options exist which cannot be set through the command-line, but only by executing the appropriate PostScript setup code. These options can be set through the inclusion of a setup file on the command-line: gs ... setup.ps ... The setup.ps file is responsible for the device selection, therefore you should not specify the -sDEVICE=mswinpr2 option on the command-line if you are using such a setup file. Here is an example of such a setup file: mark /NoCancel true % don't show the cancel dialog /BitsPerPixel 4 % force 4 bits/pixel /UserSettings << /DocumentName (Ghostscript document) % name for the Windows spooler /MaxResolution 360 % maximum document resolution >> (mswinpr2) finddevice % select the Windows device driver putdeviceprops setdevice This example disables the progress dialog (same as the -dNoCancel option), forces a 4 bits/pixel output resolution and specifies additional user settings, such as the document name (which will be displayed by the Windows spooler for the queued document) and the maximum resolution (here 360 dpi). It then finds and selects an instance of the MS Windows device printer and activates it. This will show the standard printer dialog, since no /OutputFile property was specified. The following options are available: /NoCancel boolean Disables (hides) the progress dialog when set to true or show the progress dialog if not set or set to false. /OutputFile string Specifies which printer should be used. The string should be of the form \\spool\printer_name, where the printer_name should be typed exactly as it appears in the Printers control panel, including spaces. /QueryUser integer Shows the standard printer dialog (1 or any other value), shows the printer setup dialog (2) or selects the default Windows printer without any user interaction (3). /BitsPerPixel integer Sets the device depth to the specified bits per pixel. Currently supported values are 1 (monochrome), 4 (CMYK with screening handled by Ghostscript) and 24 (True Color, dithering handled by the Windows printer driver; this option can produce huge print jobs). /UserSettings dict Sets additional options, defined in a dictionary. The following properties can be set: /DocumentName string Defines the user friendly document name which will be displayed by the Windows spooler. /DocumentRange [n1 n2] Defines the range of pages contained in the document. This information can be used by the printer dialog, in conjunction with the following property. /SelectedRange [n1 n2] Defines the selected range of pages. This information will be displayed in the printer dialog and will be updated after the user interaction. A PostScript program could check these values and print only the selected page range. /MaxResolution dpi Specifies the maximum tolerated output resolution. If the selected printer has a higher resolution than dpi, then Ghostscript will render the document with a submultiple of the printer resolution. For example, if MaxResolution is set to 360 and the output printer supports up to 1200 dpi, then Ghostscript renders the document with an internal resolution of 1200/4=300 dpi. This can be very useful to reduce the memory requirements when printing in True Color on some high resolution ink-jet color printers. These properties can be queried through the currentpagedevice operator. The following PostScript code snippet shows how to do it for some of the properties: currentpagedevice /BitsPerPixel get == % displays the selected depth currentpagedevice /UserSettings get % get the additional options.. /us exch def % ..and assign them to a variable us /DocumentName get == % displays the document name us /SelectedRange get == % displays the selected page range % other misc. informations (don't rely on them) us /Color get == % 1 => monochrome output, 2 => color output us /PrintCopies get == % displays the number of copies requested There are a few undocumented informations stored in the UserSettings dictionary. You should not rely on them. Their use is still experimental and they could be removed in a future version. Duplex printing If the Windows printer supports the duplex printing feature, then it will also be available through the mswinpr2 device. You can query for this support through the /Duplex propery of the currentpagedevice. If it returns null, then the feature is not supported by the selected printer. Otherwise, true means that the printer is currently set up to print on both faces of the paper and false that it is not, but that it can. The following example shows how to print on both faces of the paper (using the long side of the paper as the reference): << /Duplex true /Tumble false >> setpagedevice ------------------------------------------------------------------------------- File formats JPEG file format (JFIF) Ghostscript includes output drivers that can produce Independent JPEG Group JFIF (JPEG File Interchange Format) files from PostScript images. Please note that JPEG is a compression method specifically intended for continuous-tone images such as photographs, not for graphics, and it is therefore quite unsuitable for the vast majority of page images produced with PostScript, which should be saved in a form better for graphics, such as Portable Network Graphics (PNG) format. If you get crummy-looking JPEG files, don't blame Ghostscript; instead consult a reference about uses and abuses of JPEG, such as the JPEG FAQ http://www.faqs.org/faqs/jpeg-faq/ You can use the JPEG output drivers -- jpeg to produce color JPEG files and jpeggray for grayscale JPEGs -- the same as other file-format drivers: by specifying the device name and an output file name, for example gs -sDEVICE=jpeg -sOutputFile=foo.jpg foo.ps You can also use the -r switch to specify the imaging resolution and thus the output file's size in pixels. The default resolution is normally 72×72dpi. The JPEG devices support several special parameters to control the JPEG "quality setting" (DCT quantization level). -dJPEGQ=N (integer from 0 to 100, default 75) Set the quality level N according to the widely used IJG quality scale, which balances the extent of compression against the fidelity of the image when reconstituted. Lower values drop more information from the image to achieve higher compression, and therefore have lower quality when reconstituted. -dQFactor=M (float from 0.0 to 1.0) Adobe's QFactor quality scale, which you may use in place of JPEGQ above. The QFactor scale is used by PostScript's DCTEncode filter but is nearly unheard-of elsewhere. At this writing the default JPEG quality level of 75 is equivalent to -dQFactor =0.5, but the JPEG default might change in the future. The JPEG drivers could be extended to support additional JPEG compression options, such as the other DCTEncode filter parameters, but so far they haven't been. TIFF file formats There are two unrelated sets of TIFF drivers: tiff12nc and tiff24nc, which produce uncompressed color output, and all the other tiff* drivers, which produce black-and-white output with different compression modes. The black-and-white TIFF drivers support creation of files that are comprised of more than a single strip. Multi-strip files reduce the memory requirement on the reader, since readers need only store and process one strip at a time. These drivers provide two parameters beyond the standard set: -dMaxStripSize=N (non-negative integer; default = 0) Set the maximum (uncompressed) size of a strip. -dAdjustWidth=true|false (Boolean; default = true) If true, then if the requested page width is close to either A4 (1728 columns) or B4 (2048 columns), set the page width to A4 or B4 respectively. The TIFF 6.0 specification, Section 7, page 27, recommends that the size of each strip be about 8 Kbytes. As an example, to generate the 'tiger' in tiffg4 format that has the recommended strip size, use: gs -sDEVICE=tiffg4 -sOutputFile=tiger.tif -dMaxStripSize=8192 examples/tiger.ps If the value of the MaxStripSize parameter is smaller than a single image row, then no error will be generated, and the TIFF file will be generated correctly using one row per strip. Note that smaller strip sizes increase the size of the file by increasing the size of the StripOffsets and StripByteCounts tables, and by reducing the effectiveness of the compression which must start over for each strip. If the value of MaxStripSize is 0 (the default), then the entire image will be a single strip. ------------------------------------------------------------------------------- H-P 8xx, 1100, and 1600 color inkjet printers This section, written by Uli Wortmann , deals with the DeskJet 670, 690, 850, 855, 870, 890, 1100, and 1600. Drivers contained in gdevcd8.c The source module gdevcd8.c contains four generic drivers: cdj670      HP DeskJet 670 and 690 cdj850   HP DeskJet 850, 855, 870, and 1100 cdj890   HP DeskJet 890 cdj1600   HP DeskJet 1600 Further documentation Credits: Much of the driver is based on ideas derived from the cdj550 driver of George Cameron. The support for the hp670, hp690, hp890 and hp1600 was added by Martin Gerbershagen. 11.11.96     Version       1.0 25.08.97   Version   Resolved all but one of the known bugs, introduced 1.2 a couple of perfomance improvements. Complete new color-transfer-function handling (see gamma). 01.06.98   Version   Due to the most welcome contribution of Martin 1.3 Gerbershagen (ger@ulm.temic.de), support for the hp670, hp690 and hp890 and hp1600 has been added. Martin has also resolved all known bugs.         Problems:Dark colors are still pale. The hp690 is supported through the hp670 device, the hp855, hp870 and the hp1100 through the hp850 device. The driver needs no longer special switches to be invoked except -sDEVICE=cdj850, -sDEVICE=CDJ890, -sDEVICE=CDJ670, or -sDevice=CDJ1600. The following switches are supported. -dPapertype=     0     plain paper [default]   1   bond paper   2   special paper   3   glossy film   4   transparency film       Currently the lookup tables are unsuited for printing on special paper or transparencies. For these please revert to the gamma functions. -dQuality=   -1   draft   0   normal [default]   1   presentation -dRetStatus=   0   C-RET off   1   C-RET on [default] -dMasterGamma   3.0   [default = 1.0] = Note: To take advantage of the calibrated color-transfer functions, be sure not to have any gamma statements left! If you need to (i.e., for overhead transparencies), you still can use the gamma functions, but they will override the built-in calibration. To use gamma in the traditional way, set MasterGamma to any value greater than 1.0 and less than 10.0. To adjust individual gamma values, you have to additionally set MasterGamma to a value greater than 1.0 and less than 10.0. With the next release, gamma functions will be dropped. When using the driver, be aware that printing at 600dpi involves processing large amounts of data (> 188MB !). Therefore the driver is not what you would expect to be a fast driver ;-) This is no problem when printing a full-sized color page (because printing itself is slow), but it's really annoying if you print only text pages. Maybe I can optimize the code for text-only pages in a later release. Right now, it is recommended to use the highest possible optimisation level your compiler offers. For the time being, use the cdj550 device with -sBitsPerPixel=3 for fast proof prints. If you simply want to print 600dpi BW data, use the cdj550 device with -sBitsPerPixel=8 (or 1). Since the printer itself is slow, it may help to set the process priority of the gs process to "regular" or even less. On a 486/100MHz this is still sufficient to maintain a continuous data flow. Note to OS/2 users: simply put the gs window into the background or minimize it. Also make sure that print01.sys is invoked without the /irq switch (great speed improvement under Warp4). The printer default settings compensate for dot-gain by a calibrated color-transfer function. If this appears to be too light for your business graphs, or for overhead transparencies, feel free to set -dMasterGamma=1.7. Furthermore, you may tweak the gamma values independently by setting -dGammaValC, -dGammaValM, -dGammaValY or -dGammaValK (if not set, the values default to MasterGamma). This will only work when -dMasterGamma is set to a value greater than 1.0. Further information, bugs, tips etc, can be found at my website. To learn more about gamma, see ftp://ftp.igd.fhg.de/pub/doc/colour/GammaFAQ.pdf. Depending on how you transfer the files, under UNIX you may need to remove the CRs of the CR-LF sequence used for end-of-line on DOS-based (MS Windows-based) systems. You can do this in unpacking the files with unzip -a hp850.zip. To compile with gs5.x or later, simply add to your makefile DEVICE_DEVS4=cdj850.dev cdj670.dev cdj890.dev cdj1600.dev Have fun! Uli http://www.erdw.ethz.ch/~bonk/ ------------------------------------------------------------------------------- H-P 812, 815, 832, 880, 882, 895, and 970 color inkjet printers This section, written by Matthew Gelhaus , deals with the DeskJet 812, 815, 832, 880, 882, 895, and 970. This is a modified version of the HP8xx driver written by Uli Wortmann. More information and download are available at http://www.proaxis.com/~mgelhaus/ linux/software/hp880c/hp880c.html. Drivers contained in gdevcd8.c The source module gdevcd8.c contains one generic driver: cdj880      HP DeskJet 812, 815, 832, 880, 882, 895, and 970 Further documentation Credits: This driver is based on the cdj850 driver by Uli Wortmann, and shares the same internal structure, although the PCL3+ interpretation has changed. 15.03.99     Version     Initial version, based on Version 1.3 of Uli 1.3 Wortmann's driver. 26.02.00   Version   Greatly improved color handling & dithering, but 1.4beta not yet complete enough to use for text. All printers are supported through the cdj880 device. Invoke with -sDEVICE= cdj880. The following switches are supported. -dPapertype=     0     plain paper [default]   1   bond paper   2   special paper   3   glossy film   4   transparency film       Currently the lookup tables are unsuited for printing on special paper or transparencies. For these please revert to the gamma functions. -dQuality=   -1   draft   0   normal [default]   1   presentation -dMasterGamma   3.0   [default = 1.0] = The printer default settings compensate for dot-gain by a pre-defined color-transfer function. If this appears to be too light for your business graphs, or for overhead transparencies, feel free to set -dMasterGamma=1.7. Furthermore, you may tweak the gamma values independently by setting -dGammaValC, -dGammaValM, -dGammaValY or -dGammaValK (if not set, the values default to MasterGamma). This will only work when -dMasterGamma is set to a value greater than 1.0. Further information, bugs, tips etc, can be found at my website. To compile with gs6.x or later, simply add to your makefile DEVICE_DEVS4=$(DD)cdj880.dev Matthew Gelhaus http://www.proaxis.com/~mgelhaus ------------------------------------------------------------------------------- H-P color inkjet printers This section, written by George Cameron, deals with the DeskJet 500C, DeskJet 550C, PaintJet, PaintJet XL, PaintJet XL300, the DEC LJ250 operating in PaintJet-compatible mode. Drivers contained in gdevcdj.c The source module gdevcdj.c contains six generic drivers: cdj500      HP DeskJet 500C and 540C cdj550   HP DeskJet 550C, 560C, 660C, 660Cse pjxl300   HP PaintJet XL300, DeskJet 1200C, and CopyJet pjtest   HP PaintJet pjxltest   HP PaintJet XL declj250   DEC LJ250 All these drivers have 8-bit (monochrome), 16-bit and 24-bit (colour) and for the DJ 550C, 32-bit (colour, CMYK mode) options in addition to standard colour and mono drivers. It is also possible to set various printer-specific parameters from the command line, for example gs -sDEVICE=cDeskJet -dBitsPerPixel=16 -dDepletion=1 -dShingling=2 tiger.ps Note: the old names cDeskJet, cdjcolor and cdjmono drivers have been retained; however, their functionality duplicates that available using the drivers above (and cDeskJet is identical to cdj500). That is, we can use gs -sDEVICE=cdj500 -dBitsPerPixel=24     for cdjcolor, and gs -sDEVICE=cdj500 -dBitsPerPixel=1   for cdjmono Default paper size If the preprocessor symbol A4 is defined, the default paper size is ISO A4; otherwise it is U.S. letter size (see about paper sizes in the usage documentation). You can specify other paper sizes on the command line, including A3 for the PaintJet XL and PaintJet XL300, as also explained in the usage documentation. DeskJet physical limits The DeskJet's maximum printing width is 2400 dots, or 8 inches (20.32cm). The printer manuals say that the maximum recommended printing height on the page is 10.3 inches (26.16cm), but since this is obviously not true for A4 paper, and I have been unable to detect any problems in printing longer page lengths, this would seem to be a rather artificial restriction. All DeskJets have 0.5 inches (1.27cm) of unprintable bottom margin, due to the mechanical arrangement used to grab the paper. Side margins are approximately 0.25 inches (0.64cm) for U.S. letter paper, and 0.15 inches (0.38cm) for A4. Printer properties (command-line parameters) Several printer "properties" have been implemented for these printers. Those available so far are all integer quantities, and thus may be specified, for instance, like gs -dBitsPerPixel=32 -dShingling=1 ... which sets the BitsPerPixel parameter to 32 and the Shingling parameter to 1. Bits per pixel If the preprocessor symbol BITSPERPIXEL is defined as an integer (see below for the range of allowable values), that number defines the default bits per pixel (bit depth) for the generic drivers. If the symbol is undefined, the default is 24 bits per pixel. It is, of course, still possible to specify the value from the command line as described below. Note also that the cDeskJet, cdjcolor and cdjmono drivers are unaffected by setting this symbol, as their default settings are predefined to be 1, 3 and 24 respectively. All of the drivers in gdevcdj.c accept a command line option to set the BitsPerPixel property. This gives considerable flexibility in choosing various tradeoffs among speed, quality, colour, etc. The valid numbers are: 1 A standard Ghostscript monochrome driver, using black ink (by installing the separate mono cartridge in the case of the DeskJet 500C, or automatically for the other printers). 3 A standard Ghostscript colour driver, using internal dithering. This is fast to compute and to print, but the clustered dithering can lose some detail and colour fidelity. 8 An "error-diffusion" monochrome driver which uses Floyd-Steinberg dithering to print greyscale images. The patterns are much more randomised than with the normal clustered dithering, but the data files can be much larger and somewhat slower to print. 16 A "cheaper" version of the 24-bit driver, which generates Floyd-Steinberg colour dithered output using the minimum memory (this may be helpful when using Ghostscript has not been compiled using a 16-bit build environment). The quality can be almost as good as the 24-bit version. 24 A high-quality colour driver using Floyd-Steinberg dithering for maximum detail and colour range. However, it is very memory-intensive, and thus can be slow to compute. It tends to produce rather larger raw data files, so they can also take longer to print. 32 Only for the DeskJet 550C, which uses the black cartridge and the colour cartridge simultaneously (that is, CMYK printing). This printer can both be faster and give higher quality than the DeskJet 500C, because of the true black ink. (Note that the 24-bit mode also permits CMYK printing on this printer, and uses less memory. Any differences between 24-bit and 32-bit should be small.) DeskJet properties Name      Type        --------------------------------------------------------------------------- BlackCorrect   int   Colour correction to give better blacks when using the DJ500C in colour mode. For example, the default of 4 reduces the cyan component to 4/5. Range accepted: 0 - 9 (0 = none). Shingling   int   Interlaced, multi-pass printing: 0 = none, 1 = 50%, 2 = 25%, 2 is best and slowest. Depletion   int   "Intelligent" dot-removal: 0 = none, 1 = 25%, 2 = 50%, 1 best for graphics? Use 0 for transparencies. PaintJet XL300 / PaintJet XL properties Name      Type      --------------------------------------------------------------------------- PrintQuality   int   Mechanical print quality: -1 = fast, 0 = normal, 1 = presentation. Fast mode reduces ink usage and uses single-pass operation for some media types. Presentation uses more ink and the maximum number of passes, giving slowest printing for highest quality RenderType   int   0 driver does dithering 1 snap to primaries 2 snap black to white, others to black 3 ordered dither 4 error diffusion 5 monochrome ordered dither 6 monochrome error diffusion 7 cluster ordered dither 8 monochrome cluster ordered dither 9 user-defined dither (not supported) 10 monochrome user-defined dither ns. The PaintJet (non-XL) has no additional properties. Gamma correction One consequence of using Floyd-Steinberg dithering rather than Ghostscript's default clustered ordered dither is that it is much more obvious that the ink dots are rather larger on the page than their nominal 1/180-inch or 1/300-inch size (clustering the dots tends to minimise this effect). Thus it is often the case that the printed result is rather too dark. A simple empirical correction for this may be achieved by preceding the actual PostScript file to be printed by a short file which effectively sets the gamma for the device, such as gs ... gamma.ps colorpic.ps -c quit where gamma.ps is %! /.fixtransfer { currentcolortransfer 4 { mark exch dup type dup /arraytype eq exch /packedarraytype eq or 1 index xcheck and { /exec load } if 0.333 /exp load ] cvx 4 1 roll } repeat setcolortransfer } bind odef .fixtransfer /setpagedevice { setpagedevice .fixtransfer } bind odef This does the gamma correction after whatever correction the device might be doing already. To do the correction before the current correction, %! /.fixtransfer { currentcolortransfer 4 { mark 0.333 /exp load 4 -1 roll dup type dup /arraytype eq exch /packedarraytype eq or 1 index xcheck and { /exec load } if ] cvx 4 1 roll } repeat setcolortransfer } bind odef .fixtransfer /setpagedevice { setpagedevice .fixtransfer } bind odef This example sets the gamma for R, G, and B to 3, which seems to work reasonably well in practice. HP's resolution-enhanced mode for Inkjet printers This feature is available on HP's more recent inkjet printers, including the DeskJet 520 (mono), 540 (mono or colour) and 560C (mono and colour). The colour and monochrome drivers for the HP DeskJet 550c are (probably) the best you will get for use with Ghostscript, for the following reasons. These printers do not offer true 600×300dpi resolution. Those that print in colour are strictly 300×300dpi in colour mode, while in mono mode there is a pseudo 600×300dpi mode with the restriction that you can't print two adjacent dots. In effect what you have is 600dpi dot positioning, but on average you don't get more dots per line. This provides the possibility, for instance, to have sharper character outlines, because you can place dots on the edges nearer to their ideal positions. This is why it is worth doing. However, HP will not support user-level programming of this resolution-enhanced mode, one reason being that (I understand) all the dot spacing has to be done by the driver, and if you get it wrong, you can actually damage the print head. To summarise, you may lose a smidgin of (potential) text clarity using the 550c drivers (cdj550, cdjcolor, cdjmono etc.), but other than that, they are the ones for the job. General tips For all the printers above, the choice of paper is critically important to the final results. The printer manuals suggest type of paper, but in general, smoother, less fibrous types give better results. In particular, the special ink-jet paper can make a big difference: colours are brighter, but most importantly, there is almost no colour bleed, even with adjacent areas of very heavy inking. Similarly the special coated transparencies also work well (and ordinary transparencies do not work at all!). The Unix procedure unix-lpr.sh provides one example of setting up a multi-option colour PostScript lpr queue on Unix systems, and includes the ability to choose a range of different colour options and printer accounting and error logging. Caveat emptor! It is not always easy for me to test all of these drivers, as the only colour printer I have here is the DeskJet 500C. I rely on others to test drivers for the additional machines and report their findings back to me. ------------------------------------------------------------------------------- Canon BJC-8200 printer This section was contributed by the author of the uniprint configuration files for the Canon BJC-8200, Stephan C. Buchert . These files also handle the Japanese Canon F850 printer. Warning: Usage of this program is neither supported nor endorsed by the Canon corporation. Please see the Ghostscript license regarding warranty. Introduction The Canon Bubble Jet printer BJC-8200 is designed for printing digital photos and halftone images. Software drivers for Windows 95-2000 and Mac are usually included and can be downloaded from the Canon web sites like http:// www.ccsi.canon.com/bjc/bjc8200/ for the US market. If these drivers cannot be used for some reason, then at present Ghostscript is probably the alternative giving the best results. The BJC-8200 has features not found among the specs of earlier bubble jet models (except the even more advanced BJC-8500) and is advertised to offer: 1. microfine droplet technology; 2. support for printing on a new type of paper, Photo Paper Pro; 3. a printhead capable of printing up to 1200 DpI; 4. individual ink tanks for 6 colors; 5. an internal status monitor reporting low ink back to a driver; 6. an optional color scanner cartridge for up to 600 DpI resolution. Access to features 5 and 6 requires use of the original Canon drivers for the foreseeable future. This README is about getting the printer features 1-3 working with Ghostscript. No (re)compilation of Ghostscript is normally required. Ghostscript comes with a relatively highly configurable driver, called uniprint , for printers which understand raster images in various propriety formats. Most options for this driver are usually organized into files having the suffix ".upp." Ghostscript versions >= 5.10 (or even earlier) include such uniprint control files for the Canon BJC-610. They work also well for some other Canon Bubble Jet models, for example for my BJC-35vII. But when using them for a BJC-8200 the result is unsatisfactory. The uniprint control files for the BJC-8200 After some experimenting with the options for uniprint I have obtained quite satisfactory prints with my printer(*). This distribution includes six new uniprint control files:   * bj8pp12f.upp   * bj8hg12f.upp   * bj8gc12f.upp   * bj8oh06n.upp   * bj8ts06n.upp   * bj8pa06n.upp They are included in Ghostscript >=6.21. For older versions you can put them anywhere in the Ghostscript search path (type "gs -h" to see the path), but should perhaps add the files to the directory with the other *.upp files. This is "/usr/share/ghostscript/gs6.01/lib" in my RedHat 6.1 Linux box with Aladdin Ghostscript 6.01. Here is an explanation of my file name convention: the prefix "bj8" should perhaps be used for the Canon BJC-8200 and compatible (like the Japanese F850 and perhaps the non-Japanese BJC-8500) models. The next two letters indicate the print media:   * pp "Photo Paper Pro"   * hg "High Gloss Photo Film"   * gc "Glossy Photo Cards"   * oh "OHP transparencies"   * ts "T-shirt transfer"   * pa "Plain Paper" The numbers at positions 6 and 7 indicate the resolution   * 12 1200x1200 DpIxDpI   * 06 600x600 DpIxDpI The last letter stands for a quality factor that effects also the print speed (presumably related to the number of passes that the printhead makes).   * f highest quality   * n normal quality Printing a postcard size (~10x15 cm^2) image at 1200x1200 DpI^2 takes about 3 minutes. The output of Ghostscript is then typically 4-5 MByte. The bootleneck seems to be the transfer of the raster image in run-length encoded Canon format to the printer (via the parallel port on my system) or the printer's speed, not Ghostscript or the uniprint renderer. Further Optimization for the Canon BJC-8200 So far I have only experimented with the printer initialization code at the beginning of each page (-dupBeginPageCommand) and the resolution (-r). Other options, particularly the transfer arrays (-dupBlackTransfer, -dupCyanTransfer, -dupMagentaTransfer, -dupYellowTransfer) and the margins (-dupMargins) were simply copied from the files for the BJC-610, but they may need to be changed for optimized performance. Here is information useful for changing or adding uniprint control files for the BJC-8200: In "-dupBeginPageCommand=..." use the line 1b28 64 0400 04b0 04b0 for 1200x1200 resolution, and 1b28 64 0400 0258 0258 for 600x600. The "-r" option in the control file must of course match this line. Other resolutions might work as well, but I didn't try. Crucial are the numbers in the lines like 1b28 63 0300 3005 04 ^ ^ Plain Paper 0 4 Highest quality OHP transparency 2 . T-shirt transfer 3 . Glossy Photo Film 5 . High Gloss Paper 6 0 Lowest quality Photo Paper Pro 9 Outlook Presently uniprint can use the black (K), cyan (C), magenta (M), and yellow (Y) colors in the BJC-8200. The unused colors are photo (or light) cyan (c) and magenta (m). Also the Canon driver seems to use only CMYK, for example when printing on Photo Paper Pro in "Camera" or "SuperPhoto" mode. These modes supposedly produce prints of the best quality that the Canon driver can offer. Other modes of Canon driver do use up to all six color cartridges (CMYKcm). Therefore expanding uniprint's capabilities for six colors would be interesting, but it may not increase the output quality of 6-color printers such as the BJC-8200 drastically. More control files for uniprint could be added in order to offer more versatility for controlling the BJC-8200 within a Ghostscript installation. The number of possible combinations for media type, resolution and print quality factor is very large, many combinations would not make much sense, many might be used here and there, but relatively rarely. The user would have to remember a name for each combination that is used. A better way would be to let the user patch optionally a user owned or system wide uniprint control file before each print via some print tool. This is similar to the approach taken by Canon with their driver for Windows. Similarly a uniprint tool could also incorporate other functions such as printing test and demo pages and the low ink warning once the protocol for this is known. Clearly it would be difficult to code such a uniprint tool for all the platforms where Ghostscript is running. Usage on RedHat Linux In order to install a BJC-8200 printer on a RedHat Linux system with RedHat's printtool, you need also to insert with a text editor the contents of the file bj8.rpd into the RedHat printer database /usr/lib/rhs/rhs-printfilters/ printerdb. Insert it most appropriately after the section StartEntry: U_CanonBJC610 . . . EndEntry < --- insert here "bj8.rpd" from this distribution: < --- StartEntry: U_CanonBJC8200 . . . Contacting the Author E-mail address: Footnotes: (*) Actually I have a F850, not a BJC-8200. That model is sold for the Japanese market only. The specs and also the external look are the same as those of the BJC-8200 models for the American and European markets. I expect that the raster image mode which is used exclusively by Ghostscript is entirely compatible for both models. Stephan C. Buchert ------------------------------------------------------------------------------- Other Canon BubbleJet (BJC) printers This section was contributed by the author of the drivers, Yves Arrouye (< yves.arrouye@usa.net>, but please do not send questions to him: he no longer maintains these drivers.) The drivers handle Canon BJC-600, BJC-4xxx, BJC-70, Stylewriter 2x00, and BJC-800 printers. History The BJC-600 driver was written in the first place by Yoshio Kuniyoshi and later modified by Yves Arrouye. We tried to make it evolve synchronously, though Yoshio cannot be reached since a long time ago. The drivers are based on code for the HP printers by George Cameron (in fact, they are in the same file!), so he's the first person to thank. The 2.00 version of the drivers was a complete rewrite of the driver (arguments, optimization, colour handling, in short: everything!) by Yves Arrouye. That release was also the first one to be able to use the full width of an A3 paper size. PostScript Printer Description (PPD) files for the drivers were released with version 2.15. They are incomplete, but they can be used to drive the printers' main features. Configuring and building the BJC drivers Modify values in gdevbjc.h Configure the drivers by modifying the default values in the file gdevbjc.h or on the compilation line. If you don't do that, the drivers use reasonable defaults that make them work "as expected". All default values shown here are defined in that file. CMYK-to-RGB color conversion By default, the drivers use the same algorithm as Ghostscript to convert CMYK colors to RGB. If you prefer to use Adobe formulas, define USE_ADOBE_CMYK_RGB when compiling. (See the top of the file gdevcdj.c to see the difference between the two.) Vertical centering of the printable area The drivers center the imageable area horizontally but not vertically, so that what can be printed does use the most of the output media. If you define BJC_DEFAULT_CENTEREDAREA when compiling, then the top and bottom margins will be the same, resulting in a (smaller) vertically centered imageable area also. Page margins If you define USE_RECOMMENDED_MARGINS, then the top and bottom margins will be the same (that is, BJC_DEFAULT_CENTEREDAREA will be defined for you) and the margins will be the 12.4mm recommended by Canon. Since margins are complicated (because one must rely on the mechanical precision of the printer), the drivers do something about the bottom margin: by default the bottom margin is 9.54mm for the BJC-600 driver and 7mm for the BJC-800. If you define USE_TIGHT_MARGINS , then the bottom margin is 7mm for both drivers (but I never managed to get my own BJC-600 to print a line on this low bound, hence the larger default). Regardless of the presence of this definition, USE_FIXED_MARGINS will not allow the BJC-800 to use the lower 7mm bottom margin, so if you have a problem with the bottom margin on a BJC-800, just define that (without defining USE_TIGHT_MARGINS, of course). A quick way to be sure the margins you selected is to print a file whose contents are: %! clippath stroke showpage If the margins are okay, you will get a rectangle visibly surrounding the printable area. If they're not correct, one or more of the sides will be either incomplete or completely unprinted. Makefile and compilation Make sure the bjc600 or bjc800 devices are in DEVICE_DEVS in the makefile; that is, look in the makefile for your platform and add them if necessary -- they may already be there. As of Ghostscript 5.10, for instance, one makefile has DEVICE_DEVS6=bj10e.dev bj200.dev bjc600.dev bjc800.dev Use of the drivers There are two drivers here. The "bjc600" one supports the BJC-600 and BJC-4xxx (maybe the BJC-70 as well) and the "bjc800" one supports the BJC-800 series. Remarks here that apply to both drivers use the name "bjc". Supported Options and Defaults Note: "options", "properties", and "parameters" designate the same thing: device parameters that you can change. Giving an option an incorrect value causes an error. Unless stated otherwise, this error will be a rangecheckerror. Options may be set from the Ghostscript command line (using the -d and -s switches or other predetermined switches if they have an effect on the driver) or using the PostScript Level 2 setpagedevice operator if Ghostscript has been compiled with the level2 or level3 device (which it should ;-)). There are no special-purpose operators such as one was able to find in Level 1 printers. The bjc uses 24 bits per pixel by default (unless you change the value of BJC_BITSPERPIXEL), corresponding to CMYK printing. Supported modes are 1 bpp and 4 bpp (gray levels), 8 bpp, 16 bpp, 24 bpp and 32 bpp (colours). Colours are preferably stored in the CMYK model (which means, for example, that with 16 bpp there are only 16 different shades of each color) but it is possible to store them as RGB color for some depths. Some modes do Floyd-Steinberg dithering and some don't, but use the default Ghostscript halftoning (in fact, when halftoning is used, dithering takes also place but because of the low point density it is usually not efficient, and thus invisible). --------------------------------------------------------------------------- Descriptions of printing modes by bpp and Colors --------------------------------------------------------------------------- bpp     Colors     Mode --------------------------------------------------------------------------- 32   4   CMYK colour printing, Floyd-Steinberg dithering 24   4   The same. (But each primary colour is stored on 6 bits instead of 8.) 24   3   RGB colour printing, Floyd-Steinberg dithering. This mode does not use the black cartridge (that's why it exists, for when you don't want to use it ;-)). Each primary colour is stored in 8 bits as in the 32/4 mode, but black generation and under-color removal are done on the driver side and not by Ghostscript, so you have no control over it. (This mode is no longer supported in this driver.) 16   4   CMYK colour printing, halftoned by Ghostscript. F-S dithering is still visible here (but the halftone patterns are visible too!). 8   4   The same. (But each primary colour is stored in 2 bits instead of 4.) 8   3   RGB colour printing. This mode is not intended for use. What I mean is that it should be used only if you want to use custom halftone screens and the halftoning is broken using the 8/4 mode (some versions of Ghostscript have this problem). 8   1   Gray-level printing, Floyd-Steinberg dithering 1   1   Gray-level printing halftoned by Ghostscript These modes are selected using the BitsPerPixel and Colors integer options (either from the command line or in a PostScript program using setpagedevice). See below. A note about darkness of what is printed: Canon printers do print dark, really. And the Floyd-Steinberg dithering may eventually darken your image too. So you may need to apply gamma correction by calling Ghostscript as in gs -sDEVICE=bjc600 gamma.ps myfile.ps where gamma.ps changes the gamma correction (here to 3 for all colors); 0.45 gives me good results, but your mileage may vary. The bigger the value the lighter the output: { 0.45 exp } dup dup currenttransfer setcolortransfer The drivers support printing at 90dpi, 180dpi and 360dpi. Horizontal and vertical resolutions must be the same or a limitcheck error will happen. A rangecheck will happen too if the resolution is not 90 ×2^N. If the driver is compiled with -DBJC_STRICT a rangecheck also happens if the resolution is not one of those supported. This is not the case, as we expect that there may be a 720dpi bjc some day. Here are the various options supported by the bjc drivers, along with their types, supported values, effects, and usage: BitsPerPixel (int) Choose the depth of the page. Valid values are 1, 8, 16, 24 (the default) and 32. Note that when this is set for the first time, the Colors property is automatically adjusted unless it is also specified. The table here shows the corresponding color models and the rendering method visible: "GS" for Ghostscript halftoning and "F-S" for Floyd-Steinberg dithering. When both are present it means that the dithering of halftones is visible. Default choices are indicated by asterisk "*". --------------------------------------------------------- Valid Colors values for allowed BitsPerPixel values --------------------------------------------------------- bpp      Colors             Color model      Dithering --------------------------------------------------------- 32   4       CMYK   F-S 24   4   *   CMYK   F-S     3       RGB   F-S 16   4       CMYK   GS, F-S 8   4   *   CMYK   GS     3       RGB   GS     1       K (CMYK)   F-S 1   1   *   K (CMYK)   GS Also note that automagical change of one parameter depending on the other one does not work in a setpagedevice call. This means that if you want to change BitsPerPixel to a value whose valid Colors values do not include the actual Colors value, you must change Colors too. Colors (int) Choose the number of color components from among 1, 3 and 4 (the default). This setting cannot be used in a PostScript program, only on Ghostscript's command line. See ProcessColorModel below for what to use to change the number of colors with PostScript code. Note that setting this property does limit the choices of BitsPerPixel. As for the previous property, its first setting may induce a setting of the "other value" (BitsPerPixel here). The table here indicates valid combinations with "V", default values with asterisk "*". ----------------------------------------------- Valid BitsPerPixel values for allowed Colors values -----------------------------------------------         BitsPerPixel OK values ------------------------ Colors    Type    32    24    16    8    1 ----------------------------------------------- 4   CMYK   V   *   V   V     3   RGB       *       V     1   K               V   * Also note that automagical change of one parameter depending on the other one does not work in a setpagedevice call. This means that if you want to change Colors to a value whose valid BitsPerPixel values don't include the actual BitsPerPixel value, you must change BitsPerPixel too. ProcessColorModel (symbol) A symbol taken from /DeviceGray, /DeviceRGB or /DeviceCMYK which can be used to select 1, 3 or 4 colors respectively. Note that this parameter takes precedence over Colors, and that both affect the same variable of the driver. (See Colors above for values combined with BitsPerPixel.) HWResolution (floats array) An array of two floats giving the horizontal and vertical resolution in dots per inch from among 90, 180 and 360 (the default). Both values must be the same. On the Ghostscript command line, the resolution may be changed with the -r switch. ManualFeed (bool) Indicate that the sheets won't be fed automatically by the printer, false by default. (Not meaningful on the BJC-600, I fear.) MediaType (string) The media to print on, chosen from among "PlainPaper", "CoatedPaper", " TransparencyFilm", "Envelope", "Card" and "Other". Default is "PlainPaper". For "Envelope", "Card" or "Other" the driver puts the printer into thick mode automatically regardless of the actual media weight. MediaWeight (int or null) The weight of the media in grams per square meter. Null (the default) indicates that the weight is of no importance. If the specified media weight is greater than 105 (that is, the value of the compilation default BJC???_MEDIAWEIGHT_THICKLIMIT) then the printer will be set to use thick paper. PrintQuality (string) The quality of printing. Value    bjc600    bjc800      --------------------------------------------------------------------------- Low       X   Has the effect of making only two printing passes instead of four, so should be twice the speed; known as "CN" (Color Normal) mode Draft   X   X   Unlights the "HQ" light on a BJC-600 Normal   X   X   Default for both drivers; lights the "HQ" light on a BJC-600 High   X   X   Means 200% black and 100% CMY; lights the "Bk+" light on a BJC-600 DitheringType (string) Dithering algorithm from between "Floyd-Steinberg" and "None". "None" is the default for 1/1 print mode, "Floyd-Steinberg" for other modes. At the moment this parameter is read-only, though no error is generated if one tries to change it. This parameter is not of much value at the moment and is here mainly to reserve the name for future addition of dithering algorithms. PrintColors (int) Mask for printing color. If 0, use black for any color; otherwise the value must be the sum of any of 1 (cyan), 2 (magenta), 4 (yellow) and 8 (black), indicating which colors will be used for printing. When printing colour, only colours specified will be printed (this means that some planes will be missing if a color's value above is omitted). When printing grays, black is used if it is present in the PrintColors; otherwise, the image is printed by superimposing each requested color. MonochromePrint (bool) For bjc600 only, false by default. Substitute black for Cyan, Magenta and Yellow when printing -- useful, for example, to get some monochrome output of a dithered printing This is a hardware mechanism as opposed to the previous software one. I think that using this or setting PrintColors to 0 will give the same results. Note that the MediaType and ThickMedia options will be replaced by the use of the device InputAttributes and OutputAttributes as soon as possible. Please note too that the print mode may be reset at the start of printing, not at the end. This is the expected behaviour. If you need to reset the printer to its default state, simply print a file that does just a showpage. Device information Here is other information published by the driver that you will find in the deviceinfo dictionary. OutputFaceUp (bool) This has the boolean value true, indicating that the sheets are stacked face up. Version (float) In the form M.mmpp, where M is the major version, mm the bjc driver's minor version, and pp the specific driver minor version (that is, M.mm will always be the same for the bjc600 and bjc800 drivers). VersionString (string) A string showing the driver version and other indications. At the moment, things like "a" or "b" may follow the version to indicate alpha or beta versions. The date of the last change to this version is given in the form MM/DD/YY (no, it won't adapt to your locale). Hardware margins The BJC printers have top and bottom hardware margins of 3mm and 7.1mm respectively (Canon says 7mm, but this is unusable because of the rounding of paper sizes to PostScript points). The left margin is 3.4mm for A4 and smaller paper sizes, 6.4mm for U.S. paper sizes, envelopes and cards. It is 4.0mm for A3 paper on the BJC-800. The maximum printing width of a BJC-600 printer is 203mm. The maximum printing width of a BJC-800 printer is 289mm on A3 paper, 203mm on U.S. letter and ISO A4 paper. PostScript printer description (PPD) files The files CBJC600.PPD and CBJC800.PPD (whose long names are, respectively, Canon_BubbleJetColor_600.ppd and Canon_BubbleJetColor_800.ppd) are PPD files to drive the features of the bjc600 and bjc800 drivers. They can be used, for example, on NextStep systems (presumably on OpenStep systems too) and on Unix systems with Adobe's TranScript and pslpr (not tested). The files are not complete at the moment. Please note that NextStep's printing interface does not correctly enforce constraints specified in these files (in UIConstraints descriptions): you must force yourself to use valid combinations of options. Customizing the PPD files By default the PPD files are set for U.S. letter size paper, and they use a normalized transfer function. If you choose to use A4 printing by default, you must replace "Letter" with "A4" in these (noncontiguous) lines:      [...] *DefaultPageSize: Letter      [...] *DefaultRegion: Letter      [...] *DefaultImageableArea: Letter      [...] Some versions of Ghostscript have problems with normalized colors, which makes them add magenta in gray levels. If you experience this problem, in the PPD file replace the line *DefaultTransfer: Normalized with the alternate line *DefaultTransfer: Null The "thick media" option is implemented by choosing a value of 120 or 80 (for thick and thin media respectively) for the MediaWeight feature of the drivers. If you ever change the threshold for thick media in the driver code, you may need to change the values in the PPD files too. All customization should be done using the "*Include:" feature of PPD files so that your local changes will be retained if you update the PPD files. How to report problems Yves Arrouye no longer maintains this driver, and will not answer questions about it. If you are posting a question about it in a public form, please be as descriptive as possible, and please send information that can be used to reproduce the problem. Don't forget to say which driver you use, and in what version. Version information can be found in the source code of the driver or by issuing the following command in a shell: echo "currentpagedevice /VersionString get ==" | gs -q -sDEVICE=bjc600 - Acknowledgements I am particularly grateful to Yoshio Kuniyoshi without whom I'd never make these drivers, and also to L. Peter Deutsch, who answered all my (often silly) questions about Ghostscript's driver interface. Thanks also to the people who volunteered to beta-test the v2.x BJC drivers: David Gaudine , Robert M. Kenney , James McPherson and Ian Thurlbeck (listed alphabetically) were particularly helpful by discovering bugs and helping find out exact paper margins on printers I don't have access to. And many thanks to Klaus-Gunther Hess for looking at the dithering code and devising a good CMYK dithering algorithm for the Epson Stylus Color, which I then adapted to the code of these drivers. ------------------------------------------------------------------------------- Epson Stylus color printer (see also uniprint) This section was contributed by Gunther Hess , who also wrote uniprint, a later set of drivers. You should probably see the section on uniprint for whether it might be better for your uses than this driver. Usage This driver is selected with "-sDEVICE=stcolor", producing output for an Epson Stylus Color at 360dpi resolution by default. But it can do much more with this printer, and with significantly better quality, than with the default mode; and it can also produce code for monochrome versions of the printer. This can be achieved via either command-line options or Ghostscript input. For convenience a PostScript file is supplied for use as an initial input file. Try the following command: gs -sDEVICE=stcolor -r{Xdpi}x{Ydpi} stcolor.ps {YourFile.ps} where {Xdpi} is one of 180, 360, or 720 and {Ydpi} is one of 90, 180, 360, or 720. The result should be significantly better. You may use stcolor.ps with other devices too, but I do not recommend this, since it does nothing then. stcolor.ps should be available with binary distributions and should reside in the same directory as other Ghostscript initialization files or in the same directory as the files to be printed. Thus if Ghostscript is part of your printer-spooler, you can insert (stcolor.ps) findlibfile { pop run } if pop in files you want to use the improved algorithms. You may want to adapt stcolor.ps file to your specific needs. The methods and options for this are described here, but this description is restricted to Ghostscript options, while their manipulation at the PostScript level is documented in the material on the relationship of Ghostscript and PostScript and in stcolor.ps. Options Now to explain the options (as written on my UNIX system). The order is somehow related to their use during the printing process: -dUnidirectional Force unidirectional printing, recommended for transparencies -dMicroweave Enable the printer's "microweave" feature; see "What is weaving?" below. -dnoWeave Disable any Weaving (overrides -dMicroweave) -dSoftweave Enable the driver's internal weaving. Note that Softweave works only with the original Stylus Color and the PRO-Series. -sDithering={name} Select another dithering algorithm (name) from among gscmyk      fast color output, CMYK process color model (default) gsmono   fast monochrome output gsrgb   fast color output, RGB process color model fsmono   Floyd-Steinberg, monochrome fsrgb   Floyd-Steinberg, RGB process color model (almost identical to the cdj550/bjc algorithm) fsx4   Floyd-Steinberg, CMYK process color model (shares code with fsmono and fsrgb, but is algorithmically really bad) fscmyk   Floyd-Steinberg, CMYK process color model and proper modifications for CMYK hscmyk   modified Floyd-Steinberg with CMYK model ("hs" stands for "hess" not for "high speed", but the major difference from fscmyk is speed) fs2   algorithm by Steven Singer (RGB) should be identical to escp2cfs2. -dBitsPerPixel={1...32} number of bits used for pixel storage; the larger the value, the better the quality -- at least in theory. In fsrgb one can gain some speed by restricting to 24 bits rather than the default 30. -dFlag0 causes some algorithms to select a uniform initialisation rather than a set of random values. May yield a sharper image impression at the cost of dithering artifacts. (Applies to hscmyk and all fs modes, except for fs2, which always uses a constant initialization.) -dFlag1 ... -dFlag4 Available for future algorithms. -dColorAdjustMatrix='{three, nine, or sixteen floating-point values}' This is a matrix to adjust the colors. Values should be between -1.0 and 1.0, and the number of values depends on the color model the selected algorithm uses. In RGB and CMYK modes a matrix with 1.0 on the diagonal produces no transformation. This feature is really required, but I could not identify a similar feature at the language level, so I implemented it, but I don't know reasonable values yet. -dCtransfer='{float float ...}' or -dMtransfer=..., -dY..., -dK... or -dRtransfer='{float float ...}' or -dG..., -dB... or -dKtransfer='{float float ...}' Which you use depends on the algorithm, which may be either either CMYK, RGB or monochrome. The values are arrays of floats in the range from 0 to 1.0, representing the visible color intensity for the device. One may achieve similar effects with setcolortransfer at the language level, but this takes more time and the underlying code for the driver-specific parameters is still required. The size of the arrays is arbitrary and the defaults are "{0.0 1.0}", which is a linear characteristic. Most of the code in stcolor.ps are better transfer arrays. -dKcoding='{float...}' -dC..., -dM... etc. Arrays between 0.0 and 1.0, controlling the internal coding of the color values. Clever use of these arrays may yield further enhancements, but I have no experience yet. (To be discontinued with version 2.x.) -sModel=st800 Causes output to be suitable for the monochrome Stylus 800 (no weaving, no color). -sOutputCode={name} Can be either "plain", "runlength" or "deltarow" and changes the ESC/P2 coding technique used by the driver. The default is to use runlength encoding. "plain" selects uncompressed encoding and generates enormous amounts of data. -descp_Band=1/8/15/24 Number of nozzles of scanlines used in printing, Useful only with -dnoWeave . Larger Values yield smaller code, but this doesn't increase the printing speed. -descp_Width=N Number of pixels Printed in each scan Line. (Useful only when tuning margins; see below) -descp_Height=pixels Length of the entire page in pixels. (Parameter of "ESC(C" in default initialization.) -descp_Top=scan lines Top margin in scan lines. (First parameter of "ESC(c" in default initialization.) -descp_Bottom=scan lines Bottom margin in scan lines. (Second parameter of "ESC(c" in default initialization.) -sescp_Init="string" Override for the initialization sequence. (Must set graphics mode 1 and units.) -sescp_Release="string" Overrides the release sequence, "ESC @ FF" by default. ESC/P2 allows any resolutions to be valid in theory, but only -r360x360 (the default) and -r720x720 (not on STC-IIs ? and st800) are known to work with most printers. --------------------------------------------------------------------------- Valid option combinations Stylus I & Pro-Series only --------------------------------------------------------------------------- Resolution      escp_Band      Weave usable      escp_Band & number of passes --------------------------------------------------------------------------- 180x90   15   noWeave     180x180   1 , 8, 24   noWeave, Microweave   15/2 SoftWeave 180x360           15/4 SoftWeave 180x720           15/8 SoftWeave 360x90   15   noWeave     360x180   1, 8, 24   noWeave, Microweave   15/2 SoftWeave 360x360   1, 8, 24   noWeave, Microweave   15/4 SoftWeave 360x720           15/8 SoftWeave 720x90   15   noWeave     720x180           15/2 SoftWeave 720x360           15/4 SoftWeave 720x720   1   noWeave, Microweave   15/8 SoftWeave Beware: there are only few validity checks for parameters. A good example is escp_Band: if you set this, the driver uses your value even if the value is not supported by the printer. You asked for it and you got it! Application note and FAQ Quite a bunch of parameters. Hopefully you never need any of them, besides feeding stcolor.ps to Ghostscript in front of your input. After answering some questions over fifty times I prepared a FAQ. Here is version 1.3 of the FAQ, as of stcolor version 1.20 (for Ghostscript 3.50). Support for A3 paper Yes, this driver supports the A3-size printer: merely set the required pagesize and margins. A simple way to do this is to specify the command-line switch " -sPAPERSIZE=a3" or include the procedure call "a3" in the PostScript prolog section. To optimize the printable area or set the proper margins, see the next paragraph. Margins, PageSize I refuse to add code to stcolor that tries to guess the proper margins or page size, because I found that such guessing is usually wrong and needs correction in either the source or the parameters. You can modify stcolor.ps to do that, however. After the line mark % prepare stack for "putdeviceprops" insert these lines, which define page size and margins in points: /.HWMargins [9.0 39.96 12.6 9.0] % Left, bottom, right, top (1/72") /PageSize [597.6 842.4] % Paper, including margins (1/72") /Margins [ % neg. Offset to Left/Top in Pixels 4 index 0 get STCold /HWResolution get 0 get mul 72 div neg 5 index 3 get STCold /HWResolution get 1 get mul 72 div neg ] Feel free to change the values of .HWMargins and PageSize to match your needs; the values given are the defaults when the driver is compiled with "-DA4". This option or its omission may cause trouble: the Stylus Color can print up to exactly 8 inches (2880 pixels) at 360dpi. The remaining paper is the margin, where the left margin varies only slightly with the paper size, while the right margin is significantly increased for wider paper, such as U.S. letter size. Note that if you are using an ISO paper size with a version of stcolor after 1.20 and compiled without "-DA4", then the default margin is too large, and you need to add the proper ".HWMargins" to the command line or to stcolor.ps. Stylus Color II / IIs and 1500 First the good news: the driver can print on the Stylus Color II. Now the bad news:   * According to Epson support the driver "abuses" the color capabilities. (See "Future Plans" for details.)   * You need some parameters on the command line (or in stcolor.ps).   * I doubted that it would be usable with the Stylus Color IIs, but it is usable and suffers from mixing problems! To make things work, you MUST disable the driver's internal weaving (Softweave ), in one of these two ways: gs -dMicroweave ... gs -dnoWeave -descp_Band=1 ... Version 1.90, current as of Ghostscript 5.10, fixes this bug by new default behaviour. I experienced significantly increased printing speed with the second variant on the old Stylus Color, when printing mostly monochrome data. Recommendations The next section is a contribution from Jason Patterson < jason@reflections.com.au> who evaluated a previous version (1.17). Ghostscript was invoked as follows: gs -sDEVICE=stcolor -r720x720 -sDithering=... -sOutputFile=escp.out stcolor.ps whatsoever.ps where "..." is the name of the desired algorithm. stcolor.ps was omitted for the gs-algorithms (gsmono, gsrgb and gscmyk), for which it is useless and would not allow the selection of "gscmyk". Color dithering experiments with gdevstc 1.21 Here are data about the EPSON Stylus Color driver's different dithering methods, based on a little experiment using four good quality scanned images of quite varied nature, to begin with, a summary of the results of the four experiments. Sanity note: the results here are from only four images and a total of 24 printouts (eight on 720dpi paper, sixteen on plain paper). Your results will almost certainly vary, and your standards might not be the same as mine, so use these results only as a guide, not as a formal evaluation. --------------------------------------------------------------------------- Quality of output by method ---------------------------------------------------------------------------    --------------------------------------------------------------------------- gsmono      Pretty much what you'd expect from a mono ordered pattern. Looks like what a lot of mono laser printers produce. fsmono   Excellent for monochrome. gscmyk   Not very good, but expected from an ordered pattern. gsrgb   A little better than gscmyk. More consistent looking. fs2   Good, but not quite as good as fsrgb. Gets the brightness wrong: too light at 720dpi, too dark at 360dpi. fsrgb   Very good, but a little too dark and has a slight blue tint. hscmyk   Excellent. Slightly better than fsrgb and fs2. Better than fscmyk on some images, almost the same on most. fscmyk   Best. Very, very slightly better than hscmyk. On some images nearly as good as the EPSON demos done with the MS Windows driver. -------------------------------------------- Overall visual quality (1-10), best to worst -------------------------------------------- Monochrome      fsmono    ******************   gsmono   **********       0 1 2 3 4 5 6 7 8 9 10 -------------------------------------------- Colour   fscmyk   *******************   hscmyk   *******************   fsrgb   ******************   fs2   *****************   gsrgb   **********   gscmyk   *********       0 1 2 3 4 5 6 7 8 9 10 Color transformation In the initial version of the driver distributed with Ghostscript 3.33, the parameter "SpotSize" was the only way to manipulate the colors at the driver level. According to the parameters enumerated above, this has changed significantly with version 1.16 and above as a result an ongoing discussion about dithering algorithms and "false color" on the Epson Stylus Color. This initiated the transformation of the stcolor driver into a framework for different dithering algorithms, providing a generalized interface to the internal Ghostscript color models and the other data structures related to Ghostscript drivers. The main thing such a framework should be able to do is to deliver the values the dithering algorithm needs; and since this directly influences the optical image impression, this transformation should be adjustable without the need for recompilation and relinking. In general the process can be described as follows: ColorAdjustMatrix Coding   Transfer   | Ghostscript | => | Ghostscript | => | Dithering data | color raster |   |   | 1/2/4/8/16/ |   |   | 32-bit | 1/3/4 16-bit |   | 1/3/4 values |   | (arbitrary | values type) Due to the limitations on raster storage, information is lost in the first transformation step, except for the 16-bit monochrome mode. So any color adjustment should take place before this step and this is where the optional ColorAdjustMatrix works. The first transformation step, called "coding", is controlled by the ?coding arrays. The decoding process expands the range of values expontentially to a larger range than that provided by the initial Ghostscript color model, and is therefore a reasonable place to make device- or algorithm-specific adjustments. This is where the ?transfer arrays are used. Array access might be not the fastest method, but its generality is superior, so this step is always based upon internally algorithm-specific array access. If 8 bits are stored per color component and if the algorithm uses bytes too, the second transformation is included within the first, which saves significant computation time when printing the data. ColorAdjustMatrix The driver supports different values for ProcessColorModel, which raises the need for different color adjustments. Here "CAM" stands for "ColorAdjustMatrix ". DeviceGray (three floats) if ((r == g) && (g == b)) K' = 1.0 - R; else K' = 1.0 - CAM[0] * R + CAM[1] * G + CAM[2] * B; According to the documentation on drivers, the latter (the "else" clause) should never happen. DeviceRGB (nine floats) if((r == g) && (g == b)) R' = B' = G' = R; else R' = CAM[0]*R + CAM[1]*G + CAM[2]*B; G' = CAM[3]*R + CAM[4]*G + CAM[5]*B; B' = CAM[6]*R + CAM[7]*G + CAM[8]*B; The printer always uses four inks, so a special treatment of black is provided. Algorithms may take special action if R, G, and B are all equal. DeviceCMYK (sixteen floats) if((c == m) && (m == y)) K' = max(C,K); C' = M' = Y' = 0; else K = min(C,M,Y); if((K > 0) && ColorAdjustMatrix_present) { => UCR C -= K; M -= K; Y -= K; } C' = CAM[ 0]*C + CAM[ 1]*M + CAM[ 2]*Y + CAM[ 3]*K; M' = CAM[ 4]*C + CAM[ 5]*M + CAM[ 6]*Y + CAM[ 7]*K; Y' = CAM[ 8]*C + CAM[ 9]*M + CAM[10]*Y + CAM[11]*K; K' = CAM[12]*C + CAM[13]*M + CAM[14]*Y + CAM[15]*K; Again we have a special black treatment. "max(C,K)" was introduced because of a slight misbehaviour of Ghostscript, which delivers black under certain circumstances as (1,1,1,0). Normally, when no special black separation and undercolor removal procedures are defined at the PostScript level, either (C,M,Y,0) or (0,0,0,K) values are mapped. This would make the extended ColorAdjustMatrix quite tedious, and so during mapping, black separation is done for (C,M,Y,0) requests; and if there is a ColorAdjustMatrix, undercolor removal is used too. In other words the default matrix is: 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 and it is applied to CMYK values with separated and removed black. Raising the CMY coefficients while lowering the K coefficients reduces black and intensifies color. But be careful, because even small deviations from the default cause drastic changes. If no ColorAdjustMatrix is set, the matrix computations are skipped. Thus the transformation reduces to range inversion in monochrome mode and black separation in CMYK mode. RGB / CMYK coding and transfer, and BitsPerPixel These two (groups of) parameters are arrays of floating-point numbers in the range 0.0 to 1.0. They control the truncation to the desired number of bits stored in raster memory (BitsPerPixel) and the ink density. The "truncation" may become a nonlinear function if any of the ?coding arrays is set. Assume the following Ghostscript invocation: gs -sDEVICE=stcolor -sDithering=fscmyk -dBitsPerPixel=16 \ -dKcoding='{ 0.0 0.09 0.9 1.0 }' \ -dMcoding='{ 0.0 0.09 0.9 1.0 }' \ -dKtransfer='{ 0.0 0.09 0.9 1.0 }' \ -dYtransfer='{ 0.0 0.09 0.9 1.0 }' We may have either or both of ?coding and ?transfer, giving four possible combinations. (These four combinations appear in the given example.) The resulting mapping appears in the following tables, where except for the internal Indices (4 components × 4 bits = 16 BitsPerPixel), all values are normalized to the range 0 to 1. The actual range is 0 to 65535 for the Ghostscript color and 0 to 16777215 for the ink values delivered to the fscmyk algorithm. Sorry for the bunch of numbers following, but you may try this example in conjunction with stcinfo.ps, which should give you a graphical printout of the following numbers when you issue a showpage command.     Cyan   Magenta ----------------------------- ----------------------------- CI/15   gs_color_values   CI   Ink   gs_color_values   CI   Ink --------------------------------------------------------------------- 0.000   0.000 - 0.062   0   0.000   -0.123 - 0.123   0   0.000 0.067   0.063 - 0.125   1   0.067   0.123 - 0.299   1   0.247 0.133   0.125 - 0.187   2   0.133   0.299 - 0.365   2   0.351 0.200   0.188 - 0.250   3   0.200   0.365 - 0.392   3   0.379 0.267   0.250 - 0.312   4   0.267   0.392 - 0.420   4   0.406 0.333   0.313 - 0.375   5   0.333   0.420 - 0.447   5   0.433 0.400   0.375 - 0.437   6   0.400   0.447 - 0.475   6   0.461 0.467   0.438 - 0.500   7   0.467   0.475 - 0.502   7   0.488 0.533   0.500 - 0.562   8   0.533   0.502 - 0.529   8   0.516 0.600   0.563 - 0.625   9   0.600   0.529 - 0.557   9   0.543 0.667   0.625 - 0.687   10   0.667   0.557 - 0.584   10   0.571 0.733   0.688 - 0.750   11   0.733   0.584 - 0.612   11   0.598 0.800   0.750 - 0.812   12   0.800   0.612 - 0.639   12   0.626 0.867   0.813 - 0.875   13   0.867   0.639 - 0.715   13   0.653 0.933   0.875 - 0.937   14   0.933   0.715 - 0.889   14   0.778 1.000   0.938 - 1.000   15   1.000   0.889 - 1.111   15   1.000 The difference between cyan and magenta is the presence of a coding array. The coding process must map a range of color values to each of the sixteen component indices. If no coding array is given, this is accomplished by dividing by 4096, equivalent to a right shift by 12 bits. The final ink density resides in the given interval and moves from the left to the right side from 0 to 15. For magenta there is a coding array and the ink value matches the center of the intervals. But the distribution of the mapped intervals follows the given coding array and is nonlinear in the linear color space of Ghostscript. Now let us take a look at the case with transfer arrays:     Yellow   Black ----------------------------- ----------------------------- CI/15   gs_color_values   CI   Ink   gs_color_values   CI   Ink --------------------------------------------------------------------- 0.000   0.000 - 0.062   0   0.000   -0.123 - 0.123   0   0.000 0.067   0.063 - 0.125   1   0.018   0.123 - 0.299   1   0.067 0.133   0.125 - 0.187   2   0.036   0.299 - 0.365   2   0.133 0.200   0.188 - 0.250   3   0.054   0.365 - 0.392   3   0.200 0.267   0.250 - 0.312   4   0.072   0.392 - 0.420   4   0.267 0.333   0.313 - 0.375   5   0.090   0.420 - 0.447   5   0.333 0.400   0.375 - 0.437   6   0.252   0.447 - 0.475   6   0.400 0.467   0.438 - 0.500   7   0.414   0.475 - 0.502   7   0.467 0.533   0.500 - 0.562   8   0.576   0.502 - 0.529   8   0.533 0.600   0.563 - 0.625   9   0.738   0.529 - 0.557   9   0.600 0.667   0.625 - 0.687   10   0.900   0.557 - 0.584   10   0.667 0.733   0.688 - 0.750   11   0.920   0.584 - 0.612   11   0.733 0.800   0.750 - 0.812   12   0.940   0.612 - 0.639   12   0.800 0.867   0.813 - 0.875   13   0.960   0.639 - 0.715   13   0.867 0.933   0.875 - 0.937   14   0.980   0.715 - 0.889   14   0.933 1.000   0.938 - 1.000   15   1.000   0.889 - 1.111   15   1.000 Yellow uses a transfer array. There is no linear correspondence between the color and the ink values: this correspondence is defined through the given array. In other words, the transfer arrays define a nonlinear ink characteristic, which is exactly the same functionality that PostScript's " (color)transfer" function provides. While for yellow the intervals match the intervals used with cyan, for black the intervals match the magenta intervals. But watch the correspondence between the CI/15 values and the ink density for black: this is a linear distribution in the ink domain. Not a bad idea, I think. Consider the fs2 algorithm: it uses values in the range 0 to 255. If any transfer array were alone, some of the 256 possible values would never be used and others would be used for adjacent intervals several times. Establishing an identical coding array solves this problem, so the full potential of the algorithm is used. Another useful feature of the coding arrays is that they are internally normalized to the range 0-1. In 720x720dpi mode the transfer arrays in stcolor.ps limit the dot density to about 50%, so these arrays end at 0.5 (and begin at 0.5 for RGB). Because of automatic normalization, these arrays can also be used as coding arrays. But of course in the fs2 case mentioned above, values from 0 to 127 will never be delivered to the algorithm, while values 128-255 are delivered for adjacent intervals. To clarify the intended use of the three parameters (parameter groups), keep this in mind:   + ColorAdjustMatrix is never used when transferring gray values. This restricts it to what the name says: adjustment of colors, that is, correction for miscolored ink. Do not use it for saturation or brightness control.   + ?transfer arrays control the values delivered to the driver, which in turn controls the ink quantity. Use these arrays to control saturation and brightness. In general these arrays are identical for all inks. If they differ they provide a simpler scheme for color correction, which is not necessarily faster than the ColorAdjustMatrix.   + ?coding arrays control the color value intervals mapped to the internal color indices. What is weaving? The Epson Stylus Color has a head assembly that contains two physically identifiable heads, one for black and one for cyan, magenta, and yellow (CMY). This makes four "logical" heads, one for each color component. Each of these four heads has several jets at some vertical (Y) distance from one another, so several horizontal lines can be printed of a given color during one pass of the heads. From experience I think there are fifteen jets per color, spaced at 1/ 90in. So the question arises of how to print at a Y resolution of 360dpi with 90dpi jets. Simply by division one gets 360dpi/90dpi = 4, which tells us that 4 passes of the head assembly are needed to achieve a Y resolution of 360dpi. Weaving is the method of how the fifteen jets are used to print adjacent horizontal rows separated here by 1/360 inch: ----------------------------------------------------------------- Print-head jets used with and without weaving -----------------------------------------------------------------     Weaving      noWeave ------------------------- -------------------------   Pass 1   2   3   4   1   2   3   4 Row 0   jet   --   --   --   jet   --   --   -- 0 0 1   --   jet   --   --   --   jet   --   -- 1 0 2   --   --   jet   --   --   --   jet   -- 2 0 3   --   --   --   jet   --   --   --   jet 3 0 4   jet   --   --   --   jet   --   --   -- 1 1 5   --   jet   --   --   --   jet   --   -- 2 1 6   --   --   jet   --   --   --   jet   -- 3 1 ... Now let's assume that the dot diameter is different for each individual jet, but the average among the jets matches the desired resolution. With weaving, adjacent rows are printed by different jets, thus some averaging takes place. Without weaving, adjacent rows are printed by the same jet and this makes the dot diameter deviations visible as 1/90in stripes on the paper. Print mode parameters The parameters "Unidirectional", "Microweave", "noWeave", "OutputCode", "Model" and the given resolution control the data generated for the printer. Unidirectional Simply toggles the unidirectional mode of the printer. Setting "Unidirectional" definitely slows printing speed, but may improve the quality. I use this for printing transparencies, where fast head movement could smear the ink. Microweave, noWeave and OutputCode=deltarow The first are two booleans, which implies that four combinations are possible. Actually only three exist (if you don't count for deltarow): Softweave, Microweave, and noWeave. The first and second are functionally identical, the difference being whether the driver or the printer does the job. In the default Softweave mode the driver sends the data properly arranged to the printer, while in Microweave mode, it is the printer that arranges the data. But in general the host processor is much faster than the printer's processor, and thus it is faster for the host do the job. In addition to that, for 720dpi eight passes are required, and the amount of buffer space needed to buffer the data for the passes is far beyond the printer's memory. Softweave requires an odd value of "escp_Band"; the Stylus Color provides fifteen for that. "OutputCode" controls the encoding used. In the basic modes, the choice consists of "plain" and "runlength". The computation of runlength-encoded data does not take much time, less than the data tranfer to the printer; thus this is the recommended mode, and of course the default. With the Stylus Color, Epson introduced some new encoding principles, namely "tiff" and "deltarow". While the first was omitted from this driver for lack of apparent advantages, " deltarow" is available as an option. "Softweave" cannot be used with this encoding, so if OutputCode=deltarow is set, Microweave becomes the default. Maybe that the size of the ESC/P2 code becomes smaller, but I have never observed faster printing speed. Things tend to become slower with deltarow compared to Softweave. Model Some ESC/P2 printers such as the Stylus 800 do not offer Microweave or the commands required to do Softweave. Setting Model just changes the defaults and omits some parts of the initialization sequence which are not compatible with the given printer model. Currently only "st800" is supported besides the default stcolor. Bugs and pitfalls   * The given ?coding and ?transfer arrays should be strictly monotonic.   * It is impossible to change WHITE: that's your paper. Thus RGB transfer should end at 1.0 and CMYK transfer should start at 0.0.   * Usually 8 bits per component yields fastest operation.   * The ColorAdjustMatrix is not used in the reverse transformation used when Ghostscript does the dithering (gs* modes). Expect funny results.   * If BitsPerPixel is less than 6, the entire coding and transfer process does not work. This is always true for the gs* modes and becomes true for the other modes if BitsPerPixel is forced to low values.   * 720×720dpi printing should never select the gs* modes and should always use stcolor.ps. (I prefer 360×720.) Tests This section gives an overview of performance in terms of processing and printing times, from tests run after version 1.13. Printing was done offline (simply copying a processed file to the printer) to measure real printing speed without regard to speed of processing on the host, since at high resolutions, processing time is the same order of magnitude and thus may become the limiting factor. The various OutputCodes I ran several files though Ghostscript and recorded the size of the resulting print code, the processing time, and the printing time, at least for some of the files, always using these options: gs -sDEVICE=stcolor -sPAPERSIZE=a4 stcolor.ps - < file.ps (Actually "-sPAPERSIZE=a4" is in my gs_init.ps since I'm a germ.) "deltarow" is the new encoding principle ("ESC . 3 10 10 1") with Microweave on. It is activated with "-sOutputCode=deltarow". "Softweave" actually means that nothing else was used: it is the default, and implies that odd v=40/h=10/m=15 mode ("ESC . 1 40 10 15"). "Microweave" means "-dMicroweave", equivalent to "ESC . 1 10 10 1", with full skip optimization and microweave activated. Finally I wanted to see the plain Kathy Ireland, and used "-sOutputCode=plain", which just replaces runlength encoding (RLE) by no encoding, thus using " ESC . 0 40 10 15". [So sorry ;-) Kathy was still dressed in blue in front of the blue sea on a blue air cushion -- nice to see but hard to dither.] So here are the results. -------------------------------------------------------------------------- File sizes and printing speeds with various weaving methods --------------------------------------------------------------------------     golfer.ps   colorcir.ps   drawing.ps   brief.ps -------------------------------------------------------------------------- deltarow   572751/   643374/   90142/46.180u/   178563/49.350u/ 48.180u 41.690u 1:50 2:22 Softweave   559593/   669966/   296168/48.160u/   269808/43.320u/ 46.810u 44.960u 1:30 1:55 Microweave   590999/   754276/   338885/47.060u/   282314/44.690u/ 56.060u 42.890u 1:50 2:22 ------------------------------------- Kathy Ireland -------------------------------------     kathy.ps ------------------------------------- deltarow   3975334/111.940u/5:35 Softweave   3897112/101.940u/3:10 Microweave   4062829/100.990u/3:15 plain/soft   5072255/104.390u/3:05 It may be that I've not chosen the optimal deltarow code, but even if it saves at lot of bytes, printing-speed is not increased. At least the printer prefers plain Kathy. In other words, sending 1 Megabyte or 20% more data has no impact on printing speed. drawing.ps is an exception to this rule: plain prints slower than RLE. "Unclever" coding -- especially with deltarow -- can significantly slow down printing. But even if very significant advantages in the size of the code are achieved, "deltarow" is not competitive. colorcir.ps shows savings with deltarow, but printing is a mess. Printing time related to other options Full page halftone images printed, unless otherwise noted. --------------------------------------------------------------------------- Printing time related to other options --------------------------------------------------------------------------- dpi   Print mode   Size   Time   Comments KB --------------------------------------------------------------------------- 180x180   mono   -/uni   358   1:15             -/bi   358   0:45             micro/   205   0:45   Not weaving bi         soft/   179   1:25     bi     color   -/bi   641   2:45             soft/   556   1:32     bi 360x360   mono   -/uni   269   0:50   Monochrome text         -/bi   269   0:35   Monochrome text         micro/   269   2:25   Monochrome text bi         soft/   250   3:15   Monochrome text uni         soft/   250   1:55   Monochrome text bi     color   -/bi   346   1:00   Sparse-color page, visible displacements         micro/   346   1:50   Sparse-color page, looks buggy -- bi printer?         soft/   294   1:30   Sparse-color page, O.K. bi         -/bi   2218   2:45   Visible stripes         micro/   5171   3:17     bi         soft/   3675   3:05     bi 360x720   mono   soft/   2761   5:40     bi     color   soft/   7789   6:15   Just a small difference! bi 720x360   color   soft/   7182   5:40     bi 720x720   color   micro/   14748   30:   Actually beyond printer's bi 26 capabilities         soft/   14407   11:     bi 08 Acknowledgments This driver was copied from gdevcdj.c (Ghostscript 3.12), which was contributed by George Cameron, Koert Zeilstra, and Eckhard Rueggeberg. Some of the ESC/P2 code was drawn from Richard Brown's gdevescp.c. The POSIX interrupt code (compilation option -DSTC_SIGNAL) is from Frederic Loyer. Several improvements are based on discussions with Brian Converse, Bill Davidson, Gero Guenther, Jason Patterson, ? Rueschstroer, and Steven Singer. While I wish to thank everyone mentioned above, they are by no means responsible for bugs in the stcolor driver -- just for the features. Gunther Hess Richard Wagner Strasse 112 D-47057 Duisburg Germany +49 203 376273 telephone (MET evening hours) ------------------------------------------------------------------------------- uniprint, a flexible unified printer driver uniprint is a unified parametric driver by Gunther Hess for several kinds of printers and devices, including   + any Epson Stylus Color, Stylus, or Stylus Pro   + HP PCL/RTL   + Canon BubbleJet Color 610   + NEC P2X   + Sun raster file format This driver is intended to become a unified printer driver. If you consider it ugly, please send me your suggestions for improvements. The driver will be updated with them. Thus the full explanation of the driver's name is: Ugly- -> Updated- -> Unified Printer Driver But you probably want to know something about the functionality. At the time of this writing uniprint drives:   * NEC Pinwriter P2X (24-pin monochrome impact printer, ESC/P style)   * Several Epson Stylus Color models (ESC/P2 style)   * HP-DeskJet 550c (basic HP-RTL)   * Canon BJC 610 It can be configured for various other printers without recompilation and offers uncompressed (ugly) Sun rasterfiles as another format, but this format is intended for testing purposes rather than real use. The usage of this driver is quite simple. The typical command line looks like this: gs @{MODEL}.upp -sOutputFile={printable file} MyFile.ps -c quit For example, from my Linux box: gs @stc.upp -sOutputFile=/dev/lp1 tiger.ps -c quit --------------------------------------------------------------------------- Unified Printer Parameter files distributed with Ghostscript --------------------------------------------------------------------------- Canon BJC 610 (color, rendered)      bjc610a0.upp    360×360dpi    plain paper, high speed   bjc610a1.upp   360×360dpi   plain paper   bjc610a2.upp   360×360dpi   coated paper   bjc610a3.upp   360×360dpi   transparency film   bjc610a4.upp   360×360dpi   back print film   bjc610a5.upp   360×360dpi   fabric sheet   bjc610a6.upp   360×360dpi   glossy paper   bjc610a7.upp   360×360dpi   high gloss film   bjc610a8.upp   360×360dpi   high resolution paper     bjc610b1.upp   720×720dpi   plain paper   bjc610b2.upp   720×720dpi   coated paper   bjc610b3.upp   720×720dpi   transparency film   bjc610b4.upp   720×720dpi   back print film   bjc610b6.upp   720×720dpi   glossy paper   bjc610b7.upp   720×720dpi   high-gloss paper   bjc610b8.upp   720×720dpi   high resolution paper   HP Ink-Printers   cdj550.upp   300×300dpi   32-bit CMYK   cdj690.upp   300×300dpi   Normal mode   cdj690ec.upp   300×300dpi   Economy mode   dnj750c.upp   300×300dpi   Color -- also good for 450C   dnj750m.upp   600×600dpi   Monochrome   NEC P2X   necp2x.upp   360×360dpi   8-bit (Floyd-Steinberg)   Any Epson Stylus Color   stcany.upp   360×360dpi   4-bit, PostScript halftoning   stcany_h.upp   720×720dpi   4-bit, PostScript halftoning   Original Epson Stylus and Stylus Pro Color   stc.upp   360×360dpi   32-bit CMYK, 15-pin   stc_l.upp   360×360dpi   4-bit, PostScript halftoning, weaved noWeave   stc_h.upp   720×720dpi   32-bit CMYK, 15-pin Weave   Epson Stylus Color II   stc2.upp   360×360dpi   32-bit CMYK, 20-pin, Epson Stylus Color II(s)   stc2_h.upp   720×720dpi   32-bit CMYK, 20-pin, Epson Stylus Color II   stc2s_h.upp   720×720dpi   32-bit CMYK, 20-pin, Epson Stylus Color IIs   Epson Stylus Color 200   stc200.upp   360×720dpi   Plain Paper   Epson Stylus Color 500 (good transfer curves for plain paper)   stc500p.upp   360×360dpi   32-bit CMYK, noWeave, plain paper   stc500ph.upp   720×720dpi   32-bit CMYK, noWeave, plain paper   Epson Stylus Color 600, 32/90-inch weaving   stc600pl.upp   360×360dpi   32-bit CMYK, 32-pin, plain paper   stc600p.upp   720×720dpi   32-bit CMYK, 32-pin, plain paper   stc600ih.upp   1440×   32-bit CMYK, 30-pin, inkjet paper 720dpi   Epson Stylus Color 640   stc640p.upp   720×720dpi   plain paper?   st640p.upp   720×720dpi   CMYK, plain paper   st640pg.upp   720×720dpi   grayscale, plain paper   st640pl.upp   360×360dpi   CMYK, plain paper   st640plg.upp   360×360dpi   grayscale, plain paper   st640ih.upp   1440×   CMYK, inkjet paper 720dpi   st640ihg.upp   1440×   grayscale, inkjet paper 720dpi   Epson Stylus Color 800, 64/180-inch weaving   stc800pl.upp   360×360dpi   32-bit CMYK, 64-pin, plain paper   stc800p.upp   720×720dpi   32-bit CMYK, 64-pin, plain paper   stc800ih.upp   1440×   32-bit CMYK, 62-pin, inkjet paper 720dpi   stc1520.upp   1440×   32-bit CMYK, 62-pin, inkjet paper 720dpi   Sun raster file   ras1.upp   1-bit   monochrome (Ghostscript)   ras3.upp   3-bit   RGB (Ghostscript)   ras4.upp   4-bit   CMYK (Ghostscript)   ras8m.upp   8-bit   grayscale (Floyd-Steinberg)   ras24.upp   24-bit   RGB (Floyd-Steinberg)   ras32.upp   32-bit   CMYK (CMYK-Floyd-Steinberg) Thanks to Danilo Beuche, Guido Classen, Mark Goldberg and Hans-Heinrich Viehmann for providing the files for the stc200, hp690, stc500 and the stc640. Thanks to Michael Lossin for the newer st640 parameter sets. Please note the following:   + Changing the resolution with Ghostscript's -r switch is usually not possible.   + For Epson Stylus Color models not listed above, the two stc500 variants are likely to work in addition to stcany, but their gamma correction might be wrong. The state of this driver The coding of uniprint was triggered by the requirements of the various Stylus Color models and some personal needs for HP and NEC drivers. Thus the Epson models are well represented among the distributed parameter files. When this driver entered the beta test phase, three other drivers appreared on the scene that could be at least partially integrated into uniprint: cdj850 by Uli Wortmann (available at http://www.erdw.ethz.ch/~bonk/hp850/hp850.html), hpdj by Martin Lottermoser, and bjc610 by Helmut Riegler. Uli addresses features of the more recent DeskJet models that will not be available in uniprint soon. Martin taught me a lesson on HP-PCL3 headers that will be available in uniprint soon. Helmut in turn followed an almost similar idea, but targetted primarily for printing on Canon printers from the pbmplus library. Starting with version 1.68 of uniprint, BJC support is available. Work on the hpdj integration will start after the update of my website. Notes on uniprint's background uniprint is actually an update of stcolor, but much more versatile than its predecessor; stcolor, in its turn, started as a clone of the color DeskJet family of drivers (cdj*). Finally, cdj* can be considered an addition of features to the simpler monochrome drivers of Ghostscript. This addition of features is useful to get an idea of the functionality of uniprint: Monochrome to advanced color (cdj*): This adds color mapping and rendering functions to the driver. Error diffusion is especially important for the quality of printing. HP color to Epson Color (stcolor) The Epson Stylus Color offered two features simultaneously: it could produce 720×720dpi output and it could soak the paper. In other words, it required more color management features inside the driver. This is still the major conceptual difference in the data generation for HP and Epson printers. Weaving techniques (stcolor) Besides the internal color management, the Stylus Color did not provide enough buffer space to operate the printer fast at 720×720dpi. The use of weaving could yield triple the print speed. Weaving, also called interleaving, is present in some monochrome drivers too. The new thing in stcolor was the combination with error diffusion. Unfortunately the weaving was somehow hard-coded, as the problems with the newer members of the Stylus Color family of printers demonstrated. Generalized output format and weaving (uniprint) The features mentioned above yield about 90% of stcolor's source code; only 10% is related to the formatting of the output. The idea to make the output format switchable came up soon after completing stcolor, but its final design was triggered by the (personal) necessity to drive a NEC P2X and a Designjet 750c. Thus uniprint accumulates almost any features that can be found among the other printer drivers, which clearly has some disadvantage in processing speed -- true in particular of version 1.75, since it was targetted for functionality, and several speed-gaining features were (knowingly) omitted. To summarize and to introduce the terms used in the description of the parameters, the features of uniprint that can be parameterized are:   + color mapping,   + color rendering (error diffusion or Floyd-Steinberg),   + output format, including   + weaving. Godzilla's guide to the creation of Unified Printer Parameter (.upp) files Here is one of the distributed parameter files (stc_l.upp) with some added comments. Also see the section that describes all uniprint's parameters in brief. -supModel="Epson Stylus Color I (and PRO Series), 360x360DpI, noWeave" -sDEVICE=uniprint -- Select the driver -dNOPAUSE -- Useful with printers -dSAFER -- Provides some security -dupColorModel=/DeviceCMYK -- Selects the color mapping -dupRendering=/ErrorDiffusion -- Selects the color rendering -dupOutputFormat=/EscP2 -- Selects the output format -r360x360 -- Adjusts the resolution -dupMargins="{ 9.0 39.96 9.0 9.0}" -- Establishes (L/B/R/T margins in points) -dupComponentBits="{1 1 1 1}" -- Map: bits per component (default: 8) -dupWeaveYPasses=4 -- Weave: Y-passes (default: 1) -dupOutputPins=15 -- Format/weave: scans per Command -dupBeginPageCommand="< -- Goes to the printer 1b40 1b40 -- ESC '@' ESC '@' -> dual reset 1b2847 0100 01 -- ESC '(' 'G' 1 0 1 -> graphics 1b2869 0100 00 -- ESC '(' 'i' 1 0 1 -> no HW weave 1b2855 0100 0A -- ESC '(' 'U' 1 0 10 -> 360dpi 1b5500 -- ESC 'U' 0 -> bidir print 1b2843 0200 0000 -- ESC '(' 'C' 2 0 xx -> page length 1b2863 0400 0000 0000 -- ESC '(' 'c' 4 0 xxxx -> margins >" -- as it is, unless: -dupAdjustPageLengthCommand -- Adjust page length in BOP requested -dupAdjustTopMarginCommand -- Adjust top margin in BOP -dupAdjustBottomMarginCommand -- Adjust bottom margin in BOP -dupEndPageCommand="(\033@\014)" -- Last (but one) data to the printer -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" That's short, and if one removes upWeaveYPasses and upOutputPins it becomes shorter, almost stcany.upp. This miniature size is because I am most familiar with ESC/P2, and was able to add defaults for the omitted parameters. Now a few notes about the parameters used in this example:   * upModel is a string serving as a comment (and nothing else).   * DEVICE, NOPAUSE, SAFER are well-known Ghostscript parameters described in the usage documentation.   * upColorModel is one of major uniprint parameters: it selects the color mapping and in turn the PostScript color model. It supports the devices / DeviceGray, /DeviceRGBW, /DeviceRGB, /DeviceCMYK, and /DeviceCMYKgenerate.   * upRendering selects the (color) rendering, supporting the values / ErrorDiffusion and /FSCMYK32. /ErrorDiffusion is similar to fsmono, fsrgb and fsx4 of stcolor, while /FSCMYK32 is (almost) identical to fscmyk and hscmyk, but is restricted to 32-bit data and should be used in conjunction with /DeviceCMYKgenerate.   * upOutputFormat selects the output method, supporting the values /SunRaster, /Epson, /EscP2, /EscP2XY, and/Pcl. /   creates Sun raster files and requires no other parameters SunRaster /Epson   is used for the elderly ESC/P format (used by many printers) /EscP2   is used by more recent Epson printers (no X weaving supported) /EscP2XY   supports X-Weaving, used with 1440dpi printers and in stc2s_h /Pcl   HP PCL/RTL-style output formatter without weaving   * -r360x360 is Ghostscript's standard resolution switch.   * upMargins="{ 9.0 39.96 9.0 9.0}" has function similar to the Ghostscript parameter .HWMargins: it sets the left, bottom, right, and top margins in points. uniprint provides this parameter to enable automatic left-right exchange if upYFlip is active.   * upComponentBits is an array of integers that selects the bits stored in raster memory, by default 8 bits per component. In this example, 1 bit is selected for each component, thus turning down the Floyd-Steinberg algorithm (but still carrying out the time-consuming computation). The related parameter "upComponentShift" controls positioning the components within raster memory. Each of the numbers given corresponds to a component which depends on the selected "upColorModel":     /   /   /   /   / DeviceGray DeviceRGBW DeviceRGB DeviceCMYK DeviceCMYKgenerate ------------------------------------------------------------------------- 0   White   White   Red   Black   Black 1   --   Red   Green   Cyan   Cyan 2   --   Green   Blue   Magenta   Magenta 3   --   Blue   --   Yellow   Yellow This order may not be suitable for some printers, so another parameter "upOutputComponentOrder", also an array of integers, selects the output order using the numbers on the left. One group of very important parameters not used in the example above deserves to be mentioned here: the transfer arrays, named "up{color} Transfer", where {color} is one of the names in the table above. These are arrays of floats in the range 0.0 - 1.0 representing the color transfer functions. They are used during mapping and rendering. In the simplest case, these arrays ensure an equidistant distribution of the stored values within the device space (which means a nonlinear mapping from Ghostscript's point of view). If the given array does not cover the entire range from 0 to 1, which applies for the Stylus Color family at high resolution for some media, only the relevant part gets mapped to raster memory (meaning that is's fully utilized) and the rendering takes care of the "overhang" (in this case the post-diffusion of 1-bit components makes sense). Finally an important note on the transfer arrays: for monochrome devices the stored component is White, which is the way PostScript defines these devices, but most printers require Black. Thus one has to provide a falling "upWhiteTransfer" for such printers.   * upWeaveYPasses is an integer that gives the number of print head passes required to achieve the requested Ydpi. This makes sense only if   * upOutputPins is set to something greater than 1. Thus multiple pins or nozzles are transferred with a single command, and of course such a command must be supported by the device. If no other weave parameters are given, uniprint computes several defaults which together do no weaving. The /Epson and /EscP2XY formats take care of " upWeaveXPasses" too.   * upBeginPageCommand represents the data transferred to the printer whenever a new page begins. Before that, "upBeginJobCommand" is written to the device only once per output file. (Intended for the HP PJL sequences).   * upAdjustBottomMarginCommand, upAdjustMediaSize, upAdjustPageLengthCommand, upAdjustPageWidthCommand, upAdjustResolutionCommand, and upAdjustTopMarginCommand Normally uniprint does not change the "upBeginPageCommand", nor does it provide a default. However, if the above boolean values are set, the corresponding values are changed (provided that the code of the formatters supports this change and the commands to be adjusted are included in the BOP string).   * upEndPageCommand is the fixed termination sequence for each page, and of course there is an "upEndJobCommand" too.   * upAbortCommand is written if uniprint's interrupt detection is enabled and a signal is caught. It replaces "upEndPageCommand" and "upEndJobCommand", thus allowing the indication of an aborted job. (Ghostscript gets an error return from uniprint in this case, and abandons further processing.) For the ESC/P(2) formats all commands represent binary data, while for the PCL/ RTL formatter some of them are formats for fprintf. These strings must explicitly have a trailing "\0'. I should write more, but the only recommendation is to take a look at the various parameter files. Here are a few more hints.   * If the Driver rejects a configuration, nothing happens until showpage; then an error is raised and a message with "CALL-REJECTED upd_print_page..." is printed on stderr.   * uniprint has lots of messages that can be activated by setting bits in the preprocessor macro UPD_MESSAGES. I usually use the compile-time option -DUPD_MESSAGES=0x17 for configuration development. (For the semantics, check the UPD_M_ macros in the source.)   * A program "uninfo.ps" distributed with Ghostscript displays interactively in alphabetical order the contents of the current pagedevice dictionary. This includes any parameters generated or changed by uniprint. All parameters in brief This table gives a brief explanation of every parameter known to uniprint, listing them in alphabetical order. "[ ]" denotes that a parameter is an array, and "(RO)" that it is read-only. --------------------------------------------------------------------------- All uniprint parameters --------------------------------------------------------------------------- Parameter   Type     Use --------------------------------------------------------------------------- upAbortCommand   String   End of page and file on interrupt upAdjustBottomMarginCommand   Bool   Manipulate bottom margin in upBeginPageCommand upAdjustMediaSizeCommand   Bool   Manipulate Mediasize [intended] upAdjustPageLengthCommand   Bool   Manipulate page length in upBeginPageCommand upAdjustPageWidthCommand   Bool   Manipulate page width in upBeginPageCommand upAdjustResolutionCommand   Bool   Manipulate resolution upAdjustTopMarginCommand   Bool   Manipulate top margin in upBeginPageCommand upBeginJobCommand   String   Begin each output file upBeginPageCommand   String   Begin each page upBlackTransfer   Float   Black transfer (CMYK only!) [ ] upBlueTransfer   Float   Blue transfer [ ] upColorInfo   Int[ ]   struct gx_device_color_info upColorModel   Name   Select color mapping upColorModelInitialized   Bool   Color mapping OK (RO) upComponentBits   Int[ ]   Bits stored per component upComponentShift   Int[ ]   Positioning within gx_color_index upCyanTransfer   Float   Cyan transfer [ ] upEndJobCommand   String   End each file unless upAbortCommand upEndPageCommand   String   End each page unless upAbortCommand upErrorDetected   Bool   Severe (VM) error, not fully (RO) operational upFSFixedDirection   Bool   Inhbits direction toggling in rendering upFSProcessWhiteSpace   Bool   Causes white-space rendering upFSReverseDirection   Bool   Run rendering in reverse (if fixed) upFSZeroInit   Bool   Non-random rendering initialization upFormatXabsolute   Bool   Write absolute X coordinates upFormatYabsolute   Bool   Write absolute Y coordinates upGreenTransfer   Float   Green transfer [ ] upMagentaTransfer   Float   Magenta transfer [ ] upMargins   Float   L/B/R/T margins in points [ ] upModel   String   Comment string, holds some info upOutputAborted   Bool   Caught an interrupt (RO) upOutputBuffers   Int   Number of rendering buffers (2^N) upOutputComponentOrder   Int[ ]   Order of components when printing upOutputComponents   Int   Number of written components, not fully operational upOutputFormat   Name   Select output format upOutputFormatInitialized   Bool   Format data OK (RO) upOutputHeight   Int   Output height in pixels upOutputPins   Int   Number of pins / nozzles per command upOutputWidth   Int   Output width in pixels upOutputXOffset   Int   Offset in pixels, if upFormatXabsolute upOutputXStep   Int   Divisor or multiplier for X coords upOutputYOffset   Int   Offset in pixels, if upFormatYabsolute upOutputYStep   Int   Divisor or multiplier for Y coords upRasterBufferInitialized   Bool   GS buffer OK (RO) upRedTransfer   Float   Red transfer [ ] upRendering   Name   Select rendering algorithm upRenderingInitialized   Bool   Rendering parameters OK (RO) upSelectComponentCommands   String   Establish color (output order!) [ ] upSetLineFeedCommand   String   Adjust linefeed (Epson only) upVersion   String   Source code version (RO) upWeaveFinalPins   Int[ ]   Number of bottom pins on EOP passes upWeaveFinalScan   Int   Begin EOP passes (Y-coord) upWeaveFinalXStarts   Int[ ]   X-pass indices for EOP passes upWeaveFinalYFeeds   Int[ ]   Y increments for EOP passes upWeaveInitialPins   Int[ ]   Number of top pins on BOP passes upWeaveInitialScan   Int   End BOP passes (Y coord) upWeaveInitialXStarts   Int[ ]   X-pass indices for BOP passes upWeaveInitialYFeeds   int[ ]   Y increments for BOP passes upWeavePasses   Int   XPasses × YPasses upWeaveXPasses   Int   Number of X passes upWeaveXStarts   Int[ ]   X-pass indices for normal passes upWeaveYFeeds   Int[ ]   Y increments for normal passes upWeaveYOffset   Int   Number of blank or incomplete scans at BOP upWeaveYPasses   Int   Number of X passes upWhiteTransfer   Float   White transfer (monochrome [ ] devices!) upWriteComponentCommands   String   Commands to write each component [ ] upWroteData   Bool   Something (BeginJob) written to (RO) output upXMoveCommand   String   X positioning command upXStepCommand   String   Single step to the right upYFlip   Bool   Flips output along the Y axis upYMoveCommand   String   Y positioning command upYStepCommand   String   Single step down upYellowTransfer   Float   Yellow transfer [ ] uniprint's Roll of Honor I should mention all of the people who were involved in stcolor's evolution, but I've decided to start from scratch here for uniprint: John P. Beale for testing the stc600 modes Bill Davidson who triggered some weaving research and tested stc2s_h L. Peter Deutsch who triggered ease of configuration Mark Goldberg who prepared the stc500 transfers Scott F. Johnston and Scott J. Kramer for testing the stc800 modes Martin Lottermoser for his great commented H-P DeskJet driver Helmut Riegler for the BJC extension Hans-Gerd Straeter for some measured transfer curves and more Uli Wortmann for discussions and his cdj850 driver My family for tolerating my printer-driver hacking Gunther Hess Duesseldorfer Landstr. 16b D-47249 Duisburg Germany +49 203 376273 telephone (MET evening hours) ------------------------------------------------------------------------------- Sun SPARCprinter This section was contributed by Martin Schulte. With a SPARCprinter you always buy software that enables you to do PostScript printing on it. A page image is composed on the host, which sends a bitmap to the SPARCprinter through a special SBUS video interface. So the need for a Ghostscript interface to the SPARCPrinter seems low, but on the other hand, Sun's software prints some PostScript drawings incorrectly: some pages contain a thin vertical line of rubbish, and on some Mathematica drawings the text at the axes isn't rotated. Ghostscript, however, gives the correct results. Moreover, replacing proprietary software should never be a bad idea. The problem is that there has yet been no effort to make the SPARCPrinter driver behave like a BSD output filter. I made my tests using the script shown here. Installation Add sparc.dev to DEVICE_DEVS and compile Ghostscript as described in the documentation on how to build Ghostscript. Afterwards you can use the following script as an example for printing after modifying it with the right pathnames -- including for {GSPATH} the full pathname of the Ghostscript executable: outcmd1='/vol/local/lib/troff2/psxlate -r' outcmd2='{GSPATH} -sDEVICE=sparc -sOUTPUTFILE=/dev/lpvi0 -' if [ $# -eq 0 ] then $outcmd1 | $outcmd2 else cat $* | $outcmd1 | $outcmd2 fi Problems Since /dev/lpi can be opened only for exclusive use, if another job has it open (engine_ctl_sparc or another Ghostscript are the most likely candidates), Ghostscript stops with "Error: /invalidfileaccess in --.outputpage--" In case of common printer problems like being out of paper, a warning describing the reason is printed to stdout. The driver tries access again each five seconds. Due to a problem with the device driver (in the kernel) the reason for printer failure isn't always reported correctly to the program. This is the case, for instance, if you open the top cover (error E5 on the printer's display). Look at the display on the printer itself if a "Printer problem with unknown reason" is reported. Fatal errors cause the print job to be terminated. ------------------------------------------------------------------------------- Apple dot matrix printer This section was contributed by Mark Wedel . The Apple Dot Matrix Printer (DMP) was a parallel predecessor to the Imagewriter printer. As far as I know, Imagewriter commands are a superset of the Dot Matrix printer's, so the driver should generate output that can be printed on Imagewriters. To print images, the driver sets the printer for unidirectional printing and 15 characters per inch (cpi), or 120dpi. It sets the line feed to 1/9 inch. When finished, it sets the printer to bidirectional printing, 1/8-inch line feeds, and 12 cpi. There appears to be no way to reset the printer to initial values. This code does not set for 8-bit characters (which is required). It also assumes that carriage return-newline is needed, and not just carriage return. These are all switch settings on the DMP, and I have configured them for 8-bit data and carriage return exclusively. Ensure that the Unix printer daemon handles 8-bit (binary) data properly; in my SunOS 4.1.1 printcap file the string "ms=pass8,-opost" works fine for this. Finally, you can search devdemp.c for "Init" and "Reset" to find the strings that initialize the printer and reset things when finished, and change them to meet your needs. ------------------------------------------------------------------------------- Copyright © 1996, 2000 Aladdin Enterprises. All rights reserved. This file is part of AFPL Ghostscript. See the Aladdin Free Public License (the "License") for full details of the terms of using, copying, modifying, and redistributing AFPL Ghostscript. Ghostscript version 6.50, 2 December 2000 apsfilter-7.2.6.orig/setup/devices-7.000000644000175000017500000047300407266273476020046 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/devices-7.00,v 1.1 2001/04/15 10:26:06 andreas Exp $ Details of Ghostscript output devices Table of contents   + Notes on measurements   + MS Windows printers   + File formats   o JPEG file format (JFIF)   o TIFF file formats   + HP Deskjet official drivers   + H-P 8xx, 1100, and 1600 color inkjet printers   o Drivers contained in gdevcd8.c   o Further documentation   + H-P 812, 815, 832, 880, 882, 895, and 970 color inkjet printers   o Drivers contained in gdevcd8.c   o Further documentation   + Other H-P color inkjet printers   o Drivers contained in gdevcdj.c   o Default paper size   o Deskjet physical limits   o Printer properties (command-line parameters)   # Bits per pixel   # Deskjet properties   # Paintjet XL300 / Paintjet XL properties   o Gamma correction   o HP's resolution-enhanced mode for Inkjet printers   o General tips   + Canon BJC-8200 printer   + Other Canon BubbleJet (BJC) printers   o History   o Configuring and building the BJC drivers   # Modify values in gdevbjc.h   # CMYK-to-RGB color conversion   # Vertical centering of the printable area   # Page margins   # Makefile and compilation   o Use of the drivers   # Supported Options and Defaults   # Device information   # Hardware margins   # PostScript printer description (PPD) files   # Customizing the PPD files   o How to report problems   o Acknowledgements   + Epson Stylus color printer (see also uniprint)   o Usage   o Options   o Application note and FAQ   # Support for A3 paper   # Margins, PageSize   # Stylus Color II / IIs and 1500   o Recommendations   # Color dithering experiments with gdevstc 1.21   o Color transformation   o ColorAdjustMatrix   o RGB / CMYK coding and transfer, and BitsPerPixel   o What is weaving?   o Print mode parameters   # Unidirectional   # Microweave, noWeave and OutputCode=deltarow   # Model   o Bugs and pitfalls   o Tests   # The various OutputCodes   # Printing time related to other options   o Acknowledgments   + uniprint, a flexible unified printer driver   o The state of this driver   o Notes on uniprint's background   o Godzilla's guide to the creation of Unified Printer Parameter (.upp ) files   o All parameters in brief   o Uniprint's Roll of Honor   o Uniprint weaving parameters howto   o Extension to uniprint for the Epson Stylus Color 300   + Sun SPARCprinter   o Installation   o Problems   + Apple dot matrix printer For other information, see the Ghostscript overview. You may also be interested in how to build Ghostscript and install it, as well as the description of the driver interface. ------------------------------------------------------------------------------- Notes on measurements Several different important kinds of measures appear throughout this document: inches, centimeters and millimeters, points, and bits per pixel. Inches 1 inch equals 2.54 centimeters. The inch measure is sometimes represented by "in" or a quotation mark (") to the right of a measure, like 8.5in or 8.5"". Dots per inch, "dpi", are the common measure of printing resolution for dot-matrix, laser, and ink-jet printers. U.S. "letter" paper is exactly 8.5in×11in, approximately 21.6cm×27.9cm. (See in the usage documentation all the paper sizes predefined in Ghostscript.) Centimeters and millimeters ISO standard paper sizes such as A4 and A3 are commonly represented in the SI units of centimeters and millimeters. Centimeters are abbreviated "cm", millimeters "mm". ISO A4 paper is quite close to 21.0×29.7 centimeters (approximately 8.3×11.7 inches). Points Points are a measure traditionally used in the printing trade and now in PostScript, which specifies exactly 72 points per inch (approximately 28.35 per centimeter). The paper sizes known to Ghostscript are defined in the initialization file gs_statd.ps in terms of points. Bits per pixel Commonly abbreviated "bpp". ------------------------------------------------------------------------------- MS Windows printers This section was written by Russell Lang, the author of Ghostscript's MS Windows-specific printer driver, and updated by Pierre Arnaud, the current maintainer. The mswinpr2 device uses MS Windows printer drivers, and thus should work with any printer with device-independent bitmap (DIB) raster capabilities. The printer resolution cannot be selected directly using PostScript commands from Ghostscript: use the printer setup in the Control Panel instead. It is however possible to specify a maximum resolution for the printed document (see below). If no Windows printer name is specified in -sOutputFile, Ghostscript prompts for a Windows printer using the standard Print Setup dialog box. You must set the orientation to Portrait and the page size to that expected by Ghostscript; otherwise the image will be clipped. Ghostscript sets the physical device size to that of the Windows printer driver, but it does not update the PostScript clipping path. If a Windows printer name is specified in -sOutputFile using the format "\\ spool\printer_name", for instance gs ... -sOutputFile="\\spool\Apple LaserWriter II NT" then Ghostscript attempts to open the Windows printer without prompting (except, of course, if the printer is connected to FILE:). Ghostscript attempts to set the Windows printer page size and orientation to match that expected by Ghostscript, but doesn't always succeed. It uses this algorithm: 1. If the requested page size matches one of the Windows standard page sizes + /- 2mm, request that standard size. 2. Otherwise if the requested page size matches one of the Windows standard page sizes in landscape mode, ask for that standard size in landscape. 3. Otherwise ask for the page size by specifying only its dimensions. 4. Merge the requests above with the defaults. If the printer driver ignores the requested paper size, no error is generated: it will print on the wrong paper size. 5. Open the Windows printer with the merged orientation and size. The Ghostscript physical device size is updated to match the Windows printer physical device. Supported command-line parameters The mswinpr2 device supports a limited number of command-line parameters (e.g. it does not support setting the printer resolution). The recognized parameters are the following: -sDEVICE=mswinpr2 Selects the MS Windows printer device. If Ghostscript was not compiled with this device as the default output device, you have to specify it on the command line. -dNoCancel Hides the progress dialog, which shows the percent of the document page already processed and also provides a cancel button. This option is useful if GS is intended to print pages in the background, without any user intervention. -sOutputFile="\\spool\printer_name" Specifies which printer should be used. The printer_name should be typed exactly as it appears in the Printers control panel, including spaces. Supported options (device properties) Several extra options exist which cannot be set through the command-line, but only by executing the appropriate PostScript setup code. These options can be set through the inclusion of a setup file on the command-line: gs ... setup.ps ... The setup.ps file is responsible for the device selection, therefore you should not specify the -sDEVICE=mswinpr2 option on the command-line if you are using such a setup file. Here is an example of such a setup file: mark /NoCancel true % don't show the cancel dialog /BitsPerPixel 4 % force 4 bits/pixel /UserSettings << /DocumentName (Ghostscript document) % name for the Windows spooler /MaxResolution 360 % maximum document resolution >> (mswinpr2) finddevice % select the Windows device driver putdeviceprops setdevice This example disables the progress dialog (same as the -dNoCancel option), forces a 4 bits/pixel output resolution and specifies additional user settings, such as the document name (which will be displayed by the Windows spooler for the queued document) and the maximum resolution (here 360 dpi). It then finds and selects an instance of the MS Windows device printer and activates it. This will show the standard printer dialog, since no /OutputFile property was specified. The following options are available: /NoCancel boolean Disables (hides) the progress dialog when set to true or show the progress dialog if not set or set to false. /OutputFile string Specifies which printer should be used. The string should be of the form \\spool\printer_name, where the printer_name should be typed exactly as it appears in the Printers control panel, including spaces. /QueryUser integer Shows the standard printer dialog (1 or any other value), shows the printer setup dialog (2) or selects the default Windows printer without any user interaction (3). /BitsPerPixel integer Sets the device depth to the specified bits per pixel. Currently supported values are 1 (monochrome), 4 (CMYK with screening handled by Ghostscript) and 24 (True Color, dithering handled by the Windows printer driver; this option can produce huge print jobs). /UserSettings dict Sets additional options, defined in a dictionary. The following properties can be set: /DocumentName string Defines the user friendly document name which will be displayed by the Windows spooler. /DocumentRange [n1 n2] Defines the range of pages contained in the document. This information can be used by the printer dialog, in conjunction with the following property. /SelectedRange [n1 n2] Defines the selected range of pages. This information will be displayed in the printer dialog and will be updated after the user interaction. A PostScript program could check these values and print only the selected page range. /MaxResolution dpi Specifies the maximum tolerated output resolution. If the selected printer has a higher resolution than dpi, then Ghostscript will render the document with a submultiple of the printer resolution. For example, if MaxResolution is set to 360 and the output printer supports up to 1200 dpi, then Ghostscript renders the document with an internal resolution of 1200/4=300 dpi. This can be very useful to reduce the memory requirements when printing in True Color on some high resolution ink-jet color printers. These properties can be queried through the currentpagedevice operator. The following PostScript code snippet shows how to do it for some of the properties: currentpagedevice /BitsPerPixel get == % displays the selected depth currentpagedevice /UserSettings get % get the additional options.. /us exch def % ..and assign them to a variable us /DocumentName get == % displays the document name us /SelectedRange get == % displays the selected page range % other misc. informations (don't rely on them) us /Color get == % 1 => monochrome output, 2 => color output us /PrintCopies get == % displays the number of copies requested There are a few undocumented informations stored in the UserSettings dictionary. You should not rely on them. Their use is still experimental and they could be removed in a future version. Duplex printing If the Windows printer supports the duplex printing feature, then it will also be available through the mswinpr2 device. You can query for this support through the /Duplex propery of the currentpagedevice. If it returns null, then the feature is not supported by the selected printer. Otherwise, true means that the printer is currently set up to print on both faces of the paper and false that it is not, but that it can. The following example shows how to print on both faces of the paper (using the long side of the paper as the reference): << /Duplex true /Tumble false >> setpagedevice ------------------------------------------------------------------------------- File formats JPEG file format (JFIF) Ghostscript includes output drivers that can produce Independent JPEG Group JFIF (JPEG File Interchange Format) files from PostScript images. Please note that JPEG is a compression method specifically intended for continuous-tone images such as photographs, not for graphics, and it is therefore quite unsuitable for the vast majority of page images produced with PostScript, which should be saved in a form better for graphics, such as Portable Network Graphics (PNG) format. If you get crummy-looking JPEG files, don't blame Ghostscript; instead consult a reference about uses and abuses of JPEG, such as the JPEG FAQ http://www.faqs.org/faqs/jpeg-faq/ You can use the JPEG output drivers -- jpeg to produce color JPEG files and jpeggray for grayscale JPEGs -- the same as other file-format drivers: by specifying the device name and an output file name, for example gs -sDEVICE=jpeg -sOutputFile=foo.jpg foo.ps You can also use the -r switch to specify the imaging resolution and thus the output file's size in pixels. The default resolution is normally 72×72dpi. The JPEG devices support several special parameters to control the JPEG "quality setting" (DCT quantization level). -dJPEGQ=N (integer from 0 to 100, default 75) Set the quality level N according to the widely used IJG quality scale, which balances the extent of compression against the fidelity of the image when reconstituted. Lower values drop more information from the image to achieve higher compression, and therefore have lower quality when reconstituted. -dQFactor=M (float from 0.0 to 1.0) Adobe's QFactor quality scale, which you may use in place of JPEGQ above. The QFactor scale is used by PostScript's DCTEncode filter but is nearly unheard-of elsewhere. At this writing the default JPEG quality level of 75 is equivalent to -dQFactor =0.5, but the JPEG default might change in the future. The JPEG drivers could be extended to support additional JPEG compression options, such as the other DCTEncode filter parameters, but so far they haven't been. TIFF file formats There are two unrelated sets of TIFF drivers. There are two color TIFF drivers that produce uncompressed output: tiff12nc Produces 12-bit RGB output (4 bits per component). tiff24nc Produces 24-bit RGB output (8 bits per component). The remaining TIFF drivers all produce black-and-white output with different compression modes: tiffcrle G3 fax encoding with no EOLs tiffg3 G3 fax encoding with EOLs tiffg32d 2-D G3 fax encoding tiffg4 G4 fax encoding tifflzw LZW-compatible (tag = 5) compression tiffpack PackBits (tag = 32773) compression The black-and-white TIFF drivers support creation of files that are comprised of more than a single strip. Multi-strip files reduce the memory requirement on the reader, since readers need only store and process one strip at a time. These drivers provide two parameters beyond the standard set: -dMaxStripSize=N (non-negative integer; default = 0) Set the maximum (uncompressed) size of a strip. -dAdjustWidth=true|false (Boolean; default = true) If true, then if the requested page width is close to either A4 (1728 columns) or B4 (2048 columns), set the page width to A4 or B4 respectively. The TIFF 6.0 specification, Section 7, page 27, recommends that the size of each strip be about 8 Kbytes. As an example, to generate the 'tiger' in tiffg4 format that has the recommended strip size, use: gs -sDEVICE=tiffg4 -sOutputFile=tiger.tif -dMaxStripSize=8192 examples/tiger.ps If the value of the MaxStripSize parameter is smaller than a single image row, then no error will be generated, and the TIFF file will be generated correctly using one row per strip. Note that smaller strip sizes increase the size of the file by increasing the size of the StripOffsets and StripByteCounts tables, and by reducing the effectiveness of the compression which must start over for each strip. If the value of MaxStripSize is 0 (the default), then the entire image will be a single strip. ------------------------------------------------------------------------------- HP Deskjet official drivers HP provides official drivers for many of their Deskjet printer models. In order to use these drivers, you will need the HP Inkjet Server as well as Ghostscript, available from http://hpinkjet.sourceforge.net. This version of Ghostscript includes the patch from version 0.94 of the hpijs software. If you are installing hpijs from an RPM, you will only need the hpijs RPM, not the ghostscript-hpijs one, as the code needed to work with hpijs is already included. As of the 0.94 version, hpijs supports the following printer models: e-Series: e-20 DeskJet 600C Series: 600C, 660C, 670/672C, 670TV, 680/682C DeskJet 600C Series Photo: 610/612C, 640/648C, 690/692/693/694/695/697C DeskJet 630C Series: 630/632C DeskJet 800C Series: 810/812C, 830/832C, 840/842/843C, 880/882C, 895C DeskJet 900C Series: 930/932C, 950/952C, 970C DeskJet 990C You will need to add the following line to your makefile: DEVICE_DEVS2=DJ630.dev DJ6xx.dev DJ6xxP.dev DJ8xx.dev DJ9xx.dev DJ9xxVIP.dev AP21xx.dev Please see http://hpinkjet.sourceforge.net for more information about this driver. Thanks to the folks at HP, especially David Suffield for making this driver available and working to integrate it with Ghostscript. ------------------------------------------------------------------------------- H-P 8xx, 1100, and 1600 color inkjet printers This section, written by Uli Wortmann , deals with the DeskJet 670, 690, 850, 855, 870, 890, 1100, and 1600. Drivers contained in gdevcd8.c The source module gdevcd8.c contains four generic drivers: cdj670      HP DeskJet 670 and 690 cdj850   HP DeskJet 850, 855, 870, and 1100 cdj890   HP DeskJet 890 cdj1600   HP DeskJet 1600 Further documentation Credits: Much of the driver is based on ideas derived from the cdj550 driver of George Cameron. The support for the hp670, hp690, hp890 and hp1600 was added by Martin Gerbershagen. 11.11.96     Version       1.0 25.08.97   Version   Resolved all but one of the known bugs, introduced 1.2 a couple of perfomance improvements. Complete new color-transfer-function handling (see gamma). 01.06.98   Version   Due to the most welcome contribution of Martin 1.3 Gerbershagen (ger@ulm.temic.de), support for the hp670, hp690 and hp890 and hp1600 has been added. Martin has also resolved all known bugs.         Problems:Dark colors are still pale. The hp690 is supported through the hp670 device, the hp855, hp870 and the hp1100 through the hp850 device. The driver needs no longer special switches to be invoked except -sDEVICE=cdj850, -sDEVICE=CDJ890, -sDEVICE=CDJ670, or -sDevice=CDJ1600. The following switches are supported. -dPapertype=     0     plain paper [default]   1   bond paper   2   special paper   3   glossy film   4   transparency film       Currently the lookup tables are unsuited for printing on special paper or transparencies. For these please revert to the gamma functions. -dQuality=   -1   draft   0   normal [default]   1   presentation -dRetStatus=   0   C-RET off   1   C-RET on [default] -dMasterGamma   3.0   [default = 1.0] = Note: To take advantage of the calibrated color-transfer functions, be sure not to have any gamma statements left! If you need to (i.e., for overhead transparencies), you still can use the gamma functions, but they will override the built-in calibration. To use gamma in the traditional way, set MasterGamma to any value greater than 1.0 and less than 10.0. To adjust individual gamma values, you have to additionally set MasterGamma to a value greater than 1.0 and less than 10.0. With the next release, gamma functions will be dropped. When using the driver, be aware that printing at 600dpi involves processing large amounts of data (> 188MB !). Therefore the driver is not what you would expect to be a fast driver ;-) This is no problem when printing a full-sized color page (because printing itself is slow), but it's really annoying if you print only text pages. Maybe I can optimize the code for text-only pages in a later release. Right now, it is recommended to use the highest possible optimisation level your compiler offers. For the time being, use the cdj550 device with -sBitsPerPixel=3 for fast proof prints. If you simply want to print 600dpi BW data, use the cdj550 device with -sBitsPerPixel=8 (or 1). Since the printer itself is slow, it may help to set the process priority of the gs process to "regular" or even less. On a 486/100MHz this is still sufficient to maintain a continuous data flow. Note to OS/2 users: simply put the gs window into the background or minimize it. Also make sure that print01.sys is invoked without the /irq switch (great speed improvement under Warp4). The printer default settings compensate for dot-gain by a calibrated color-transfer function. If this appears to be too light for your business graphs, or for overhead transparencies, feel free to set -dMasterGamma=1.7. Furthermore, you may tweak the gamma values independently by setting -dGammaValC, -dGammaValM, -dGammaValY or -dGammaValK (if not set, the values default to MasterGamma). This will only work when -dMasterGamma is set to a value greater than 1.0. Further information, bugs, tips etc, can be found at my website. To learn more about gamma, see ftp://ftp.igd.fhg.de/pub/doc/colour/GammaFAQ.pdf. Depending on how you transfer the files, under UNIX you may need to remove the CRs of the CR-LF sequence used for end-of-line on DOS-based (MS Windows-based) systems. You can do this in unpacking the files with unzip -a hp850.zip. To compile with gs5.x or later, simply add to your makefile DEVICE_DEVS4=cdj850.dev cdj670.dev cdj890.dev cdj1600.dev Have fun! Uli http://www.erdw.ethz.ch/~bonk/ ------------------------------------------------------------------------------- H-P 812, 815, 832, 880, 882, 895, and 970 color inkjet printers This section, written by Matthew Gelhaus , deals with the DeskJet 812, 815, 832, 880, 882, 895, and 970. This is a modified version of the HP8xx driver written by Uli Wortmann. More information and download are available at http://www.gelhaus.net/hp880c/. Drivers contained in gdevcd8.c The source module gdevcd8.c contains one generic driver: cdj880      HP DeskJet 812, 815, 832, 880, 882, 895, and 970 Further documentation Credits: This driver is based on the cdj850 driver by Uli Wortmann, and shares the same internal structure, although the PCL3+ interpretation has changed. 15.03.99     Version     Initial version, based on Version 1.3 of Uli 1.3 Wortmann's driver. 26.02.00   Version   Greatly improved color handling & dithering, but 1.4beta not yet complete enough to use for text. All printers are supported through the cdj880 device. Invoke with -sDEVICE= cdj880. The following switches are supported. -dPapertype=     0     plain paper [default]   1   bond paper   2   special paper   3   glossy film   4   transparency film       Currently the lookup tables are unsuited for printing on special paper or transparencies. For these please revert to the gamma functions. -dQuality=   -1   draft   0   normal [default]   1   presentation -dMasterGamma   3.0   [default = 1.0] = The printer default settings compensate for dot-gain by a pre-defined color-transfer function. If this appears to be too light for your business graphs, or for overhead transparencies, feel free to set -dMasterGamma=1.7. Furthermore, you may tweak the gamma values independently by setting -dGammaValC, -dGammaValM, -dGammaValY or -dGammaValK (if not set, the values default to MasterGamma). This will only work when -dMasterGamma is set to a value greater than 1.0. Further information, bugs, tips etc, can be found at my website. To compile with gs6.x or later, simply add to your makefile DEVICE_DEVS4=$(DD)cdj880.dev Matthew Gelhaus http://www.gelhaus.net/hp880c/ ------------------------------------------------------------------------------- H-P color inkjet printers This section, written by George Cameron, deals with the DeskJet 500C, DeskJet 550C, PaintJet, PaintJet XL, PaintJet XL300, the DEC LJ250 operating in PaintJet-compatible mode. Drivers contained in gdevcdj.c The source module gdevcdj.c contains six generic drivers: cdj500      HP DeskJet 500C and 540C cdj550   HP DeskJet 550C, 560C, 660C, 660Cse pjxl300   HP PaintJet XL300, DeskJet 1200C, and CopyJet pjtest   HP PaintJet pjxltest   HP PaintJet XL declj250   DEC LJ250 All these drivers have 8-bit (monochrome), 16-bit and 24-bit (colour) and for the DJ 550C, 32-bit (colour, CMYK mode) options in addition to standard colour and mono drivers. It is also possible to set various printer-specific parameters from the command line, for example gs -sDEVICE=cDeskJet -dBitsPerPixel=16 -dDepletion=1 -dShingling=2 tiger.ps Note: the old names cDeskJet, cdjcolor and cdjmono drivers have been retained; however, their functionality duplicates that available using the drivers above (and cDeskJet is identical to cdj500). That is, we can use gs -sDEVICE=cdj500 -dBitsPerPixel=24     for cdjcolor, and gs -sDEVICE=cdj500 -dBitsPerPixel=1   for cdjmono Default paper size If the preprocessor symbol A4 is defined, the default paper size is ISO A4; otherwise it is U.S. letter size (see about paper sizes in the usage documentation). You can specify other paper sizes on the command line, including A3 for the PaintJet XL and PaintJet XL300, as also explained in the usage documentation. DeskJet physical limits The DeskJet's maximum printing width is 2400 dots, or 8 inches (20.32cm). The printer manuals say that the maximum recommended printing height on the page is 10.3 inches (26.16cm), but since this is obviously not true for A4 paper, and I have been unable to detect any problems in printing longer page lengths, this would seem to be a rather artificial restriction. All DeskJets have 0.5 inches (1.27cm) of unprintable bottom margin, due to the mechanical arrangement used to grab the paper. Side margins are approximately 0.25 inches (0.64cm) for U.S. letter paper, and 0.15 inches (0.38cm) for A4. Printer properties (command-line parameters) Several printer "properties" have been implemented for these printers. Those available so far are all integer quantities, and thus may be specified, for instance, like gs -dBitsPerPixel=32 -dShingling=1 ... which sets the BitsPerPixel parameter to 32 and the Shingling parameter to 1. Bits per pixel If the preprocessor symbol BITSPERPIXEL is defined as an integer (see below for the range of allowable values), that number defines the default bits per pixel (bit depth) for the generic drivers. If the symbol is undefined, the default is 24 bits per pixel. It is, of course, still possible to specify the value from the command line as described below. Note also that the cDeskJet, cdjcolor and cdjmono drivers are unaffected by setting this symbol, as their default settings are predefined to be 1, 3 and 24 respectively. All of the drivers in gdevcdj.c accept a command line option to set the BitsPerPixel property. This gives considerable flexibility in choosing various tradeoffs among speed, quality, colour, etc. The valid numbers are: 1 A standard Ghostscript monochrome driver, using black ink (by installing the separate mono cartridge in the case of the DeskJet 500C, or automatically for the other printers). 3 A standard Ghostscript colour driver, using internal dithering. This is fast to compute and to print, but the clustered dithering can lose some detail and colour fidelity. 8 An "error-diffusion" monochrome driver which uses Floyd-Steinberg dithering to print greyscale images. The patterns are much more randomised than with the normal clustered dithering, but the data files can be much larger and somewhat slower to print. 16 A "cheaper" version of the 24-bit driver, which generates Floyd-Steinberg colour dithered output using the minimum memory (this may be helpful when using Ghostscript has not been compiled using a 16-bit build environment). The quality can be almost as good as the 24-bit version. 24 A high-quality colour driver using Floyd-Steinberg dithering for maximum detail and colour range. However, it is very memory-intensive, and thus can be slow to compute. It tends to produce rather larger raw data files, so they can also take longer to print. 32 Only for the DeskJet 550C, which uses the black cartridge and the colour cartridge simultaneously (that is, CMYK printing). This printer can both be faster and give higher quality than the DeskJet 500C, because of the true black ink. (Note that the 24-bit mode also permits CMYK printing on this printer, and uses less memory. Any differences between 24-bit and 32-bit should be small.) DeskJet properties Name      Type        --------------------------------------------------------------------------- BlackCorrect   int   Colour correction to give better blacks when using the DJ500C in colour mode. For example, the default of 4 reduces the cyan component to 4/5. Range accepted: 0 - 9 (0 = none). Shingling   int   Interlaced, multi-pass printing: 0 = none, 1 = 50%, 2 = 25%, 2 is best and slowest. Depletion   int   "Intelligent" dot-removal: 0 = none, 1 = 25%, 2 = 50%, 1 best for graphics? Use 0 for transparencies. PaintJet XL300 / PaintJet XL properties Name      Type      --------------------------------------------------------------------------- PrintQuality   int   Mechanical print quality: -1 = fast, 0 = normal, 1 = presentation. Fast mode reduces ink usage and uses single-pass operation for some media types. Presentation uses more ink and the maximum number of passes, giving slowest printing for highest quality RenderType   int   0 driver does dithering 1 snap to primaries 2 snap black to white, others to black 3 ordered dither 4 error diffusion 5 monochrome ordered dither 6 monochrome error diffusion 7 cluster ordered dither 8 monochrome cluster ordered dither 9 user-defined dither (not supported) 10 monochrome user-defined dither ns. The PaintJet (non-XL) has no additional properties. Gamma correction One consequence of using Floyd-Steinberg dithering rather than Ghostscript's default clustered ordered dither is that it is much more obvious that the ink dots are rather larger on the page than their nominal 1/180-inch or 1/300-inch size (clustering the dots tends to minimise this effect). Thus it is often the case that the printed result is rather too dark. A simple empirical correction for this may be achieved by preceding the actual PostScript file to be printed by a short file which effectively sets the gamma for the device, such as gs ... gamma.ps colorpic.ps -c quit where gamma.ps is %! /.fixtransfer { currentcolortransfer 4 { mark exch dup type dup /arraytype eq exch /packedarraytype eq or 1 index xcheck and { /exec load } if 0.333 /exp load ] cvx 4 1 roll } repeat setcolortransfer } bind odef .fixtransfer /setpagedevice { setpagedevice .fixtransfer } bind odef This does the gamma correction after whatever correction the device might be doing already. To do the correction before the current correction, %! /.fixtransfer { currentcolortransfer 4 { mark 0.333 /exp load 4 -1 roll dup type dup /arraytype eq exch /packedarraytype eq or 1 index xcheck and { /exec load } if ] cvx 4 1 roll } repeat setcolortransfer } bind odef .fixtransfer /setpagedevice { setpagedevice .fixtransfer } bind odef This example sets the gamma for R, G, and B to 3, which seems to work reasonably well in practice. HP's resolution-enhanced mode for Inkjet printers This feature is available on HP's more recent inkjet printers, including the DeskJet 520 (mono), 540 (mono or colour) and 560C (mono and colour). The colour and monochrome drivers for the HP DeskJet 550c are (probably) the best you will get for use with Ghostscript, for the following reasons. These printers do not offer true 600×300dpi resolution. Those that print in colour are strictly 300×300dpi in colour mode, while in mono mode there is a pseudo 600×300dpi mode with the restriction that you can't print two adjacent dots. In effect what you have is 600dpi dot positioning, but on average you don't get more dots per line. This provides the possibility, for instance, to have sharper character outlines, because you can place dots on the edges nearer to their ideal positions. This is why it is worth doing. However, HP will not support user-level programming of this resolution-enhanced mode, one reason being that (I understand) all the dot spacing has to be done by the driver, and if you get it wrong, you can actually damage the print head. To summarise, you may lose a smidgin of (potential) text clarity using the 550c drivers (cdj550, cdjcolor, cdjmono etc.), but other than that, they are the ones for the job. General tips For all the printers above, the choice of paper is critically important to the final results. The printer manuals suggest type of paper, but in general, smoother, less fibrous types give better results. In particular, the special ink-jet paper can make a big difference: colours are brighter, but most importantly, there is almost no colour bleed, even with adjacent areas of very heavy inking. Similarly the special coated transparencies also work well (and ordinary transparencies do not work at all!). The Unix procedure unix-lpr.sh provides one example of setting up a multi-option colour PostScript lpr queue on Unix systems, and includes the ability to choose a range of different colour options and printer accounting and error logging. Caveat emptor! It is not always easy for me to test all of these drivers, as the only colour printer I have here is the DeskJet 500C. I rely on others to test drivers for the additional machines and report their findings back to me. ------------------------------------------------------------------------------- Canon BJC-8200 printer This section was contributed by the author of the uniprint configuration files for the Canon BJC-8200, Stephan C. Buchert . These files also handle the Japanese Canon F850 printer. Warning: Usage of this program is neither supported nor endorsed by the Canon corporation. Please see the Ghostscript license regarding warranty. Introduction The Canon Bubble Jet printer BJC-8200 is designed for printing digital photos and halftone images. Software drivers for Windows 95-2000 and Mac are usually included and can be downloaded from the Canon web sites like http:// consumer.usa.canon.com/bjc/bjc8200/ for the US market. If these drivers cannot be used for some reason, then at present Ghostscript is probably the alternative giving the best results. The BJC-8200 has features not found among the specs of earlier bubble jet models (except the even more advanced BJC-8500) and is advertised to offer: 1. microfine droplet technology; 2. support for printing on a new type of paper, Photo Paper Pro; 3. a printhead capable of printing up to 1200 DpI; 4. individual ink tanks for 6 colors; 5. an internal status monitor reporting low ink back to a driver; 6. an optional color scanner cartridge for up to 600 DpI resolution. Access to features 5 and 6 requires use of the original Canon drivers for the foreseeable future. This README is about getting the printer features 1-3 working with Ghostscript. No (re)compilation of Ghostscript is normally required. Ghostscript comes with a relatively highly configurable driver, called uniprint , for printers which understand raster images in various propriety formats. Most options for this driver are usually organized into files having the suffix ".upp." Ghostscript versions >= 5.10 (or even earlier) include such uniprint control files for the Canon BJC-610. They work also well for some other Canon Bubble Jet models, for example for my BJC-35vII. But when using them for a BJC-8200 the result is unsatisfactory. The uniprint control files for the BJC-8200 After some experimenting with the options for uniprint I have obtained quite satisfactory prints with my printer(*). This distribution includes six new uniprint control files:   * bj8pp12f.upp   * bj8hg12f.upp   * bj8gc12f.upp   * bj8oh06n.upp   * bj8ts06n.upp   * bj8pa06n.upp They are included in Ghostscript >=6.21. For older versions you can put them anywhere in the Ghostscript search path (type "gs -h" to see the path), but should perhaps add the files to the directory with the other *.upp files. This is "/usr/share/ghostscript/gs6.01/lib" in my RedHat 6.1 Linux box with Aladdin Ghostscript 6.01. Here is an explanation of my file name convention: the prefix "bj8" should perhaps be used for the Canon BJC-8200 and compatible (like the Japanese F850 and perhaps the non-Japanese BJC-8500) models. The next two letters indicate the print media:   * pp "Photo Paper Pro"   * hg "High Gloss Photo Film"   * gc "Glossy Photo Cards"   * oh "OHP transparencies"   * ts "T-shirt transfer"   * pa "Plain Paper" The numbers at positions 6 and 7 indicate the resolution   * 12 1200x1200 DpIxDpI   * 06 600x600 DpIxDpI The last letter stands for a quality factor that effects also the print speed (presumably related to the number of passes that the printhead makes).   * f highest quality   * n normal quality Printing a postcard size (~10x15 cm^2) image at 1200x1200 DpI^2 takes about 3 minutes. The output of Ghostscript is then typically 4-5 MByte. The bootleneck seems to be the transfer of the raster image in run-length encoded Canon format to the printer (via the parallel port on my system) or the printer's speed, not Ghostscript or the uniprint renderer. Further Optimization for the Canon BJC-8200 So far I have only experimented with the printer initialization code at the beginning of each page (-dupBeginPageCommand) and the resolution (-r). Other options, particularly the transfer arrays (-dupBlackTransfer, -dupCyanTransfer, -dupMagentaTransfer, -dupYellowTransfer) and the margins (-dupMargins) were simply copied from the files for the BJC-610, but they may need to be changed for optimized performance. Here is information useful for changing or adding uniprint control files for the BJC-8200: In "-dupBeginPageCommand=..." use the line 1b28 64 0400 04b0 04b0 for 1200x1200 resolution, and 1b28 64 0400 0258 0258 for 600x600. The "-r" option in the control file must of course match this line. Other resolutions might work as well, but I didn't try. Crucial are the numbers in the lines like 1b28 63 0300 3005 04 ^ ^ Plain Paper 0 4 Highest quality OHP transparency 2 . T-shirt transfer 3 . Glossy Photo Film 5 . High Gloss Paper 6 0 Lowest quality Photo Paper Pro 9 Outlook Presently uniprint can use the black (K), cyan (C), magenta (M), and yellow (Y) colors in the BJC-8200. The unused colors are photo (or light) cyan (c) and magenta (m). Also the Canon driver seems to use only CMYK, for example when printing on Photo Paper Pro in "Camera" or "SuperPhoto" mode. These modes supposedly produce prints of the best quality that the Canon driver can offer. Other modes of Canon driver do use up to all six color cartridges (CMYKcm). Therefore expanding uniprint's capabilities for six colors would be interesting, but it may not increase the output quality of 6-color printers such as the BJC-8200 drastically. More control files for uniprint could be added in order to offer more versatility for controlling the BJC-8200 within a Ghostscript installation. The number of possible combinations for media type, resolution and print quality factor is very large, many combinations would not make much sense, many might be used here and there, but relatively rarely. The user would have to remember a name for each combination that is used. A better way would be to let the user patch optionally a user owned or system wide uniprint control file before each print via some print tool. This is similar to the approach taken by Canon with their driver for Windows. Similarly a uniprint tool could also incorporate other functions such as printing test and demo pages and the low ink warning once the protocol for this is known. Clearly it would be difficult to code such a uniprint tool for all the platforms where Ghostscript is running. Usage on RedHat Linux In order to install a BJC-8200 printer on a RedHat Linux system with RedHat's printtool, you need also to insert with a text editor the contents of the file bj8.rpd into the RedHat printer database /usr/lib/rhs/rhs-printfilters/ printerdb. Insert it most appropriately after the section StartEntry: U_CanonBJC610 . . . EndEntry < --- insert here "bj8.rpd" from this distribution: < --- StartEntry: U_CanonBJC8200 . . . Contacting the Author E-mail address: Footnotes: (*) Actually I have a F850, not a BJC-8200. That model is sold for the Japanese market only. The specs and also the external look are the same as those of the BJC-8200 models for the American and European markets. I expect that the raster image mode which is used exclusively by Ghostscript is entirely compatible for both models. Stephan C. Buchert ------------------------------------------------------------------------------- Other Canon BubbleJet (BJC) printers This section was contributed by the author of the drivers, Yves Arrouye (< yves.arrouye@usa.net>, but please do not send questions to him: he no longer maintains these drivers.) The drivers handle Canon BJC-600, BJC-4xxx, BJC-70, Stylewriter 2x00, and BJC-800 printers. History The BJC-600 driver was written in the first place by Yoshio Kuniyoshi and later modified by Yves Arrouye. We tried to make it evolve synchronously, though Yoshio cannot be reached since a long time ago. The drivers are based on code for the HP printers by George Cameron (in fact, they are in the same file!), so he's the first person to thank. The 2.00 version of the drivers was a complete rewrite of the driver (arguments, optimization, colour handling, in short: everything!) by Yves Arrouye. That release was also the first one to be able to use the full width of an A3 paper size. PostScript Printer Description (PPD) files for the drivers were released with version 2.15. They are incomplete, but they can be used to drive the printers' main features. Configuring and building the BJC drivers Modify values in gdevbjc.h Configure the drivers by modifying the default values in the file gdevbjc.h or on the compilation line. If you don't do that, the drivers use reasonable defaults that make them work "as expected". All default values shown here are defined in that file. CMYK-to-RGB color conversion By default, the drivers use the same algorithm as Ghostscript to convert CMYK colors to RGB. If you prefer to use Adobe formulas, define USE_ADOBE_CMYK_RGB when compiling. (See the top of the file gdevcdj.c to see the difference between the two.) Vertical centering of the printable area The drivers center the imageable area horizontally but not vertically, so that what can be printed does use the most of the output media. If you define BJC_DEFAULT_CENTEREDAREA when compiling, then the top and bottom margins will be the same, resulting in a (smaller) vertically centered imageable area also. Page margins If you define USE_RECOMMENDED_MARGINS, then the top and bottom margins will be the same (that is, BJC_DEFAULT_CENTEREDAREA will be defined for you) and the margins will be the 12.4mm recommended by Canon. Since margins are complicated (because one must rely on the mechanical precision of the printer), the drivers do something about the bottom margin: by default the bottom margin is 9.54mm for the BJC-600 driver and 7mm for the BJC-800. If you define USE_TIGHT_MARGINS , then the bottom margin is 7mm for both drivers (but I never managed to get my own BJC-600 to print a line on this low bound, hence the larger default). Regardless of the presence of this definition, USE_FIXED_MARGINS will not allow the BJC-800 to use the lower 7mm bottom margin, so if you have a problem with the bottom margin on a BJC-800, just define that (without defining USE_TIGHT_MARGINS, of course). A quick way to be sure the margins you selected is to print a file whose contents are: %! clippath stroke showpage If the margins are okay, you will get a rectangle visibly surrounding the printable area. If they're not correct, one or more of the sides will be either incomplete or completely unprinted. Makefile and compilation Make sure the bjc600 or bjc800 devices are in DEVICE_DEVS in the makefile; that is, look in the makefile for your platform and add them if necessary -- they may already be there. As of Ghostscript 5.10, for instance, one makefile has DEVICE_DEVS6=bj10e.dev bj200.dev bjc600.dev bjc800.dev Use of the drivers There are two drivers here. The "bjc600" one supports the BJC-600 and BJC-4xxx (maybe the BJC-70 as well) and the "bjc800" one supports the BJC-800 series. Remarks here that apply to both drivers use the name "bjc". Supported Options and Defaults Note: "options", "properties", and "parameters" designate the same thing: device parameters that you can change. Giving an option an incorrect value causes an error. Unless stated otherwise, this error will be a rangecheckerror. Options may be set from the Ghostscript command line (using the -d and -s switches or other predetermined switches if they have an effect on the driver) or using the PostScript Level 2 setpagedevice operator if Ghostscript has been compiled with the level2 or level3 device (which it should ;-)). There are no special-purpose operators such as one was able to find in Level 1 printers. The bjc uses 24 bits per pixel by default (unless you change the value of BJC_BITSPERPIXEL), corresponding to CMYK printing. Supported modes are 1 bpp and 4 bpp (gray levels), 8 bpp, 16 bpp, 24 bpp and 32 bpp (colours). Colours are preferably stored in the CMYK model (which means, for example, that with 16 bpp there are only 16 different shades of each color) but it is possible to store them as RGB color for some depths. Some modes do Floyd-Steinberg dithering and some don't, but use the default Ghostscript halftoning (in fact, when halftoning is used, dithering takes also place but because of the low point density it is usually not efficient, and thus invisible). --------------------------------------------------------------------------- Descriptions of printing modes by bpp and Colors --------------------------------------------------------------------------- bpp     Colors     Mode --------------------------------------------------------------------------- 32   4   CMYK colour printing, Floyd-Steinberg dithering 24   4   The same. (But each primary colour is stored on 6 bits instead of 8.) 24   3   RGB colour printing, Floyd-Steinberg dithering. This mode does not use the black cartridge (that's why it exists, for when you don't want to use it ;-)). Each primary colour is stored in 8 bits as in the 32/4 mode, but black generation and under-color removal are done on the driver side and not by Ghostscript, so you have no control over it. (This mode is no longer supported in this driver.) 16   4   CMYK colour printing, halftoned by Ghostscript. F-S dithering is still visible here (but the halftone patterns are visible too!). 8   4   The same. (But each primary colour is stored in 2 bits instead of 4.) 8   3   RGB colour printing. This mode is not intended for use. What I mean is that it should be used only if you want to use custom halftone screens and the halftoning is broken using the 8/4 mode (some versions of Ghostscript have this problem). 8   1   Gray-level printing, Floyd-Steinberg dithering 1   1   Gray-level printing halftoned by Ghostscript These modes are selected using the BitsPerPixel and Colors integer options (either from the command line or in a PostScript program using setpagedevice). See below. A note about darkness of what is printed: Canon printers do print dark, really. And the Floyd-Steinberg dithering may eventually darken your image too. So you may need to apply gamma correction by calling Ghostscript as in gs -sDEVICE=bjc600 gamma.ps myfile.ps where gamma.ps changes the gamma correction (here to 3 for all colors); 0.45 gives me good results, but your mileage may vary. The bigger the value the lighter the output: { 0.45 exp } dup dup currenttransfer setcolortransfer The drivers support printing at 90dpi, 180dpi and 360dpi. Horizontal and vertical resolutions must be the same or a limitcheck error will happen. A rangecheck will happen too if the resolution is not 90 ×2^N. If the driver is compiled with -DBJC_STRICT a rangecheck also happens if the resolution is not one of those supported. This is not the case, as we expect that there may be a 720dpi bjc some day. Here are the various options supported by the bjc drivers, along with their types, supported values, effects, and usage: BitsPerPixel (int) Choose the depth of the page. Valid values are 1, 8, 16, 24 (the default) and 32. Note that when this is set for the first time, the Colors property is automatically adjusted unless it is also specified. The table here shows the corresponding color models and the rendering method visible: "GS" for Ghostscript halftoning and "F-S" for Floyd-Steinberg dithering. When both are present it means that the dithering of halftones is visible. Default choices are indicated by asterisk "*". --------------------------------------------------------- Valid Colors values for allowed BitsPerPixel values --------------------------------------------------------- bpp      Colors             Color model      Dithering --------------------------------------------------------- 32   4       CMYK   F-S 24   4   *   CMYK   F-S     3       RGB   F-S 16   4       CMYK   GS, F-S 8   4   *   CMYK   GS     3       RGB   GS     1       K (CMYK)   F-S 1   1   *   K (CMYK)   GS Also note that automagical change of one parameter depending on the other one does not work in a setpagedevice call. This means that if you want to change BitsPerPixel to a value whose valid Colors values do not include the actual Colors value, you must change Colors too. Colors (int) Choose the number of color components from among 1, 3 and 4 (the default). This setting cannot be used in a PostScript program, only on Ghostscript's command line. See ProcessColorModel below for what to use to change the number of colors with PostScript code. Note that setting this property does limit the choices of BitsPerPixel. As for the previous property, its first setting may induce a setting of the "other value" (BitsPerPixel here). The table here indicates valid combinations with "V", default values with asterisk "*". ----------------------------------------------- Valid BitsPerPixel values for allowed Colors values -----------------------------------------------         BitsPerPixel OK values ------------------------ Colors    Type    32    24    16    8    1 ----------------------------------------------- 4   CMYK   V   *   V   V     3   RGB       *       V     1   K               V   * Also note that automagical change of one parameter depending on the other one does not work in a setpagedevice call. This means that if you want to change Colors to a value whose valid BitsPerPixel values don't include the actual BitsPerPixel value, you must change BitsPerPixel too. ProcessColorModel (symbol) A symbol taken from /DeviceGray, /DeviceRGB or /DeviceCMYK which can be used to select 1, 3 or 4 colors respectively. Note that this parameter takes precedence over Colors, and that both affect the same variable of the driver. (See Colors above for values combined with BitsPerPixel.) HWResolution (floats array) An array of two floats giving the horizontal and vertical resolution in dots per inch from among 90, 180 and 360 (the default). Both values must be the same. On the Ghostscript command line, the resolution may be changed with the -r switch. ManualFeed (bool) Indicate that the sheets won't be fed automatically by the printer, false by default. (Not meaningful on the BJC-600, I fear.) MediaType (string) The media to print on, chosen from among "PlainPaper", "CoatedPaper", " TransparencyFilm", "Envelope", "Card" and "Other". Default is "PlainPaper". For "Envelope", "Card" or "Other" the driver puts the printer into thick mode automatically regardless of the actual media weight. MediaWeight (int or null) The weight of the media in grams per square meter. Null (the default) indicates that the weight is of no importance. If the specified media weight is greater than 105 (that is, the value of the compilation default BJC???_MEDIAWEIGHT_THICKLIMIT) then the printer will be set to use thick paper. PrintQuality (string) The quality of printing. Value    bjc600    bjc800      --------------------------------------------------------------------------- Low       X   Has the effect of making only two printing passes instead of four, so should be twice the speed; known as "CN" (Color Normal) mode Draft   X   X   Unlights the "HQ" light on a BJC-600 Normal   X   X   Default for both drivers; lights the "HQ" light on a BJC-600 High   X   X   Means 200% black and 100% CMY; lights the "Bk+" light on a BJC-600 DitheringType (string) Dithering algorithm from between "Floyd-Steinberg" and "None". "None" is the default for 1/1 print mode, "Floyd-Steinberg" for other modes. At the moment this parameter is read-only, though no error is generated if one tries to change it. This parameter is not of much value at the moment and is here mainly to reserve the name for future addition of dithering algorithms. PrintColors (int) Mask for printing color. If 0, use black for any color; otherwise the value must be the sum of any of 1 (cyan), 2 (magenta), 4 (yellow) and 8 (black), indicating which colors will be used for printing. When printing colour, only colours specified will be printed (this means that some planes will be missing if a color's value above is omitted). When printing grays, black is used if it is present in the PrintColors; otherwise, the image is printed by superimposing each requested color. MonochromePrint (bool) For bjc600 only, false by default. Substitute black for Cyan, Magenta and Yellow when printing -- useful, for example, to get some monochrome output of a dithered printing This is a hardware mechanism as opposed to the previous software one. I think that using this or setting PrintColors to 0 will give the same results. Note that the MediaType and ThickMedia options will be replaced by the use of the device InputAttributes and OutputAttributes as soon as possible. Please note too that the print mode may be reset at the start of printing, not at the end. This is the expected behaviour. If you need to reset the printer to its default state, simply print a file that does just a showpage. Device information Here is other information published by the driver that you will find in the deviceinfo dictionary. OutputFaceUp (bool) This has the boolean value true, indicating that the sheets are stacked face up. Version (float) In the form M.mmpp, where M is the major version, mm the bjc driver's minor version, and pp the specific driver minor version (that is, M.mm will always be the same for the bjc600 and bjc800 drivers). VersionString (string) A string showing the driver version and other indications. At the moment, things like "a" or "b" may follow the version to indicate alpha or beta versions. The date of the last change to this version is given in the form MM/DD/YY (no, it won't adapt to your locale). Hardware margins The BJC printers have top and bottom hardware margins of 3mm and 7.1mm respectively (Canon says 7mm, but this is unusable because of the rounding of paper sizes to PostScript points). The left margin is 3.4mm for A4 and smaller paper sizes, 6.4mm for U.S. paper sizes, envelopes and cards. It is 4.0mm for A3 paper on the BJC-800. The maximum printing width of a BJC-600 printer is 203mm. The maximum printing width of a BJC-800 printer is 289mm on A3 paper, 203mm on U.S. letter and ISO A4 paper. PostScript printer description (PPD) files The files CBJC600.PPD and CBJC800.PPD (whose long names are, respectively, Canon_BubbleJetColor_600.ppd and Canon_BubbleJetColor_800.ppd) are PPD files to drive the features of the bjc600 and bjc800 drivers. They can be used, for example, on NextStep systems (presumably on OpenStep systems too) and on Unix systems with Adobe's TranScript and pslpr (not tested). The files are not complete at the moment. Please note that NextStep's printing interface does not correctly enforce constraints specified in these files (in UIConstraints descriptions): you must force yourself to use valid combinations of options. Customizing the PPD files By default the PPD files are set for U.S. letter size paper, and they use a normalized transfer function. If you choose to use A4 printing by default, you must replace "Letter" with "A4" in these (noncontiguous) lines:      [...] *DefaultPageSize: Letter      [...] *DefaultRegion: Letter      [...] *DefaultImageableArea: Letter      [...] Some versions of Ghostscript have problems with normalized colors, which makes them add magenta in gray levels. If you experience this problem, in the PPD file replace the line *DefaultTransfer: Normalized with the alternate line *DefaultTransfer: Null The "thick media" option is implemented by choosing a value of 120 or 80 (for thick and thin media respectively) for the MediaWeight feature of the drivers. If you ever change the threshold for thick media in the driver code, you may need to change the values in the PPD files too. All customization should be done using the "*Include:" feature of PPD files so that your local changes will be retained if you update the PPD files. How to report problems Yves Arrouye no longer maintains this driver, and will not answer questions about it. If you are posting a question about it in a public form, please be as descriptive as possible, and please send information that can be used to reproduce the problem. Don't forget to say which driver you use, and in what version. Version information can be found in the source code of the driver or by issuing the following command in a shell: echo "currentpagedevice /VersionString get ==" | gs -q -sDEVICE=bjc600 - Acknowledgements I am particularly grateful to Yoshio Kuniyoshi without whom I'd never make these drivers, and also to L. Peter Deutsch, who answered all my (often silly) questions about Ghostscript's driver interface. Thanks also to the people who volunteered to beta-test the v2.x BJC drivers: David Gaudine , Robert M. Kenney , James McPherson and Ian Thurlbeck (listed alphabetically) were particularly helpful by discovering bugs and helping find out exact paper margins on printers I don't have access to. And many thanks to Klaus-Gunther Hess for looking at the dithering code and devising a good CMYK dithering algorithm for the Epson Stylus Color, which I then adapted to the code of these drivers. ------------------------------------------------------------------------------- Epson Stylus color printer (see also uniprint) This section was contributed by Gunther Hess , who also wrote uniprint, a later set of drivers. You should probably see the section on uniprint for whether it might be better for your uses than this driver. Usage This driver is selected with "-sDEVICE=stcolor", producing output for an Epson Stylus Color at 360dpi resolution by default. But it can do much more with this printer, and with significantly better quality, than with the default mode; and it can also produce code for monochrome versions of the printer. This can be achieved via either command-line options or Ghostscript input. For convenience a PostScript file is supplied for use as an initial input file. Try the following command: gs -sDEVICE=stcolor -r{Xdpi}x{Ydpi} stcolor.ps {YourFile.ps} where {Xdpi} is one of 180, 360, or 720 and {Ydpi} is one of 90, 180, 360, or 720. The result should be significantly better. You may use stcolor.ps with other devices too, but I do not recommend this, since it does nothing then. stcolor.ps should be available with binary distributions and should reside in the same directory as other Ghostscript initialization files or in the same directory as the files to be printed. Thus if Ghostscript is part of your printer-spooler, you can insert (stcolor.ps) findlibfile { pop run } if pop in files you want to use the improved algorithms. You may want to adapt stcolor.ps file to your specific needs. The methods and options for this are described here, but this description is restricted to Ghostscript options, while their manipulation at the PostScript level is documented in the material on the relationship of Ghostscript and PostScript and in stcolor.ps. Options Now to explain the options (as written on my UNIX system). The order is somehow related to their use during the printing process: -dUnidirectional Force unidirectional printing, recommended for transparencies -dMicroweave Enable the printer's "microweave" feature; see "What is weaving?" below. -dnoWeave Disable any Weaving (overrides -dMicroweave) -dSoftweave Enable the driver's internal weaving. Note that Softweave works only with the original Stylus Color and the PRO-Series. -sDithering={name} Select another dithering algorithm (name) from among gscmyk      fast color output, CMYK process color model (default) gsmono   fast monochrome output gsrgb   fast color output, RGB process color model fsmono   Floyd-Steinberg, monochrome fsrgb   Floyd-Steinberg, RGB process color model (almost identical to the cdj550/bjc algorithm) fsx4   Floyd-Steinberg, CMYK process color model (shares code with fsmono and fsrgb, but is algorithmically really bad) fscmyk   Floyd-Steinberg, CMYK process color model and proper modifications for CMYK hscmyk   modified Floyd-Steinberg with CMYK model ("hs" stands for "hess" not for "high speed", but the major difference from fscmyk is speed) fs2   algorithm by Steven Singer (RGB) should be identical to escp2cfs2. -dBitsPerPixel={1...32} number of bits used for pixel storage; the larger the value, the better the quality -- at least in theory. In fsrgb one can gain some speed by restricting to 24 bits rather than the default 30. -dFlag0 causes some algorithms to select a uniform initialisation rather than a set of random values. May yield a sharper image impression at the cost of dithering artifacts. (Applies to hscmyk and all fs modes, except for fs2, which always uses a constant initialization.) -dFlag1 ... -dFlag4 Available for future algorithms. -dColorAdjustMatrix='{three, nine, or sixteen floating-point values}' This is a matrix to adjust the colors. Values should be between -1.0 and 1.0, and the number of values depends on the color model the selected algorithm uses. In RGB and CMYK modes a matrix with 1.0 on the diagonal produces no transformation. This feature is really required, but I could not identify a similar feature at the language level, so I implemented it, but I don't know reasonable values yet. -dCtransfer='{float float ...}' or -dMtransfer=..., -dY..., -dK... or -dRtransfer='{float float ...}' or -dG..., -dB... or -dKtransfer='{float float ...}' Which you use depends on the algorithm, which may be either either CMYK, RGB or monochrome. The values are arrays of floats in the range from 0 to 1.0, representing the visible color intensity for the device. One may achieve similar effects with setcolortransfer at the language level, but this takes more time and the underlying code for the driver-specific parameters is still required. The size of the arrays is arbitrary and the defaults are "{0.0 1.0}", which is a linear characteristic. Most of the code in stcolor.ps are better transfer arrays. -dKcoding='{float...}' -dC..., -dM... etc. Arrays between 0.0 and 1.0, controlling the internal coding of the color values. Clever use of these arrays may yield further enhancements, but I have no experience yet. (To be discontinued with version 2.x.) -sModel=st800 Causes output to be suitable for the monochrome Stylus 800 (no weaving, no color). -sOutputCode={name} Can be either "plain", "runlength" or "deltarow" and changes the ESC/P2 coding technique used by the driver. The default is to use runlength encoding. "plain" selects uncompressed encoding and generates enormous amounts of data. -descp_Band=1/8/15/24 Number of nozzles of scanlines used in printing, Useful only with -dnoWeave . Larger Values yield smaller code, but this doesn't increase the printing speed. -descp_Width=N Number of pixels Printed in each scan Line. (Useful only when tuning margins; see below) -descp_Height=pixels Length of the entire page in pixels. (Parameter of "ESC(C" in default initialization.) -descp_Top=scan lines Top margin in scan lines. (First parameter of "ESC(c" in default initialization.) -descp_Bottom=scan lines Bottom margin in scan lines. (Second parameter of "ESC(c" in default initialization.) -sescp_Init="string" Override for the initialization sequence. (Must set graphics mode 1 and units.) -sescp_Release="string" Overrides the release sequence, "ESC @ FF" by default. ESC/P2 allows any resolutions to be valid in theory, but only -r360x360 (the default) and -r720x720 (not on STC-IIs ? and st800) are known to work with most printers. --------------------------------------------------------------------------- Valid option combinations Stylus I & Pro-Series only --------------------------------------------------------------------------- Resolution      escp_Band      Weave usable      escp_Band & number of passes --------------------------------------------------------------------------- 180x90   15   noWeave     180x180   1 , 8, 24   noWeave, Microweave   15/2 SoftWeave 180x360           15/4 SoftWeave 180x720           15/8 SoftWeave 360x90   15   noWeave     360x180   1, 8, 24   noWeave, Microweave   15/2 SoftWeave 360x360   1, 8, 24   noWeave, Microweave   15/4 SoftWeave 360x720           15/8 SoftWeave 720x90   15   noWeave     720x180           15/2 SoftWeave 720x360           15/4 SoftWeave 720x720   1   noWeave, Microweave   15/8 SoftWeave Beware: there are only few validity checks for parameters. A good example is escp_Band: if you set this, the driver uses your value even if the value is not supported by the printer. You asked for it and you got it! Application note and FAQ Quite a bunch of parameters. Hopefully you never need any of them, besides feeding stcolor.ps to Ghostscript in front of your input. After answering some questions over fifty times I prepared a FAQ. Here is version 1.3 of the FAQ, as of stcolor version 1.20 (for Ghostscript 3.50). Support for A3 paper Yes, this driver supports the A3-size printer: merely set the required pagesize and margins. A simple way to do this is to specify the command-line switch " -sPAPERSIZE=a3" or include the procedure call "a3" in the PostScript prolog section. To optimize the printable area or set the proper margins, see the next paragraph. Margins, PageSize I refuse to add code to stcolor that tries to guess the proper margins or page size, because I found that such guessing is usually wrong and needs correction in either the source or the parameters. You can modify stcolor.ps to do that, however. After the line mark % prepare stack for "putdeviceprops" insert these lines, which define page size and margins in points: /.HWMargins [9.0 39.96 12.6 9.0] % Left, bottom, right, top (1/72") /PageSize [597.6 842.4] % Paper, including margins (1/72") /Margins [ % neg. Offset to Left/Top in Pixels 4 index 0 get STCold /HWResolution get 0 get mul 72 div neg 5 index 3 get STCold /HWResolution get 1 get mul 72 div neg ] Feel free to change the values of .HWMargins and PageSize to match your needs; the values given are the defaults when the driver is compiled with "-DA4". This option or its omission may cause trouble: the Stylus Color can print up to exactly 8 inches (2880 pixels) at 360dpi. The remaining paper is the margin, where the left margin varies only slightly with the paper size, while the right margin is significantly increased for wider paper, such as U.S. letter size. Note that if you are using an ISO paper size with a version of stcolor after 1.20 and compiled without "-DA4", then the default margin is too large, and you need to add the proper ".HWMargins" to the command line or to stcolor.ps. Stylus Color II / IIs and 1500 First the good news: the driver can print on the Stylus Color II. Now the bad news:   * According to Epson support the driver "abuses" the color capabilities. (See "Future Plans" for details.)   * You need some parameters on the command line (or in stcolor.ps).   * I doubted that it would be usable with the Stylus Color IIs, but it is usable and suffers from mixing problems! To make things work, you MUST disable the driver's internal weaving (Softweave ), in one of these two ways: gs -dMicroweave ... gs -dnoWeave -descp_Band=1 ... Version 1.90, current as of Ghostscript 5.10, fixes this bug by new default behaviour. I experienced significantly increased printing speed with the second variant on the old Stylus Color, when printing mostly monochrome data. Recommendations The next section is a contribution from Jason Patterson < jason@reflections.com.au> who evaluated a previous version (1.17). Ghostscript was invoked as follows: gs -sDEVICE=stcolor -r720x720 -sDithering=... -sOutputFile=escp.out stcolor.ps whatsoever.ps where "..." is the name of the desired algorithm. stcolor.ps was omitted for the gs-algorithms (gsmono, gsrgb and gscmyk), for which it is useless and would not allow the selection of "gscmyk". Color dithering experiments with gdevstc 1.21 Here are data about the EPSON Stylus Color driver's different dithering methods, based on a little experiment using four good quality scanned images of quite varied nature, to begin with, a summary of the results of the four experiments. Sanity note: the results here are from only four images and a total of 24 printouts (eight on 720dpi paper, sixteen on plain paper). Your results will almost certainly vary, and your standards might not be the same as mine, so use these results only as a guide, not as a formal evaluation. --------------------------------------------------------------------------- Quality of output by method ---------------------------------------------------------------------------    --------------------------------------------------------------------------- gsmono      Pretty much what you'd expect from a mono ordered pattern. Looks like what a lot of mono laser printers produce. fsmono   Excellent for monochrome. gscmyk   Not very good, but expected from an ordered pattern. gsrgb   A little better than gscmyk. More consistent looking. fs2   Good, but not quite as good as fsrgb. Gets the brightness wrong: too light at 720dpi, too dark at 360dpi. fsrgb   Very good, but a little too dark and has a slight blue tint. hscmyk   Excellent. Slightly better than fsrgb and fs2. Better than fscmyk on some images, almost the same on most. fscmyk   Best. Very, very slightly better than hscmyk. On some images nearly as good as the EPSON demos done with the MS Windows driver. -------------------------------------------- Overall visual quality (1-10), best to worst -------------------------------------------- Monochrome      fsmono    ******************   gsmono   **********       0 1 2 3 4 5 6 7 8 9 10 -------------------------------------------- Colour   fscmyk   *******************   hscmyk   *******************   fsrgb   ******************   fs2   *****************   gsrgb   **********   gscmyk   *********       0 1 2 3 4 5 6 7 8 9 10 Color transformation In the initial version of the driver distributed with Ghostscript 3.33, the parameter "SpotSize" was the only way to manipulate the colors at the driver level. According to the parameters enumerated above, this has changed significantly with version 1.16 and above as a result an ongoing discussion about dithering algorithms and "false color" on the Epson Stylus Color. This initiated the transformation of the stcolor driver into a framework for different dithering algorithms, providing a generalized interface to the internal Ghostscript color models and the other data structures related to Ghostscript drivers. The main thing such a framework should be able to do is to deliver the values the dithering algorithm needs; and since this directly influences the optical image impression, this transformation should be adjustable without the need for recompilation and relinking. In general the process can be described as follows: ColorAdjustMatrix Coding   Transfer   | Ghostscript | => | Ghostscript | => | Dithering data | color raster |   |   | 1/2/4/8/16/ |   |   | 32-bit | 1/3/4 16-bit |   | 1/3/4 values |   | (arbitrary | values type) Due to the limitations on raster storage, information is lost in the first transformation step, except for the 16-bit monochrome mode. So any color adjustment should take place before this step and this is where the optional ColorAdjustMatrix works. The first transformation step, called "coding", is controlled by the ?coding arrays. The decoding process expands the range of values expontentially to a larger range than that provided by the initial Ghostscript color model, and is therefore a reasonable place to make device- or algorithm-specific adjustments. This is where the ?transfer arrays are used. Array access might be not the fastest method, but its generality is superior, so this step is always based upon internally algorithm-specific array access. If 8 bits are stored per color component and if the algorithm uses bytes too, the second transformation is included within the first, which saves significant computation time when printing the data. ColorAdjustMatrix The driver supports different values for ProcessColorModel, which raises the need for different color adjustments. Here "CAM" stands for "ColorAdjustMatrix ". DeviceGray (three floats) if ((r == g) && (g == b)) K' = 1.0 - R; else K' = 1.0 - CAM[0] * R + CAM[1] * G + CAM[2] * B; According to the documentation on drivers, the latter (the "else" clause) should never happen. DeviceRGB (nine floats) if((r == g) && (g == b)) R' = B' = G' = R; else R' = CAM[0]*R + CAM[1]*G + CAM[2]*B; G' = CAM[3]*R + CAM[4]*G + CAM[5]*B; B' = CAM[6]*R + CAM[7]*G + CAM[8]*B; The printer always uses four inks, so a special treatment of black is provided. Algorithms may take special action if R, G, and B are all equal. DeviceCMYK (sixteen floats) if((c == m) && (m == y)) K' = max(C,K); C' = M' = Y' = 0; else K = min(C,M,Y); if((K > 0) && ColorAdjustMatrix_present) { => UCR C -= K; M -= K; Y -= K; } C' = CAM[ 0]*C + CAM[ 1]*M + CAM[ 2]*Y + CAM[ 3]*K; M' = CAM[ 4]*C + CAM[ 5]*M + CAM[ 6]*Y + CAM[ 7]*K; Y' = CAM[ 8]*C + CAM[ 9]*M + CAM[10]*Y + CAM[11]*K; K' = CAM[12]*C + CAM[13]*M + CAM[14]*Y + CAM[15]*K; Again we have a special black treatment. "max(C,K)" was introduced because of a slight misbehaviour of Ghostscript, which delivers black under certain circumstances as (1,1,1,0). Normally, when no special black separation and undercolor removal procedures are defined at the PostScript level, either (C,M,Y,0) or (0,0,0,K) values are mapped. This would make the extended ColorAdjustMatrix quite tedious, and so during mapping, black separation is done for (C,M,Y,0) requests; and if there is a ColorAdjustMatrix, undercolor removal is used too. In other words the default matrix is: 1 0 0 1 0 1 0 1 0 0 1 1 0 0 0 1 and it is applied to CMYK values with separated and removed black. Raising the CMY coefficients while lowering the K coefficients reduces black and intensifies color. But be careful, because even small deviations from the default cause drastic changes. If no ColorAdjustMatrix is set, the matrix computations are skipped. Thus the transformation reduces to range inversion in monochrome mode and black separation in CMYK mode. RGB / CMYK coding and transfer, and BitsPerPixel These two (groups of) parameters are arrays of floating-point numbers in the range 0.0 to 1.0. They control the truncation to the desired number of bits stored in raster memory (BitsPerPixel) and the ink density. The "truncation" may become a nonlinear function if any of the ?coding arrays is set. Assume the following Ghostscript invocation: gs -sDEVICE=stcolor -sDithering=fscmyk -dBitsPerPixel=16 \ -dKcoding='{ 0.0 0.09 0.9 1.0 }' \ -dMcoding='{ 0.0 0.09 0.9 1.0 }' \ -dKtransfer='{ 0.0 0.09 0.9 1.0 }' \ -dYtransfer='{ 0.0 0.09 0.9 1.0 }' We may have either or both of ?coding and ?transfer, giving four possible combinations. (These four combinations appear in the given example.) The resulting mapping appears in the following tables, where except for the internal Indices (4 components × 4 bits = 16 BitsPerPixel), all values are normalized to the range 0 to 1. The actual range is 0 to 65535 for the Ghostscript color and 0 to 16777215 for the ink values delivered to the fscmyk algorithm. Sorry for the bunch of numbers following, but you may try this example in conjunction with stcinfo.ps, which should give you a graphical printout of the following numbers when you issue a showpage command.     Cyan   Magenta ----------------------------- ----------------------------- CI/15   gs_color_values   CI   Ink   gs_color_values   CI   Ink --------------------------------------------------------------------- 0.000   0.000 - 0.062   0   0.000   -0.123 - 0.123   0   0.000 0.067   0.063 - 0.125   1   0.067   0.123 - 0.299   1   0.247 0.133   0.125 - 0.187   2   0.133   0.299 - 0.365   2   0.351 0.200   0.188 - 0.250   3   0.200   0.365 - 0.392   3   0.379 0.267   0.250 - 0.312   4   0.267   0.392 - 0.420   4   0.406 0.333   0.313 - 0.375   5   0.333   0.420 - 0.447   5   0.433 0.400   0.375 - 0.437   6   0.400   0.447 - 0.475   6   0.461 0.467   0.438 - 0.500   7   0.467   0.475 - 0.502   7   0.488 0.533   0.500 - 0.562   8   0.533   0.502 - 0.529   8   0.516 0.600   0.563 - 0.625   9   0.600   0.529 - 0.557   9   0.543 0.667   0.625 - 0.687   10   0.667   0.557 - 0.584   10   0.571 0.733   0.688 - 0.750   11   0.733   0.584 - 0.612   11   0.598 0.800   0.750 - 0.812   12   0.800   0.612 - 0.639   12   0.626 0.867   0.813 - 0.875   13   0.867   0.639 - 0.715   13   0.653 0.933   0.875 - 0.937   14   0.933   0.715 - 0.889   14   0.778 1.000   0.938 - 1.000   15   1.000   0.889 - 1.111   15   1.000 The difference between cyan and magenta is the presence of a coding array. The coding process must map a range of color values to each of the sixteen component indices. If no coding array is given, this is accomplished by dividing by 4096, equivalent to a right shift by 12 bits. The final ink density resides in the given interval and moves from the left to the right side from 0 to 15. For magenta there is a coding array and the ink value matches the center of the intervals. But the distribution of the mapped intervals follows the given coding array and is nonlinear in the linear color space of Ghostscript. Now let us take a look at the case with transfer arrays:     Yellow   Black ----------------------------- ----------------------------- CI/15   gs_color_values   CI   Ink   gs_color_values   CI   Ink --------------------------------------------------------------------- 0.000   0.000 - 0.062   0   0.000   -0.123 - 0.123   0   0.000 0.067   0.063 - 0.125   1   0.018   0.123 - 0.299   1   0.067 0.133   0.125 - 0.187   2   0.036   0.299 - 0.365   2   0.133 0.200   0.188 - 0.250   3   0.054   0.365 - 0.392   3   0.200 0.267   0.250 - 0.312   4   0.072   0.392 - 0.420   4   0.267 0.333   0.313 - 0.375   5   0.090   0.420 - 0.447   5   0.333 0.400   0.375 - 0.437   6   0.252   0.447 - 0.475   6   0.400 0.467   0.438 - 0.500   7   0.414   0.475 - 0.502   7   0.467 0.533   0.500 - 0.562   8   0.576   0.502 - 0.529   8   0.533 0.600   0.563 - 0.625   9   0.738   0.529 - 0.557   9   0.600 0.667   0.625 - 0.687   10   0.900   0.557 - 0.584   10   0.667 0.733   0.688 - 0.750   11   0.920   0.584 - 0.612   11   0.733 0.800   0.750 - 0.812   12   0.940   0.612 - 0.639   12   0.800 0.867   0.813 - 0.875   13   0.960   0.639 - 0.715   13   0.867 0.933   0.875 - 0.937   14   0.980   0.715 - 0.889   14   0.933 1.000   0.938 - 1.000   15   1.000   0.889 - 1.111   15   1.000 Yellow uses a transfer array. There is no linear correspondence between the color and the ink values: this correspondence is defined through the given array. In other words, the transfer arrays define a nonlinear ink characteristic, which is exactly the same functionality that PostScript's " (color)transfer" function provides. While for yellow the intervals match the intervals used with cyan, for black the intervals match the magenta intervals. But watch the correspondence between the CI/15 values and the ink density for black: this is a linear distribution in the ink domain. Not a bad idea, I think. Consider the fs2 algorithm: it uses values in the range 0 to 255. If any transfer array were alone, some of the 256 possible values would never be used and others would be used for adjacent intervals several times. Establishing an identical coding array solves this problem, so the full potential of the algorithm is used. Another useful feature of the coding arrays is that they are internally normalized to the range 0-1. In 720x720dpi mode the transfer arrays in stcolor.ps limit the dot density to about 50%, so these arrays end at 0.5 (and begin at 0.5 for RGB). Because of automatic normalization, these arrays can also be used as coding arrays. But of course in the fs2 case mentioned above, values from 0 to 127 will never be delivered to the algorithm, while values 128-255 are delivered for adjacent intervals. To clarify the intended use of the three parameters (parameter groups), keep this in mind:   + ColorAdjustMatrix is never used when transferring gray values. This restricts it to what the name says: adjustment of colors, that is, correction for miscolored ink. Do not use it for saturation or brightness control.   + ?transfer arrays control the values delivered to the driver, which in turn controls the ink quantity. Use these arrays to control saturation and brightness. In general these arrays are identical for all inks. If they differ they provide a simpler scheme for color correction, which is not necessarily faster than the ColorAdjustMatrix.   + ?coding arrays control the color value intervals mapped to the internal color indices. What is weaving? The Epson Stylus Color has a head assembly that contains two physically identifiable heads, one for black and one for cyan, magenta, and yellow (CMY). This makes four "logical" heads, one for each color component. Each of these four heads has several jets at some vertical (Y) distance from one another, so several horizontal lines can be printed of a given color during one pass of the heads. From experience I think there are fifteen jets per color, spaced at 1/ 90in. So the question arises of how to print at a Y resolution of 360dpi with 90dpi jets. Simply by division one gets 360dpi/90dpi = 4, which tells us that 4 passes of the head assembly are needed to achieve a Y resolution of 360dpi. Weaving is the method of how the fifteen jets are used to print adjacent horizontal rows separated here by 1/360 inch: ----------------------------------------------------------------- Print-head jets used with and without weaving -----------------------------------------------------------------     Weaving      noWeave ------------------------- -------------------------   Pass 1   2   3   4   1   2   3   4 Row 0   jet   --   --   --   jet   --   --   -- 0 0 1   --   jet   --   --   --   jet   --   -- 1 0 2   --   --   jet   --   --   --   jet   -- 2 0 3   --   --   --   jet   --   --   --   jet 3 0 4   jet   --   --   --   jet   --   --   -- 1 1 5   --   jet   --   --   --   jet   --   -- 2 1 6   --   --   jet   --   --   --   jet   -- 3 1 ... Now let's assume that the dot diameter is different for each individual jet, but the average among the jets matches the desired resolution. With weaving, adjacent rows are printed by different jets, thus some averaging takes place. Without weaving, adjacent rows are printed by the same jet and this makes the dot diameter deviations visible as 1/90in stripes on the paper. Print mode parameters The parameters "Unidirectional", "Microweave", "noWeave", "OutputCode", "Model" and the given resolution control the data generated for the printer. Unidirectional Simply toggles the unidirectional mode of the printer. Setting "Unidirectional" definitely slows printing speed, but may improve the quality. I use this for printing transparencies, where fast head movement could smear the ink. Microweave, noWeave and OutputCode=deltarow The first are two booleans, which implies that four combinations are possible. Actually only three exist (if you don't count for deltarow): Softweave, Microweave, and noWeave. The first and second are functionally identical, the difference being whether the driver or the printer does the job. In the default Softweave mode the driver sends the data properly arranged to the printer, while in Microweave mode, it is the printer that arranges the data. But in general the host processor is much faster than the printer's processor, and thus it is faster for the host do the job. In addition to that, for 720dpi eight passes are required, and the amount of buffer space needed to buffer the data for the passes is far beyond the printer's memory. Softweave requires an odd value of "escp_Band"; the Stylus Color provides fifteen for that. "OutputCode" controls the encoding used. In the basic modes, the choice consists of "plain" and "runlength". The computation of runlength-encoded data does not take much time, less than the data tranfer to the printer; thus this is the recommended mode, and of course the default. With the Stylus Color, Epson introduced some new encoding principles, namely "tiff" and "deltarow". While the first was omitted from this driver for lack of apparent advantages, " deltarow" is available as an option. "Softweave" cannot be used with this encoding, so if OutputCode=deltarow is set, Microweave becomes the default. Maybe that the size of the ESC/P2 code becomes smaller, but I have never observed faster printing speed. Things tend to become slower with deltarow compared to Softweave. Model Some ESC/P2 printers such as the Stylus 800 do not offer Microweave or the commands required to do Softweave. Setting Model just changes the defaults and omits some parts of the initialization sequence which are not compatible with the given printer model. Currently only "st800" is supported besides the default stcolor. Bugs and pitfalls   * The given ?coding and ?transfer arrays should be strictly monotonic.   * It is impossible to change WHITE: that's your paper. Thus RGB transfer should end at 1.0 and CMYK transfer should start at 0.0.   * Usually 8 bits per component yields fastest operation.   * The ColorAdjustMatrix is not used in the reverse transformation used when Ghostscript does the dithering (gs* modes). Expect funny results.   * If BitsPerPixel is less than 6, the entire coding and transfer process does not work. This is always true for the gs* modes and becomes true for the other modes if BitsPerPixel is forced to low values.   * 720×720dpi printing should never select the gs* modes and should always use stcolor.ps. (I prefer 360×720.) Tests This section gives an overview of performance in terms of processing and printing times, from tests run after version 1.13. Printing was done offline (simply copying a processed file to the printer) to measure real printing speed without regard to speed of processing on the host, since at high resolutions, processing time is the same order of magnitude and thus may become the limiting factor. The various OutputCodes I ran several files though Ghostscript and recorded the size of the resulting print code, the processing time, and the printing time, at least for some of the files, always using these options: gs -sDEVICE=stcolor -sPAPERSIZE=a4 stcolor.ps - < file.ps (Actually "-sPAPERSIZE=a4" is in my gs_init.ps since I'm a germ.) "deltarow" is the new encoding principle ("ESC . 3 10 10 1") with Microweave on. It is activated with "-sOutputCode=deltarow". "Softweave" actually means that nothing else was used: it is the default, and implies that odd v=40/h=10/m=15 mode ("ESC . 1 40 10 15"). "Microweave" means "-dMicroweave", equivalent to "ESC . 1 10 10 1", with full skip optimization and microweave activated. Finally I wanted to see the plain Kathy Ireland, and used "-sOutputCode=plain", which just replaces runlength encoding (RLE) by no encoding, thus using " ESC . 0 40 10 15". [So sorry ;-) Kathy was still dressed in blue in front of the blue sea on a blue air cushion -- nice to see but hard to dither.] So here are the results. -------------------------------------------------------------------------- File sizes and printing speeds with various weaving methods --------------------------------------------------------------------------     golfer.ps   colorcir.ps   drawing.ps   brief.ps -------------------------------------------------------------------------- deltarow   572751/   643374/   90142/46.180u/   178563/49.350u/ 48.180u 41.690u 1:50 2:22 Softweave   559593/   669966/   296168/48.160u/   269808/43.320u/ 46.810u 44.960u 1:30 1:55 Microweave   590999/   754276/   338885/47.060u/   282314/44.690u/ 56.060u 42.890u 1:50 2:22 ------------------------------------- Kathy Ireland -------------------------------------     kathy.ps ------------------------------------- deltarow   3975334/111.940u/5:35 Softweave   3897112/101.940u/3:10 Microweave   4062829/100.990u/3:15 plain/soft   5072255/104.390u/3:05 It may be that I've not chosen the optimal deltarow code, but even if it saves at lot of bytes, printing-speed is not increased. At least the printer prefers plain Kathy. In other words, sending 1 Megabyte or 20% more data has no impact on printing speed. drawing.ps is an exception to this rule: plain prints slower than RLE. "Unclever" coding -- especially with deltarow -- can significantly slow down printing. But even if very significant advantages in the size of the code are achieved, "deltarow" is not competitive. colorcir.ps shows savings with deltarow, but printing is a mess. Printing time related to other options Full page halftone images printed, unless otherwise noted. --------------------------------------------------------------------------- Printing time related to other options --------------------------------------------------------------------------- dpi   Print mode   Size   Time   Comments KB --------------------------------------------------------------------------- 180x180   mono   -/uni   358   1:15             -/bi   358   0:45             micro/   205   0:45   Not weaving bi         soft/   179   1:25     bi     color   -/bi   641   2:45             soft/   556   1:32     bi 360x360   mono   -/uni   269   0:50   Monochrome text         -/bi   269   0:35   Monochrome text         micro/   269   2:25   Monochrome text bi         soft/   250   3:15   Monochrome text uni         soft/   250   1:55   Monochrome text bi     color   -/bi   346   1:00   Sparse-color page, visible displacements         micro/   346   1:50   Sparse-color page, looks buggy -- bi printer?         soft/   294   1:30   Sparse-color page, O.K. bi         -/bi   2218   2:45   Visible stripes         micro/   5171   3:17     bi         soft/   3675   3:05     bi 360x720   mono   soft/   2761   5:40     bi     color   soft/   7789   6:15   Just a small difference! bi 720x360   color   soft/   7182   5:40     bi 720x720   color   micro/   14748   30:   Actually beyond printer's bi 26 capabilities         soft/   14407   11:     bi 08 Acknowledgments This driver was copied from gdevcdj.c (Ghostscript 3.12), which was contributed by George Cameron, Koert Zeilstra, and Eckhard Rueggeberg. Some of the ESC/P2 code was drawn from Richard Brown's gdevescp.c. The POSIX interrupt code (compilation option -DSTC_SIGNAL) is from Frederic Loyer. Several improvements are based on discussions with Brian Converse, Bill Davidson, Gero Guenther, Jason Patterson, ? Rueschstroer, and Steven Singer. While I wish to thank everyone mentioned above, they are by no means responsible for bugs in the stcolor driver -- just for the features. Gunther Hess Richard Wagner Strasse 112 D-47057 Duisburg Germany +49 203 376273 telephone (MET evening hours) ------------------------------------------------------------------------------- uniprint, a flexible unified printer driver uniprint is a unified parametric driver by Gunther Hess for several kinds of printers and devices, including   + any Epson Stylus Color, Stylus, or Stylus Pro   + HP PCL/RTL   + Canon BubbleJet Color 610   + NEC P2X   + Sun raster file format This driver is intended to become a unified printer driver. If you consider it ugly, please send me your suggestions for improvements. The driver will be updated with them. Thus the full explanation of the driver's name is: Ugly- -> Updated- -> Unified Printer Driver But you probably want to know something about the functionality. At the time of this writing uniprint drives:   * NEC Pinwriter P2X (24-pin monochrome impact printer, ESC/P style)   * Several Epson Stylus Color models (ESC/P2 style)   * HP-DeskJet 550c (basic HP-RTL)   * Canon BJC 610 It can be configured for various other printers without recompilation and offers uncompressed (ugly) Sun rasterfiles as another format, but this format is intended for testing purposes rather than real use. The usage of this driver is quite simple. The typical command line looks like this: gs @{MODEL}.upp -sOutputFile={printable file} MyFile.ps -c quit For example, from my Linux box: gs @stc.upp -sOutputFile=/dev/lp1 tiger.ps -c quit --------------------------------------------------------------------------- Unified Printer Parameter files distributed with Ghostscript --------------------------------------------------------------------------- Canon BJC 610 (color, rendered)      bjc610a0.upp    360×360dpi    plain paper, high speed   bjc610a1.upp   360×360dpi   plain paper   bjc610a2.upp   360×360dpi   coated paper   bjc610a3.upp   360×360dpi   transparency film   bjc610a4.upp   360×360dpi   back print film   bjc610a5.upp   360×360dpi   fabric sheet   bjc610a6.upp   360×360dpi   glossy paper   bjc610a7.upp   360×360dpi   high gloss film   bjc610a8.upp   360×360dpi   high resolution paper     bjc610b1.upp   720×720dpi   plain paper   bjc610b2.upp   720×720dpi   coated paper   bjc610b3.upp   720×720dpi   transparency film   bjc610b4.upp   720×720dpi   back print film   bjc610b6.upp   720×720dpi   glossy paper   bjc610b7.upp   720×720dpi   high-gloss paper   bjc610b8.upp   720×720dpi   high resolution paper   HP Ink-Printers   cdj550.upp   300×300dpi   32-bit CMYK   cdj690.upp   300×300dpi   Normal mode   cdj690ec.upp   300×300dpi   Economy mode   dnj750c.upp   300×300dpi   Color -- also good for 450C   dnj750m.upp   600×600dpi   Monochrome   NEC P2X   necp2x.upp   360×360dpi   8-bit (Floyd-Steinberg)   Any Epson Stylus Color   stcany.upp   360×360dpi   4-bit, PostScript halftoning   stcany_h.upp   720×720dpi   4-bit, PostScript halftoning   Original Epson Stylus and Stylus Pro Color   stc.upp   360×360dpi   32-bit CMYK, 15-pin   stc_l.upp   360×360dpi   4-bit, PostScript halftoning, weaved noWeave   stc_h.upp   720×720dpi   32-bit CMYK, 15-pin Weave   Epson Stylus Color II   stc2.upp   360×360dpi   32-bit CMYK, 20-pin, Epson Stylus Color II(s)   stc2_h.upp   720×720dpi   32-bit CMYK, 20-pin, Epson Stylus Color II   stc2s_h.upp   720×720dpi   32-bit CMYK, 20-pin, Epson Stylus Color IIs   Epson Stylus Color 200   stc200.upp   360×720dpi   Plain Paper   Epson Stylus Color 300   stc300.upp   360×360dpi   32-bit CMYK, plain paper   stc300bl.upp   180×180dpi   black only, plain paper   stc300bm.upp   360×360dpi   black only, plain paper   Epson Stylus Color 500 (good transfer curves for plain paper)   stc500p.upp   360×360dpi   32-bit CMYK, noWeave, plain paper   stc500ph.upp   720×720dpi   32-bit CMYK, noWeave, plain paper   Epson Stylus Color 600, 32/90-inch weaving   stc600pl.upp   360×360dpi   32-bit CMYK, 32-pin, plain paper   stc600p.upp   720×720dpi   32-bit CMYK, 32-pin, plain paper   stc600ih.upp   1440×   32-bit CMYK, 30-pin, inkjet paper 720dpi   Epson Stylus Color 640   stc640p.upp   720×720dpi   plain paper?   st640p.upp   720×720dpi   CMYK, plain paper   st640pg.upp   720×720dpi   grayscale, plain paper   st640pl.upp   360×360dpi   CMYK, plain paper   st640plg.upp   360×360dpi   grayscale, plain paper   st640ih.upp   1440×   CMYK, inkjet paper 720dpi   st640ihg.upp   1440×   grayscale, inkjet paper 720dpi   Epson Stylus Color 800, 64/180-inch weaving   stc800pl.upp   360×360dpi   32-bit CMYK, 64-pin, plain paper   stc800p.upp   720×720dpi   32-bit CMYK, 64-pin, plain paper   stc800ih.upp   1440×   32-bit CMYK, 62-pin, inkjet paper 720dpi   stc1520.upp   1440×   32-bit CMYK, 62-pin, inkjet paper 720dpi   Sun raster file   ras1.upp   1-bit   monochrome (Ghostscript)   ras3.upp   3-bit   RGB (Ghostscript)   ras4.upp   4-bit   CMYK (Ghostscript)   ras8m.upp   8-bit   grayscale (Floyd-Steinberg)   ras24.upp   24-bit   RGB (Floyd-Steinberg)   ras32.upp   32-bit   CMYK (CMYK-Floyd-Steinberg) Thanks to Danilo Beuche, Guido Classen, Mark Goldberg and Hans-Heinrich Viehmann for providing the files for the stc200, hp690, stc500 and the stc640. Thanks to Michael Lossin for the newer st640 parameter sets. Please note the following:   + Changing the resolution with Ghostscript's -r switch is usually not possible.   + For Epson Stylus Color models not listed above, the two stc500 variants are likely to work in addition to stcany, but their gamma correction might be wrong. The state of this driver The coding of uniprint was triggered by the requirements of the various Stylus Color models and some personal needs for HP and NEC drivers. Thus the Epson models are well represented among the distributed parameter files. When this driver entered the beta test phase, three other drivers appreared on the scene that could be at least partially integrated into uniprint: cdj850 by Uli Wortmann (available at http://www.erdw.ethz.ch/~bonk/hp850/hp850.html), hpdj by Martin Lottermoser, and bjc610 by Helmut Riegler. Uli addresses features of the more recent DeskJet models that will not be available in uniprint soon. Martin taught me a lesson on HP-PCL3 headers that will be available in uniprint soon. Helmut in turn followed an almost similar idea, but targetted primarily for printing on Canon printers from the pbmplus library. Starting with version 1.68 of uniprint, BJC support is available. Work on the hpdj integration will start after the update of my website. Notes on uniprint's background uniprint is actually an update of stcolor, but much more versatile than its predecessor; stcolor, in its turn, started as a clone of the color DeskJet family of drivers (cdj*). Finally, cdj* can be considered an addition of features to the simpler monochrome drivers of Ghostscript. This addition of features is useful to get an idea of the functionality of uniprint: Monochrome to advanced color (cdj*): This adds color mapping and rendering functions to the driver. Error diffusion is especially important for the quality of printing. HP color to Epson Color (stcolor) The Epson Stylus Color offered two features simultaneously: it could produce 720×720dpi output and it could soak the paper. In other words, it required more color management features inside the driver. This is still the major conceptual difference in the data generation for HP and Epson printers. Weaving techniques (stcolor) Besides the internal color management, the Stylus Color did not provide enough buffer space to operate the printer fast at 720×720dpi. The use of weaving could yield triple the print speed. Weaving, also called interleaving, is present in some monochrome drivers too. The new thing in stcolor was the combination with error diffusion. Unfortunately the weaving was somehow hard-coded, as the problems with the newer members of the Stylus Color family of printers demonstrated. Generalized output format and weaving (uniprint) The features mentioned above yield about 90% of stcolor's source code; only 10% is related to the formatting of the output. The idea to make the output format switchable came up soon after completing stcolor, but its final design was triggered by the (personal) necessity to drive a NEC P2X and a Designjet 750c. Thus uniprint accumulates almost any features that can be found among the other printer drivers, which clearly has some disadvantage in processing speed -- true in particular of version 1.75, since it was targetted for functionality, and several speed-gaining features were (knowingly) omitted. To summarize and to introduce the terms used in the description of the parameters, the features of uniprint that can be parameterized are:   + color mapping,   + color rendering (error diffusion or Floyd-Steinberg),   + output format, including   + weaving. Godzilla's guide to the creation of Unified Printer Parameter (.upp) files Here is one of the distributed parameter files (stc_l.upp) with some added comments. Also see the section that describes all uniprint's parameters in brief. -supModel="Epson Stylus Color I (and PRO Series), 360x360DpI, noWeave" -sDEVICE=uniprint -- Select the driver -dNOPAUSE -- Useful with printers -dSAFER -- Provides some security -dupColorModel=/DeviceCMYK -- Selects the color mapping -dupRendering=/ErrorDiffusion -- Selects the color rendering -dupOutputFormat=/EscP2 -- Selects the output format -r360x360 -- Adjusts the resolution -dupMargins="{ 9.0 39.96 9.0 9.0}" -- Establishes (L/B/R/T margins in points) -dupComponentBits="{1 1 1 1}" -- Map: bits per component (default: 8) -dupWeaveYPasses=4 -- Weave: Y-passes (default: 1) -dupOutputPins=15 -- Format/weave: scans per Command -dupBeginPageCommand="< -- Goes to the printer 1b40 1b40 -- ESC '@' ESC '@' -> dual reset 1b2847 0100 01 -- ESC '(' 'G' 1 0 1 -> graphics 1b2869 0100 00 -- ESC '(' 'i' 1 0 1 -> no HW weave 1b2855 0100 0A -- ESC '(' 'U' 1 0 10 -> 360dpi 1b5500 -- ESC 'U' 0 -> bidir print 1b2843 0200 0000 -- ESC '(' 'C' 2 0 xx -> page length 1b2863 0400 0000 0000 -- ESC '(' 'c' 4 0 xxxx -> margins >" -- as it is, unless: -dupAdjustPageLengthCommand -- Adjust page length in BOP requested -dupAdjustTopMarginCommand -- Adjust top margin in BOP -dupAdjustBottomMarginCommand -- Adjust bottom margin in BOP -dupEndPageCommand="(\033@\014)" -- Last (but one) data to the printer -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" That's short, and if one removes upWeaveYPasses and upOutputPins it becomes shorter, almost stcany.upp. This miniature size is because I am most familiar with ESC/P2, and was able to add defaults for the omitted parameters. Now a few notes about the parameters used in this example:   * upModel is a string serving as a comment (and nothing else).   * DEVICE, NOPAUSE, SAFER are well-known Ghostscript parameters described in the usage documentation.   * upColorModel is one of major uniprint parameters: it selects the color mapping and in turn the PostScript color model. It supports the devices / DeviceGray, /DeviceRGBW, /DeviceRGB, /DeviceCMYK, and /DeviceCMYKgenerate.   * upRendering selects the (color) rendering, supporting the values / ErrorDiffusion and /FSCMYK32. /ErrorDiffusion is similar to fsmono, fsrgb and fsx4 of stcolor, while /FSCMYK32 is (almost) identical to fscmyk and hscmyk, but is restricted to 32-bit data and should be used in conjunction with /DeviceCMYKgenerate.   * upOutputFormat selects the output method, supporting the values /SunRaster, /Epson, /EscP2, /EscP2XY, and/Pcl. /   creates Sun raster files and requires no other parameters SunRaster /Epson   is used for the elderly ESC/P format (used by many printers) /EscP2   is used by more recent Epson printers (no X weaving supported) /EscP2XY   supports X-Weaving, used with 1440dpi printers and in stc2s_h /Pcl   HP PCL/RTL-style output formatter without weaving   * -r360x360 is Ghostscript's standard resolution switch.   * upMargins="{ 9.0 39.96 9.0 9.0}" has function similar to the Ghostscript parameter .HWMargins: it sets the left, bottom, right, and top margins in points. uniprint provides this parameter to enable automatic left-right exchange if upYFlip is active.   * upComponentBits is an array of integers that selects the bits stored in raster memory, by default 8 bits per component. In this example, 1 bit is selected for each component, thus turning down the Floyd-Steinberg algorithm (but still carrying out the time-consuming computation). The related parameter "upComponentShift" controls positioning the components within raster memory. Each of the numbers given corresponds to a component which depends on the selected "upColorModel":     /   /   /   /   / DeviceGray DeviceRGBW DeviceRGB DeviceCMYK DeviceCMYKgenerate ------------------------------------------------------------------------- 0   White   White   Red   Black   Black 1   --   Red   Green   Cyan   Cyan 2   --   Green   Blue   Magenta   Magenta 3   --   Blue   --   Yellow   Yellow This order may not be suitable for some printers, so another parameter "upOutputComponentOrder", also an array of integers, selects the output order using the numbers on the left. One group of very important parameters not used in the example above deserves to be mentioned here: the transfer arrays, named "up{color} Transfer", where {color} is one of the names in the table above. These are arrays of floats in the range 0.0 - 1.0 representing the color transfer functions. They are used during mapping and rendering. In the simplest case, these arrays ensure an equidistant distribution of the stored values within the device space (which means a nonlinear mapping from Ghostscript's point of view). If the given array does not cover the entire range from 0 to 1, which applies for the Stylus Color family at high resolution for some media, only the relevant part gets mapped to raster memory (meaning that is's fully utilized) and the rendering takes care of the "overhang" (in this case the post-diffusion of 1-bit components makes sense). Finally an important note on the transfer arrays: for monochrome devices the stored component is White, which is the way PostScript defines these devices, but most printers require Black. Thus one has to provide a falling "upWhiteTransfer" for such printers.   * upWeaveYPasses is an integer that gives the number of print head passes required to achieve the requested Ydpi. This makes sense only if   * upOutputPins is set to something greater than 1. Thus multiple pins or nozzles are transferred with a single command, and of course such a command must be supported by the device. If no other weave parameters are given, uniprint computes several defaults which together do no weaving. The /Epson and /EscP2XY formats take care of " upWeaveXPasses" too.   * upBeginPageCommand represents the data transferred to the printer whenever a new page begins. Before that, "upBeginJobCommand" is written to the device only once per output file. (Intended for the HP PJL sequences).   * upAdjustBottomMarginCommand, upAdjustMediaSize, upAdjustPageLengthCommand, upAdjustPageWidthCommand, upAdjustResolutionCommand, and upAdjustTopMarginCommand Normally uniprint does not change the "upBeginPageCommand", nor does it provide a default. However, if the above boolean values are set, the corresponding values are changed (provided that the code of the formatters supports this change and the commands to be adjusted are included in the BOP string).   * upEndPageCommand is the fixed termination sequence for each page, and of course there is an "upEndJobCommand" too.   * upAbortCommand is written if uniprint's interrupt detection is enabled and a signal is caught. It replaces "upEndPageCommand" and "upEndJobCommand", thus allowing the indication of an aborted job. (Ghostscript gets an error return from uniprint in this case, and abandons further processing.) For the ESC/P(2) formats all commands represent binary data, while for the PCL/ RTL formatter some of them are formats for fprintf. These strings must explicitly have a trailing "\0'. I should write more, but the only recommendation is to take a look at the various parameter files. Here are a few more hints.   * If the Driver rejects a configuration, nothing happens until showpage; then an error is raised and a message with "CALL-REJECTED upd_print_page..." is printed on stderr.   * uniprint has lots of messages that can be activated by setting bits in the preprocessor macro UPD_MESSAGES. I usually use the compile-time option -DUPD_MESSAGES=0x17 for configuration development. (For the semantics, check the UPD_M_ macros in the source.)   * A program "uninfo.ps" distributed with Ghostscript displays interactively in alphabetical order the contents of the current pagedevice dictionary. This includes any parameters generated or changed by uniprint. All parameters in brief This table gives a brief explanation of every parameter known to uniprint, listing them in alphabetical order. "[ ]" denotes that a parameter is an array, and "(RO)" that it is read-only. --------------------------------------------------------------------------- All uniprint parameters --------------------------------------------------------------------------- Parameter   Type     Use --------------------------------------------------------------------------- upAbortCommand   String   End of page and file on interrupt upAdjustBottomMarginCommand   Bool   Manipulate bottom margin in upBeginPageCommand upAdjustMediaSizeCommand   Bool   Manipulate Mediasize [intended] upAdjustPageLengthCommand   Bool   Manipulate page length in upBeginPageCommand upAdjustPageWidthCommand   Bool   Manipulate page width in upBeginPageCommand upAdjustResolutionCommand   Bool   Manipulate resolution upAdjustTopMarginCommand   Bool   Manipulate top margin in upBeginPageCommand upBeginJobCommand   String   Begin each output file upBeginPageCommand   String   Begin each page upBlackTransfer   Float   Black transfer (CMYK only!) [ ] upBlueTransfer   Float   Blue transfer [ ] upColorInfo   Int[ ]   struct gx_device_color_info upColorModel   Name   Select color mapping upColorModelInitialized   Bool   Color mapping OK (RO) upComponentBits   Int[ ]   Bits stored per component upComponentShift   Int[ ]   Positioning within gx_color_index upCyanTransfer   Float   Cyan transfer [ ] upEndJobCommand   String   End each file unless upAbortCommand upEndPageCommand   String   End each page unless upAbortCommand upErrorDetected   Bool   Severe (VM) error, not fully (RO) operational upFSFixedDirection   Bool   Inhbits direction toggling in rendering upFSProcessWhiteSpace   Bool   Causes white-space rendering upFSReverseDirection   Bool   Run rendering in reverse (if fixed) upFSZeroInit   Bool   Non-random rendering initialization upFormatXabsolute   Bool   Write absolute X coordinates upFormatYabsolute   Bool   Write absolute Y coordinates upGreenTransfer   Float   Green transfer [ ] upMagentaTransfer   Float   Magenta transfer [ ] upMargins   Float   L/B/R/T margins in points [ ] upModel   String   Comment string, holds some info upOutputAborted   Bool   Caught an interrupt (RO) upOutputBuffers   Int   Number of rendering buffers (2^N) upOutputComponentOrder   Int[ ]   Order of components when printing upOutputComponents   Int   Number of written components, not fully operational upOutputFormat   Name   Select output format upOutputFormatInitialized   Bool   Format data OK (RO) upOutputHeight   Int   Output height in pixels upOutputPins   Int   Number of pins / nozzles per command upOutputWidth   Int   Output width in pixels upOutputXOffset   Int   Offset in pixels, if upFormatXabsolute upOutputXStep   Int   Divisor or multiplier for X coords upOutputYOffset   Int   Offset in pixels, if upFormatYabsolute upOutputYStep   Int   Divisor or multiplier for Y coords upRasterBufferInitialized   Bool   GS buffer OK (RO) upRedTransfer   Float   Red transfer [ ] upRendering   Name   Select rendering algorithm upRenderingInitialized   Bool   Rendering parameters OK (RO) upSelectComponentCommands   String   Establish color (output order!) [ ] upSetLineFeedCommand   String   Adjust linefeed (Epson only) upVersion   String   Source code version (RO) upWeaveFinalPins   Int[ ]   Number of bottom pins on EOP passes upWeaveFinalScan   Int   Begin EOP passes (Y-coord) upWeaveFinalXStarts   Int[ ]   X-pass indices for EOP passes upWeaveFinalYFeeds   Int[ ]   Y increments for EOP passes upWeaveInitialPins   Int[ ]   Number of top pins on BOP passes upWeaveInitialScan   Int   End BOP passes (Y coord) upWeaveInitialXStarts   Int[ ]   X-pass indices for BOP passes upWeaveInitialYFeeds   int[ ]   Y increments for BOP passes upWeavePasses   Int   XPasses × YPasses upWeaveXPasses   Int   Number of X passes upWeaveXStarts   Int[ ]   X-pass indices for normal passes upWeaveYFeeds   Int[ ]   Y increments for normal passes upWeaveYOffset   Int   Number of blank or incomplete scans at BOP upWeaveYPasses   Int   Number of X passes upWhiteTransfer   Float   White transfer (monochrome [ ] devices!) upWriteComponentCommands   String   Commands to write each component [ ] upWroteData   Bool   Something (BeginJob) written to (RO) output upXMoveCommand   String   X positioning command upXStepCommand   String   Single step to the right upYFlip   Bool   Flips output along the Y axis upYMoveCommand   String   Y positioning command upYStepCommand   String   Single step down upYellowTransfer   Float   Yellow transfer [ ] uniprint's Roll of Honor I should mention all of the people who were involved in stcolor's evolution, but I've decided to start from scratch here for uniprint: John P. Beale for testing the stc600 modes Bill Davidson who triggered some weaving research and tested stc2s_h L. Peter Deutsch who triggered ease of configuration Mark Goldberg who prepared the stc500 transfers Scott F. Johnston and Scott J. Kramer for testing the stc800 modes Martin Lottermoser for his great commented H-P DeskJet driver Helmut Riegler for the BJC extension Hans-Gerd Straeter for some measured transfer curves and more Uli Wortmann for discussions and his cdj850 driver My family for tolerating my printer-driver hacking Gunther Hess Duesseldorfer Landstr. 16b D-47249 Duisburg Germany +49 203 376273 telephone (MET evening hours) Uniprint weaving parameters howto This section was contributed by Glenn Ramsey. I wrote this because the documentation was very brief and I really struggled with it for a while, but it is very simple once you understand what is going on. This only describes how to work out the Y parameters, I haven't looked at the X parameters yet. 1. Determine the nozzle geometry (upOutputPins) You need to know how many nozzles the printer has and the spacing between them. Usually you can find this out from the printer manual, or the printer supplier, but you may have to dissect a couple of printer output files produced with the driver supplied with the printer. There is a utility called escp2ras* that will help with that. Sometimes the term pin is used instead of nozzle but they mean the same thing. The number of nozzles will be the value assigned to the upOutputPins parameter. Actually you don't have to print with all the pins available but for the purpose of demonstration I'll assume that we are using them all. * escp2ras is available from Gunther Hess' page at http:// www-md.e-technik.uni-rostock.de/ma/gunther/gs/index.html 2. Determine how many passes are required (upWeaveYPasses) The number of passes required is going to depend on the required resolution and the nozzle spacing. passes = resolution * nozzle spacing This will be the value assigned to the upWeaveYPasses parameter. For example if the desired resolution is 360 dpi and the nozzles are spaced at 1/90in then 360 * 1/90 = 4 passes are required. For 720 dpi 8 passes would be required. The printer would, of course, have to be capable of moving the paper in increments of either 360 or 720 dpi too. 3. Determine the normal Y feed increment (upWeaveYFeeds) You need to work out how much to feed the paper so that when the paper has moved by one head length in however many passes you have then each row space on the paper has been passed over by at least one nozzle. There will be one feed value for each pass and the feed values must comply with the following rules: sum of feeds = passes * nozzles feed%passes != 0 (feed is not exactly divisible by passes) sum of (nozzles - feed) = 0 For example if passes=4 and nozzles=15, then sum of feeds=60. The feed values could be 1,1,1,57 or 15,15,15,15 or 14,15,18,13. These values will be assigned to the upWeaveYFeeds parameter. You would need to experiment to see what combination looks best on the printer. I found it convenient to draw several lines of nozzles and then move them around to see how the different combinations would fill the paper. A computer drawing tool makes this easier than pencil and paper (I used Dia, a GNOME app). The number of nozzles would probably be be a good place to start. Remember that if the number of passes is more than 1 then the feed increment will be less than the nozzle spacing and passes × feed increment size must equal the physical distance between each nozzle. 4. Determine the beginning of page pins (upWeaveInitialPins) These values will be assigned to the upWeaveInitialPins parameter and are the numbers of nozzles to operate in each of the initial passes at the top of a page. The nozzles that the values refer to are the topmost nozzles on the head, nearest the top margin. If the image doesn't start at the top margin then uniprint doesn't use these feeds. I don't know a mathematical relation for this except that at least one of the values must be the number of nozzles, but I'm sure that there must be one. I used a graphical method, the description that follows refers to the ascii diagram in below. Draw a line of nozzles for each pass arranged as they would be using the normal Y feed increment determined in step 3. In the diagram below this would be passes 5-8. Draw a line of nozzles that would print just before the first normal pass. The feed increment for this pass will be close to and most likely 1 or 2 units less than the feed increment of the last normal pass. In the example below this line is pass 4 and the feed increment is 13 whereas the normal feed increment is 15. Draw each pass before that with a small feed increment so that if all of the nozzles appearing above the first nozzle of the first normal pass operate then all of the spaces will be filled. This feed increment is usually 1 except in cases where some jiggery pokery is going on to make the printer print at an apparent higher resolution than the nozzle diameter. Now select the nozzles that will operate in each of theses initial passes so that the paper is filled. In each pass the nozzles must be adjacent to each other and at least one of the passes will have all the nozzles operating. I suspect that for each combination of normal Y feed increments there will only be one set of valid beginning of page increments. Example: stc.upp from Aladdin Ghostscript 6.01 15 nozzles spaced at 1/90 in, 360 dpi requires 4 passes. -dupWeaveYPasses=4 -dupOutputPins=15 -dupWeaveYFeeds="{15 15 15 15}" -dupWeaveInitialYFeeds="{1 1 1 13}" -dupWeaveInitialPins="{ 4 15 11 7}" The following diagram shows which nozzles operate during each pass. Passes 1-4 are beginning of page passes and passes 5-8 are normal passes. x=nozzle operates, o=nozzle not used in this pass   1 2 3 4 5 6 7 8 - pass no 0 x 1   x 2     x 3       x 4 x 5   x 6     x 7       x 8 x 9   x 0     x 1       x 2 x 3   x 4     x 5       x 6 o       x 7   x 8     x 9       x 0 o       x 1   x 2     x 3       x 4 o       x 5   x 6     x 7       x 8 o       x 9   x 0     x 1       o   x 2 o       x 3   x 4     x 5       o   x 6 o       x 7   x 8     x 9       o   x 0 o       x 1   x 2     x 3       o   x 4 o       x 5   x 6     o       x 7       o   x 8 o       x 9   x 0     o       x 1       o   x 2 o       x 3   x 4     o       x 5       o   x 6 o       x 7   x 8     o       x 9       o   x 0         x 1               x 2             x 3           x 4         x 5               x 6             x 7           x 8         x 9               x 0             x 1           x 2         x 3               x 4             x 5           x 6 7               x 8             x 9           x 0 1               x 2             x 3           x 4 5               x 6             x 7           x 8 9               x 0             x 1 2 3               x 4             x 5 6 7               x 8             x 9 0 1               x 2             x 3 4 5               x 6 7 8 9               x 0 1 2 3               x 4 5 6 7               x These parameters would also work: -dupWeaveYPasses=4 -dupOutputPins=15 -dupWeaveYFeeds="{14 15 18 13}" -dupWeaveInitialYFeeds="{1 1 1 13}" -dupWeaveInitialPins="{ 4 11 7 15}" ------------------------------------------------------------------------------- Extension to uniprint for the Epson Stylus Color 300 This section was contributed by Glenn Ramsey. The Epson Stylus Color 300 uses a different command set to other Epson Stylus Color printers that use the ESC/P2 language. As far as I can tell its commands are a subset of ESC/P2. In ESC/P2 the colour to be printed is selected by a 'set colour' command and then the data sent is only printed in that colour until the colour is changed with another 'set colour' command. The Stylus Color 300 lacks this functionality. The data sent to the printer maps directly to the ink nozzles and colour of an output scan line in the printed output is determined by the position of the scan line within the data. This means that the driver must know how the nozzles are arranged and must format the output accordingly. The extension adds a format that I have called EscNozzleMap and adds some additional parameters to uniprint.   * upOutputFormatselects the output method, and should be set to the value / EscNozzleMap to select this format. /EscNozzleMap   produces output for the Epson Stylus Color 300 --------------------------------------------------------------------------- uniprint parameters for the EscNozzleMap format --------------------------------------------------------------------------- Parameter   Type     Use --------------------------------------------------------------------------- upNozzleMapRowsPerPass   Int   output rows to generate for each pass of the head upNozzleMapPatternRepeat   Int   no. of rows that correspond to the repeat pattern of the nozzles upNozzleMapRowMask   Int   mask indicating the colour of the [] nozzles upNozzleMapMaskScanOffset   Int   mask indicating the physical position [] of the nozzles A more detailed description of the new parameters   * upNozzleMapRowsPerPass The number of rows of data that are required to address all nozzles for a single pass of the head. There will always be this number of rows of output data generated. I'd expect it to be the same as the total number of nozzles but it wouldn't break the formatter if it wasn't. So if you wanted to print with only the 10th nozzle then row 10 would contain data corresponding to the bit pattern and all of the others would be padded with zeros.   * upNozzleMapPatternRepeat The number of nozzles in each repeated group on the printing head. This parameter must correspond with the length of the upNozzleMapRowMask array.   * upNozzleMapRowMask An array of integers that defines the colour of the nozzles on the head and whether the nozzles will be used to print. The array index defines the row index for the nozzle in the output data and the value defines the colour of the nozzle. The mapping of colours to values is defined in the table below. colour   mask value -------------------------- K   1 C   2 M   3 Y   4 no data   0 A value of 0 means that the nozzle is not used and the row in the output data will be padded with zeros.   * upNozzleMapMaskScanOffset An array of integers that defines the physical position of the nozzles relative to the first nozzle in the repeated group. The relative distance is measured in printed line widths and will be different for different printing resolutions. This parameter is used because the physical spacing of the nozzles may not correspond to their mapping in the output data. For example the ESC300 has nozzles physically arranged something like this:                                                                                 etc ... There is a one nozzle width space between the last two nozzles in each group. In the output data the data for the last nozzle in the group would be in row 5 (numbering starts at 0) but the nozzle is physically positioned at 6 spaces from the first nozzle. Example 1 - Epson Stylus Color 300 - 360 dpi colour -dupWeaveYPasses=6 -dupOutputPins=11 -dupWeaveYFeeds="{ 11 11 11 11 11 11 }" -dupWeaveInitialYFeeds="{ 1 1 1 1 1 7 }" -dupWeaveInitialPins="{ 2 11 9 7 5 3 }" -dupNozzleMapRowsPerPass=64 -dupNozzleMapPatternRepeat=6 -dupNozzleMapRowMask="{ 2 4 1 3 0 0 }" -dupNozzleMapMaskScanOffset="{ 0 1 2 3 0 0 }" The weaving parameters are the same as for any other uniprint driver but they must be consistent with the nozzle map parameters. In this printer the coloured nozzles are spaced at 1/60" so 6 passes are required for 360 dpi resolution. In the example there are 64 rows of data required for each head pass. Each row must be completely filled with data for each pass so if certain nozzles do not print in the pass then the rows for those nozzles will be padded with zeroes. The row mask translates to "C Y K M 0 0" so in the output data rows 0,7,13,... will contain data for cyan, rows 1,8,14,... will contain data for yellow, etc. Rows 4,10,16,... and 5, 11,15,... will always be padded with zeroes. The upNozzleMapPatternRepeat parameter defines the length of the mask. The row mask is repeated for each group of upNozzleMapPatternRepeat rows in the output data. In this case there are 64 rows so there will be 10 groups of "C Y K M 0 0" followed by "C Y K M" which is equivalent to 11 output pins. The upNozzleMaskScanOffset array indicates how the data from the scan buffer is mapped to the output data. The data is presented to the formatter as a buffer of four colour scanlines. The index of the scanline being printed, lets call it y, always corresponds, in this example, to the physical position of the cyan nozzle but since the nozzles are not on the same horizontal line then the other colours for the current pass must come from other scanlines in the scan buffer. The example is { 0 1 2 3 0 0 }, this means that when printing a 4 colour image the magenta data would come from scanline y+3, the black from scanline y+2, etc. It would have been possible in this case to use the array index instead of the upNozzleMaskScanOffset parameter however the parameter is necessary to be able to use the full capability of the printer in black only mode. Example 2 - Epson Stylus Color 300 - 180 dpi black only -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWeaveYPasses=1 -dupOutputPins=31 -dupNozzleMapRowsPerPass=64 -dupNozzleMapPatternRepeat=6 -dupNozzleMapRowMask="{ 0 0 1 0 1 1}" -dupNozzleMapMaskScanOffset="{ 0 0 0 0 1 2 }" In this example there is no weaving. The ESC300 has black nozzles evenly physically arranged as K K K but the data must be sent to the printer as 00K0KK. This is handled by the upNozzleMapRowMask and upNozzleMaskScanOffset arrays. The upNozzleMapRowMask array is { 0 0 1 0 1 1} which translates to { 0 0 K 0 K K } so rows 0, 1 and 3 will always contain zeros and the other rows will contain data. The upNozzleMaskScanOffset array in this case is { 0 0 0 0 1 2 } so if the data for the 1st nozzle comes from row y in the scan buffer then the data for the 2nd and 3rd nozzles will come from rows y+1 and y+2. Example 3 - Epson Stylus Color 300 - 360 dpi black only -dupWeaveYPasses=2 -dupOutputPins=31 -dupWeaveYFeeds="{31 31}" -dupWeaveInitialYFeeds="{1 31}" -dupWeaveInitialPins="{16 31}" -dupNozzleMapRowsPerPass=64 -dupNozzleMapPatternRepeat=6 -dupNozzleMapRowMask="{ 0 0 1 0 1 1}" -dupNozzleMapMaskScanOffset="{ 0 0 0 0 2 4 }" In this example 2 weave passes are required to achieve the desired resolution. The upNozzleMaskScanOffset array in this case is { 0 0 0 0 2 4 } because there are two weave passes so if the data for the first nozzle comes from row y in the scan buffer then the data for the 2nd and 3rd nozzles must come from rows y+(1*2) and y+(2*2). Glenn Ramsey glennr at users.sourceforge.net February 2001 ------------------------------------------------------------------------------- Sun SPARCprinter This section was contributed by Martin Schulte. With a SPARCprinter you always buy software that enables you to do PostScript printing on it. A page image is composed on the host, which sends a bitmap to the SPARCprinter through a special SBUS video interface. So the need for a Ghostscript interface to the SPARCPrinter seems low, but on the other hand, Sun's software prints some PostScript drawings incorrectly: some pages contain a thin vertical line of rubbish, and on some Mathematica drawings the text at the axes isn't rotated. Ghostscript, however, gives the correct results. Moreover, replacing proprietary software should never be a bad idea. The problem is that there has yet been no effort to make the SPARCPrinter driver behave like a BSD output filter. I made my tests using the script shown here. Installation Add sparc.dev to DEVICE_DEVS and compile Ghostscript as described in the documentation on how to build Ghostscript. Afterwards you can use the following script as an example for printing after modifying it with the right pathnames -- including for {GSPATH} the full pathname of the Ghostscript executable: outcmd1='/vol/local/lib/troff2/psxlate -r' outcmd2='{GSPATH} -sDEVICE=sparc -sOUTPUTFILE=/dev/lpvi0 -' if [ $# -eq 0 ] then $outcmd1 | $outcmd2 else cat $* | $outcmd1 | $outcmd2 fi Problems Since /dev/lpi can be opened only for exclusive use, if another job has it open (engine_ctl_sparc or another Ghostscript are the most likely candidates), Ghostscript stops with "Error: /invalidfileaccess in --.outputpage--" In case of common printer problems like being out of paper, a warning describing the reason is printed to stdout. The driver tries access again each five seconds. Due to a problem with the device driver (in the kernel) the reason for printer failure isn't always reported correctly to the program. This is the case, for instance, if you open the top cover (error E5 on the printer's display). Look at the display on the printer itself if a "Printer problem with unknown reason" is reported. Fatal errors cause the print job to be terminated. ------------------------------------------------------------------------------- Apple dot matrix printer This section was contributed by Mark Wedel . The Apple Dot Matrix Printer (DMP) was a parallel predecessor to the Imagewriter printer. As far as I know, Imagewriter commands are a superset of the Dot Matrix printer's, so the driver should generate output that can be printed on Imagewriters. To print images, the driver sets the printer for unidirectional printing and 15 characters per inch (cpi), or 120dpi. It sets the line feed to 1/9 inch. When finished, it sets the printer to bidirectional printing, 1/8-inch line feeds, and 12 cpi. There appears to be no way to reset the printer to initial values. This code does not set for 8-bit characters (which is required). It also assumes that carriage return-newline is needed, and not just carriage return. These are all switch settings on the DMP, and I have configured them for 8-bit data and carriage return exclusively. Ensure that the Unix printer daemon handles 8-bit (binary) data properly; in my SunOS 4.1.1 printcap file the string "ms=pass8,-opost" works fine for this. Finally, you can search devdemp.c for "Init" and "Reset" to find the strings that initialize the printer and reset things when finished, and change them to meet your needs. ------------------------------------------------------------------------------- Copyright © 1996, 2000 Aladdin Enterprises. All rights reserved. This file is part of AFPL Ghostscript. See the Aladdin Free Public License (the "License") for full details of the terms of using, copying, modifying, and redistributing AFPL Ghostscript. Ghostscript version 7.00, 8 April 2001 apsfilter-7.2.6.orig/setup/non-printer0000644000175000017500000000032707375500233020270 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/non-printer,v 1.1 2001/11/17 15:22:03 andreas Exp $ # BMP image|bmp CMYK bitmap|bitcmyk JPEG image|jpeg PCX image|pcx PDF document|pdfwrite PNG image|png PNM image|pnm TIFF image|tiff apsfilter-7.2.6.orig/setup/printer-6.500000644000175000017500000002364507436250570020102 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-6.50,v 1.2.2.2 2002/02/24 20:47:52 andreas Exp $ # Apple Dot Matrix Printer|appledmp Apple Imagewriter LQ in 320 x 216 dpi mode|iwlq Apple Imagewriter, high-resolution mode|iwhi Apple Imagewriter, low-resolution mode|iwlo Apple Imagewriter|appledmp Apple StyleWriter 2x00|bjc600 Brother HL720 (HL760=PCL)|hl7x0 Brother HL730 (HL760=PCL)|hl7x0 C.Itoh M8510 printer|m8510 CalComp Raster format|ccr Canon BJ300 in LQ850 emul|lq850 Canon BJ300 in ProPrinter mode|bj200 Canon BJC 610, 360x360DpI, back print film, color, rendered|bjc610a4.upp Canon BJC 610, 360x360DpI, coated paper, color, rendered|bjc610a2.upp Canon BJC 610, 360x360DpI, fabric sheet, color, rendered|bjc610a5.upp Canon BJC 610, 360x360DpI, glossy paper, color, rendered|bjc610a6.upp Canon BJC 610, 360x360DpI, high gloss film, color, rendered|bjc610a7.upp Canon BJC 610, 360x360DpI, high resolution paper, color, rendered|bjc610a8.upp Canon BJC 610, 360x360DpI, plain paper, color, rendered|bjc610a1.upp Canon BJC 610, 360x360DpI, plain paper high speed, color, rendered|bjc610a0.upp Canon BJC 610, 360x360DpI, transparency film, color, rendered|bjc610a3.upp Canon BJC 610, 720x720DpI, back print film, color, rendered|bjc610b4.upp Canon BJC 610, 720x720DpI, coated paper, color, rendered|bjc610b2.upp Canon BJC 610, 720x720DpI, glossy paper, color, rendered|bjc610b6.upp Canon BJC 610, 720x720DpI, high gloss paper, color, rendered|bjc610b7.upp Canon BJC 610, 720x720DpI, high resolution paper, color, rendered|bjc610b8.upp Canon BJC 610, 720x720DpI, plain paper, color, rendered|bjc610b1.upp Canon BJC 610, 720x720DpI, transparency film, color, rendered|bjc610b3.upp Canon BJC 8200, (1200DpI)^2, glossy photo card, high quality|bj8gc12f.upp Canon BJC 8200, (1200DpI)^2, high gloss photo, high quality|bj8hg12f.upp Canon BJC 8200, (1200DpI)^2, professional photo paper, highest quality|bj8pp12f.upp Canon BJC 8200, (600DpI)^2, OHP, normal quality|bj8oh06n.upp Canon BJC 8200, (600DpI)^2, plain paper, normal quality|bj8pa06n.upp Canon BJC 8200, (600DpI)^2, t-shirt transfer, normal quality|bj8ts06n.upp Canon BubbleJet BJ10e|bj10e Canon BubbleJet BJ200 (b&w)|bj200 Canon BubbleJet BJC-240(b&w)|bj200 Canon Color BJC-50|bjc50 Canon Color BJC-70|bjc70 Canon Color BJC-80|bjc50 Canon Color BJC-210|bjc70 Canon Color BJC-250|bjc50 Canon Color BJC-600|bjc600 Canon Color BJC-610|bjc70 Canon Color BJC-620|bjc70 Canon Color BJC-800|bjc800 Canon Color BJC-4000|bjc4000 Canon Color BJC-4100|bjc70 Canon Color BJC-4200|bjc70 Canon Color BJC-4300|bjc50 Canon Color BJC-4550|bjc50 Canon Color BJC-4650|bjc50 Canon Color BJC-5500|bjc70 Canon Color BJC-7000|bjc7000 Canon LBP-8II laser printer|lbp8 Canon LIPS III laser printer in English (CaPSL) mode|lips3 Citizen Projet IIc|cdjcolor CoStar LabelWriter II II/Plus|coslw2p CoStar LabelWriter XL|coslwxl DEC LJ250 Companion color printer|lj250 DEC LJ250 driver (alternate)|declj250 Epson AP3250|ap3250 Epson LP-8000 line printer|lp8000 Epson LQ-570 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper (+)|lqx70cl.upp Epson LQ-570 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper (+)|lqx70cm.upp Epson LQ-570 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper (+)|lqx70ch.upp Epson LQ-850 (360x360)|lq850 Epson LQ-870 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper (+)|lqx70cl.upp Epson LQ-870 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper (+)|lqx70cm.upp Epson LQ-870 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper (+)|lqx70ch.upp Epson LQ-1070 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper (+)|lqx70cl.upp Epson LQ-1070 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper (+)|lqx70cm.upp Epson LQ-1070 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper (+)|lqx70ch.upp Epson LQ-1170 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper (+)|lqx70cl.upp Epson LQ-1170 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper (+)|lqx70cm.upp Epson LQ-1170 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper (+)|lqx70ch.upp Epson LQ-2550 color|epsonc Epson Stylus 800 printer|st800 Epson Stylus 800 printer, 360x180DpI, Hardw. weave, Unidir. (+)|stm800hm.upp Epson Stylus 800 printer, 360x360DpI, Hardw. weave, Unidir. (+)|stm800hh.upp Epson Stylus Color (any model), 360x360DpI|stcany.upp Epson Stylus Color (any model), 720x720DpI|stcany_h.upp Epson Stylus Color 200, 360x720DpI|stc200_h.upp Epson Stylus Color 500, 360x360DpI, not Weaved, Plain Paper|stc500p.upp Epson Stylus Color 500, 720x720DpI, not Weaved, Plain Paper|stc500ph.upp Epson Stylus Color 600, 1440x720DpI, Inkjet Paper|stc600ih.upp Epson Stylus Color 600, 360x360DpI, Plain Paper|stc600pl.upp Epson Stylus Color 600, 720x720DpI, Plain Paper|stc600p.upp Epson Stylus Color 640, 1440x720DpI, Grayscale, Inkjet Paper|st640ihg.upp Epson Stylus Color 640, 1440x720DpI, Inkjet Paper|st640ih.upp Epson Stylus Color 640, 360x360DpI, Grayscale, Plain Paper|st640plg.upp Epson Stylus Color 640, 360x360DpI, Plain Paper|st640pl.upp Epson Stylus Color 640, 720x720DpI, Grayscale, Plain Paper|st640pg.upp Epson Stylus Color 640, 720x720DpI, Inkjet Paper|stc640p.upp Epson Stylus Color 640, 720x720DpI, Plain Paper|st640p.upp Epson Stylus Color 740, 1440x720DpI, Inkjet Paper (+)|stc740ih.upp Epson Stylus Color 740, 360x360DpI, Plain Paper (+)|stc740pl.upp Epson Stylus Color 740, 720x720DpI, Plain Paper (+)|stc740p.upp Epson Stylus Color 800, 1440x720DpI, Inkjet Paper|stc800ih.upp Epson Stylus Color 800, 360x360DpI, Plain Paper|stc800pl.upp Epson Stylus Color 800, 720x720DpI, Plain Paper|stc800p.upp Epson Stylus Color 1500|stcolor Epson Stylus Color 1520, 1440x720DpI, Inkjet Paper|stc1520h.upp Epson Stylus Color I, 360x360DpI, Plain Paper|stc.upp Epson Stylus Color I, 360x360DpI, noWeave|stc_l.upp Epson Stylus Color I, 720x720DpI, Special Paper|stc_h.upp Epson Stylus Color II, 360x360DpI, Plain Paper|stc2.upp Epson Stylus Color II|stcolor Epson Stylus Color IIs, 360x360DpI, Plain Paper|stc2.upp Epson Stylus Color IIs|stcolor Epson Stylus Color II, 720x720DpI, Special Paper|stc2_h.upp Epson Stylus Color IIs, 720x720DpI, Special Paper|stc2s_h.upp Epson Stylus Color PRO, 360x360DpI, Plain Paper|stc.upp Epson Stylus Color PRO, 360x360DpI, noWeave|stc_l.upp Epson Stylus Color PRO, 720x720DpI, Special Paper|stc_h.upp Epson Stylus Color|stcolor Epson Stylus Color Photo|photoex Epson Stylus Color Photo EX|photoex Epson Stylus Color Photo 700|photoex Epson Stylus PRO|stcolor Epson-compatible 9-pin, interleaved lines, medium resol|eps9mid Epson-compatible 9-pin, interleaved lines, triple resol|eps9high Epson-compatible dot matrix, 9/24-pin|epson Fujitsu 1200 color|epsonc Fujitsu 2400 color|epsonc Fujitsu 3400 color|epsonc HP 2563B line printer|lp2563 HP CopyJet color printer|pjxl300 HP DesignJet 650C|dnj650c HP Designjet 750c, 300x300DpI, Gamma=2.5, CMY|dnj750c.upp HP Designjet 750m, 600x600DpI, Gamma=2.5, CMY|dnj750m.upp HP DeskJet 500|djet500 HP DeskJet 500C (same as cdjcolor)|cdj500 HP DeskJet 500C alternate driver, not for 550/560C|djet500c HP DeskJet 500C b/w printing|cdjmono HP DeskJet 500C, 1 bit/pixel color|cdeskjet HP DeskJet 500C, 24bit/pxl+FS dith|cdjcolor HP DeskJet 510, b/w printing|cdjmono HP DeskJet 520, b/w printing|cdjmono HP DeskJet 540C (same as cdjcolor)|cdj500 HP DeskJet 540C b/w printing|cdjmono HP DeskJet 540C, 24bit/pxl+FS dith|cdjcolor HP DeskJet 550C|cdj550 HP Deskjet 550c, 300x300DpI, Gamma=2|cdj550.upp HP DeskJet 560C|cdj550 HP DeskJet 600 (use -r600)|djet500 HP DeskJet 660C|cdj550 HP DeskJet 660Cse|cdj550 HP Deskjet 690 Econo-Fast Gamma 2.0|cdj690ec.upp HP Deskjet 690 Normal Gamma 2.0|cdj690.upp HP DeskJet Plus|deskjet HP DeskJet|deskjet HP Deskjet 550c, 300x300DpI, Gamma=2|cdj550.upp HP Deskjet 690 Econo-Fast Gamma 2.0|cdj690ec.upp HP Deskjet 690 Normal Gamma 2.0|cdj690.upp HP LaserJet 3100 (with HP software)|lj3100sw HP LaserJet 4 (defaults to 600 dpi) with duplex|ljet4d HP LaserJet 4 with Floyd-Steinberg dithering|lj4dith HP LaserJet 4, defaults to 600 dpi|ljet4 HP LaserJet 4L (ljet4 driver)|ljet4l HP LaserJet 5 Color (new driver, old=cljet5pr)|cljet5 HP LaserJet 5 Color (old drv. with rotation hacks/flaws)|cljet5pr HP LaserJet 5 Color Simple|cljet5c HP LaserJet 5 family (PCL5 / PCL XL), bitmap|lj5mono HP LaserJet 5 family, gray-scale bitmap|lj5gray HP LaserJet 5L (not real LJ5), defaults to 600 dpi|ljet4 HP LaserJet 5M Color (new driver, old=cljet5pr)|cljet5 HP LaserJet 5M Color (old drv. with rotation hacks/flaws)|cljet5pr HP LaserJet 5M Color Simple|cljet5c HP LaserJet 5P (not real LJ5), defaults to 600 dpi|ljet4 HP LaserJet 6 family (PCL5 / PCL XL), bitmap|lj5mono HP LaserJet 6 family, gray-scale bitmap|lj5gray HP LaserJet III* with Delta Row compression|ljet3 HP LaserJet III* with TIFF compression|ljet2p HP LaserJet IIID with duplex capability|ljet3d HP LaserJet IId with TIFF compression|ljet2p HP LaserJet IIp with TIFF compression|ljet2p HP LaserJet Plus|ljetplus HP LaserJet|laserjet HP PCL XL black-and-white printers (LaserJet 5 and 6 family)|pxlmono HP PCL XL color printers (none available yet)|pxlcolor HP PaintJet 1200C color printer|pjxl300 HP PaintJet XL color printer|pjxl HP PaintJet XL driver (alternate)|pjetxl HP PaintJet XL driver |pj HP PaintJet XL300 color printer|pjxl300 HP PaintJet color printer (alternate)|paintjet IBM 9-pin Proprinter|ibmpro IBM Jetprinter ink-jet color (Model #3852)|jetp3852 Imagen ImPress printers|imagen Kyocera FS-600 (600 dpi)|fs600 Lexmark 5700 monotone|lxm5700m MFC6550MC Fax Machine|hl7x0 Mitsubishi CP50 color|cp50 NEC P6+, 360x360 DPI resol|necp6 NEC P6, 360x360 DPI resol|necp6 NEC P60, 360x360 DPI resol|necp6 NEC Pinwriter 2X, 360x360DpI, Plain Paper|necp2x.upp NEC Pinwriter 2X, 360x360DpI, Plain Paper|necp2x6.upp OCE 9050 printer|oce9050 Okidata MicroLine 182|oki182 Okidata MicroLine IBM-compatible printers|okiibm Practical Automation ATX-23|atx23 Practical Automation ATX-24|atx24 Practical Automation ATX-38|atx38 Ricoh 4081 laser printer|r4081 Sony NWP533 laser printer|nwp533 SPARCprinter|sparc StarJet 48 inkjet printer|sj48 Tektronix 4693d color, 2 bits per R/G/B component|t4693d2 Tektronix 4693d color, 4 bits per R/G/B component|t4693d4 Tektronix 4693d color, 8 bits per R/G/B component|t4693d8 Tektronix 4695 inkjet plotter|tek4696 Tektronix 4696 inkjet plotter|tek4696 apsfilter-7.2.6.orig/setup/printer-7.000000644000175000017500000002444307436250570020073 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-7.00,v 1.1.2.2 2002/02/24 20:47:52 andreas Exp $ Apollo 21xx series|hpijs/AP21xx Apple Dot Matrix Printer|appledmp Apple Imagewriter LQ in 320 x 216 dpi mode|iwlq Apple Imagewriter, high-resolution mode|iwhi Apple Imagewriter, low-resolution mode|iwlo Apple Imagewriter|appledmp Apple StyleWriter 2x00|bjc600 Brother HL720 (HL760=PCL)|hl7x0 Brother HL730 (HL760=PCL)|hl7x0 C.Itoh M8510 printer|m8510 CalComp Raster format|ccr Canon BJ300 in LQ850 emul|lq850 Canon BJ300 in ProPrinter mode|bj200 Canon BJC 610, 360x360DpI, back print film, color, rendered|bjc610a4.upp Canon BJC 610, 360x360DpI, coated paper, color, rendered|bjc610a2.upp Canon BJC 610, 360x360DpI, fabric sheet, color, rendered|bjc610a5.upp Canon BJC 610, 360x360DpI, glossy paper, color, rendered|bjc610a6.upp Canon BJC 610, 360x360DpI, high gloss film, color, rendered|bjc610a7.upp Canon BJC 610, 360x360DpI, high resolution paper, color, rendered|bjc610a8.upp Canon BJC 610, 360x360DpI, plain paper, color, rendered|bjc610a1.upp Canon BJC 610, 360x360DpI, plain paper high speed, color, rendered|bjc610a0.upp Canon BJC 610, 360x360DpI, transparency film, color, rendered|bjc610a3.upp Canon BJC 610, 720x720DpI, back print film, color, rendered|bjc610b4.upp Canon BJC 610, 720x720DpI, coated paper, color, rendered|bjc610b2.upp Canon BJC 610, 720x720DpI, glossy paper, color, rendered|bjc610b6.upp Canon BJC 610, 720x720DpI, high gloss paper, color, rendered|bjc610b7.upp Canon BJC 610, 720x720DpI, high resolution paper, color, rendered|bjc610b8.upp Canon BJC 610, 720x720DpI, plain paper, color, rendered|bjc610b1.upp Canon BJC 610, 720x720DpI, transparency film, color, rendered|bjc610b3.upp Canon BJC 8200, (1200DpI)^2, glossy photo card, high quality|bj8gc12f.upp Canon BJC 8200, (1200DpI)^2, high gloss photo, high quality|bj8hg12f.upp Canon BJC 8200, (1200DpI)^2, professional photo paper, highest quality|bj8pp12f.upp Canon BJC 8200, (600DpI)^2, OHP, normal quality|bj8oh06n.upp Canon BJC 8200, (600DpI)^2, plain paper, normal quality|bj8pa06n.upp Canon BJC 8200, (600DpI)^2, t-shirt transfer, normal quality|bj8ts06n.upp Canon BubbleJet BJ10e|bj10e Canon BubbleJet BJ200 (b&w)|bj200 Canon Color BJC-50|bjc50 Canon Color BJC-70|bjc70 Canon Color BJC-80|bjc50 Canon Color BJC-210|bjc70 Canon Color BJC-250|bjc50 Canon Color BJC-600|bjc600 Canon Color BJC-610|bjc70 Canon Color BJC-620|bjc70 Canon Color BJC-800|bjc800 Canon Color BJC-4000|bjc4000 Canon Color BJC-4100|bjc70 Canon Color BJC-4200|bjc70 Canon Color BJC-4300|bjc50 Canon Color BJC-4550|bjc50 Canon Color BJC-4650|bjc50 Canon Color BJC-5500|bjc70 Canon Color BJC-7000|bjc7000 Canon LBP-8II laser printer|lbp8 Canon LIPS III laser printer in English (CaPSL) mode|lips3 Citizen Projet IIc|cdjcolor CoStar LabelWriter II II/Plus|coslw2p CoStar LabelWriter XL|coslwxl DEC LJ250 Companion color printer|lj250 DEC LJ250 driver (alternate)|declj250 Epson AP3250|ap3250 Epson LP-8000 line printer|lp8000 Epson LQ-570 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper (+)|lqx70cl.upp Epson LQ-570 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper (+)|lqx70cm.upp Epson LQ-570 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper (+)|lqx70ch.upp Epson LQ-850 (360x360)|lq850 Epson LQ-870 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper (+)|lqx70cl.upp Epson LQ-870 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper (+)|lqx70cm.upp Epson LQ-870 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper (+)|lqx70ch.upp Epson LQ-1070 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper (+)|lqx70cl.upp Epson LQ-1070 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper (+)|lqx70cm.upp Epson LQ-1070 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper (+)|lqx70ch.upp Epson LQ-1170 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper (+)|lqx70cl.upp Epson LQ-1170 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper (+)|lqx70cm.upp Epson LQ-1170 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper (+)|lqx70ch.upp Epson LQ-2550 color|epsonc Epson Stylus 800 printer|st800 Epson Stylus 800 printer, 360x180DpI, Hardw. weave, Unidir. (+)|stm800hm.upp Epson Stylus 800 printer, 360x360DpI, Hardw. weave, Unidir. (+)|stm800hh.upp Epson Stylus Color (any model), 360x360DpI|stcany.upp Epson Stylus Color (any model), 720x720DpI|stcany_h.upp Epson Stylus Color 200, 360x720DpI|stc200_h.upp Epson Stylus Color 300, 180x180 dpi, black only, Plain Paper|stc300bl.upp Epson Stylus Color 300, 360x360 dpi, black only, Plain Paper|stc300bm.upp Epson Stylus Color 300, 360x360 dpi, colour, Plain Paper|stc300.upp Epson Stylus Color 500, 360x360DpI, not Weaved, Plain Paper|stc500p.upp Epson Stylus Color 500, 720x720DpI, not Weaved, Plain Paper|stc500ph.upp Epson Stylus Color 600, 1440x720DpI, Inkjet Paper|stc600ih.upp Epson Stylus Color 600, 360x360DpI, Plain Paper|stc600pl.upp Epson Stylus Color 600, 720x720DpI, Plain Paper|stc600p.upp Epson Stylus Color 640, 1440x720DpI, Grayscale, Inkjet Paper|st640ihg.upp Epson Stylus Color 640, 1440x720DpI, Inkjet Paper|st640ih.upp Epson Stylus Color 640, 360x360DpI, Grayscale, Plain Paper|st640plg.upp Epson Stylus Color 640, 360x360DpI, Plain Paper|st640pl.upp Epson Stylus Color 640, 720x720DpI, Grayscale, Plain Paper|st640pg.upp Epson Stylus Color 640, 720x720DpI, Inkjet Paper|stc640p.upp Epson Stylus Color 640, 720x720DpI, Plain Paper|st640p.upp Epson Stylus Color 740, 1440x720DpI, Inkjet Paper (+)|stc740ih.upp Epson Stylus Color 740, 360x360DpI, Plain Paper (+)|stc740pl.upp Epson Stylus Color 740, 720x720DpI, Plain Paper (+)|stc740p.upp Epson Stylus Color 800, 1440x720DpI, Inkjet Paper|stc800ih.upp Epson Stylus Color 800, 360x360DpI, Plain Paper|stc800pl.upp Epson Stylus Color 800, 720x720DpI, Plain Paper|stc800p.upp Epson Stylus Color 1500|stcolor Epson Stylus Color 1520, 1440x720DpI, Inkjet Paper|stc1520h.upp Epson Stylus Color I, 360x360DpI, Plain Paper|stc.upp Epson Stylus Color I, 360x360DpI, noWeave|stc_l.upp Epson Stylus Color I, 720x720DpI, Special Paper|stc_h.upp Epson Stylus Color II, 360x360DpI, Plain Paper|stc2.upp Epson Stylus Color II|stcolor Epson Stylus Color IIs, 360x360DpI, Plain Paper|stc2.upp Epson Stylus Color IIs|stcolor Epson Stylus Color II, 720x720DpI, Special Paper|stc2_h.upp Epson Stylus Color IIs, 720x720DpI, Special Paper|stc2s_h.upp Epson Stylus Color PRO, 360x360DpI, Plain Paper|stc.upp Epson Stylus Color PRO, 360x360DpI, noWeave|stc_l.upp Epson Stylus Color PRO, 720x720DpI, Special Paper|stc_h.upp Epson Stylus Color|stcolor Epson Stylus Color Photo|photoex Epson Stylus Color Photo EX|photoex Epson Stylus Color Photo 700|photoex Epson Stylus PRO|stcolor Epson-compatible 9-pin, interleaved lines, medium resol|eps9mid Epson-compatible 9-pin, interleaved lines, triple resol|eps9high Epson-compatible dot matrix, 9/24-pin|epson Fujitsu 1200 color|epsonc Fujitsu 2400 color|epsonc Fujitsu 3400 color|epsonc HP 2563B line printer|lp2563 HP CopyJet color printer|pjxl300 HP DesignJet 650C|dnj650c HP Designjet 750c, 300x300DpI, Gamma=2.5, CMY|dnj750c.upp HP Designjet 750m, 600x600DpI, Gamma=2.5, CMY|dnj750m.upp HP DeskJet 500|djet500 HP DeskJet 500C (same as cdjcolor)|cdj500 HP DeskJet 500C alternate driver, not for 550/560C|djet500c HP DeskJet 500C b/w printing|cdjmono HP DeskJet 500C, 1 bit/pixel color|cdeskjet HP DeskJet 500C, 24bit/pxl+FS dith|cdjcolor HP DeskJet 510, b/w printing|cdjmono HP DeskJet 520, b/w printing|cdjmono HP DeskJet 540C b/w printing|cdjmono HP DeskJet 540C, 24bit/pxl+FS dith|cdjcolor HP DeskJet 550C|cdj550 HP Deskjet 550c, 300x300DpI, Gamma=2|cdj550.upp HP DeskJet 560C|cdj550 HP DeskJet 600 (use -r600)|djet500 HP DeskJet 600C series|hpijs/DJ6xx HP DeskJet 600C series photo|hpijs/DJ6xxP HP DeskJet 630C series|hpijs/DJ630 HP DeskJet 660C|cdj550 HP DeskJet 660Cse|cdj550 HP Deskjet 690 Econo-Fast Gamma 2.0|cdj690ec.upp HP Deskjet 690 Normal Gamma 2.0|cdj690.upp HP DeskJet 800C series|hpijs/DJ8xx HP DeskJet 900C series|hpijs/DJ9xx HP DeskJet 990C|hpijs/DJ9xxVIP HP DeskJet Plus|deskjet HP DeskJet|deskjet HP Deskjet 550c, 300x300DpI, Gamma=2|cdj550.upp HP Deskjet 690 Econo-Fast Gamma 2.0|cdj690ec.upp HP Deskjet 690 Normal Gamma 2.0|cdj690.upp HP LaserJet 3100 (with HP software)|lj3100sw HP LaserJet 4 (defaults to 600 dpi) with duplex|ljet4d HP LaserJet 4 with Floyd-Steinberg dithering|lj4dith HP LaserJet 4, defaults to 600 dpi|ljet4 HP LaserJet 4L (ljet4 driver)|ljet4l HP LaserJet 5 Color (new driver, old=cljet5pr)|cljet5 HP LaserJet 5 Color (old drv. with rotation hacks/flaws)|cljet5pr HP LaserJet 5 Color Simple|cljet5c HP LaserJet 5 family (PCL5 / PCL XL), bitmap|lj5mono HP LaserJet 5 family, gray-scale bitmap|lj5gray HP LaserJet 5L (not real LJ5), defaults to 600 dpi|ljet4 HP LaserJet 5M Color (new driver, old=cljet5pr)|cljet5 HP LaserJet 5M Color (old drv. with rotation hacks/flaws)|cljet5pr HP LaserJet 5M Color Simple|cljet5c HP LaserJet 5P (not real LJ5), defaults to 600 dpi|ljet4 HP LaserJet 6 family (PCL5 / PCL XL), bitmap|lj5mono HP LaserJet 6 family, gray-scale bitmap|lj5gray HP LaserJet III* with Delta Row compression|ljet3 HP LaserJet III* with TIFF compression|ljet2p HP LaserJet IIID with duplex capability|ljet3d HP LaserJet IId with TIFF compression|ljet2p HP LaserJet IIp with TIFF compression|ljet2p HP LaserJet Plus|ljetplus HP LaserJet|laserjet HP PCL XL black-and-white printers (LaserJet 5 and 6 family)|pxlmono HP PCL XL color printers (none available yet)|pxlcolor HP PaintJet 1200C color printer|pjxl300 HP PaintJet XL color printer|pjxl HP PaintJet XL driver (alternate)|pjetxl HP PaintJet XL driver |pj HP PaintJet XL300 color printer|pjxl300 HP PaintJet color printer (alternate)|paintjet IBM 9-pin Proprinter|ibmpro IBM Jetprinter ink-jet color (Model #3852)|jetp3852 Imagen ImPress printers|imagen Kyocera FS-600 (600 dpi)|fs600 Lexmark 5700 monotone|lxm5700m MFC6550MC Fax Machine|hl7x0 Mitsubishi CP50 color|cp50 NEC P6+, 360x360 DPI resol|necp6 NEC P6, 360x360 DPI resol|necp6 NEC P60, 360x360 DPI resol|necp6 NEC Pinwriter 2X, 360x360DpI, Plain Paper|necp2x.upp NEC Pinwriter 2X, 360x360DpI, Plain Paper|necp2x6.upp OCE 9050 printer|oce9050 Okidata MicroLine 182|oki182 Okidata MicroLine IBM-compatible printers|okiibm Practical Automation ATX-23|atx23 Practical Automation ATX-24|atx24 Practical Automation ATX-38|atx38 Ricoh 4081 laser printer|r4081 Sony NWP533 laser printer|nwp533 SPARCprinter|sparc StarJet 48 inkjet printer|sj48 Tektronix 4693d color, 2 bits per R/G/B component|t4693d2 Tektronix 4693d color, 4 bits per R/G/B component|t4693d4 Tektronix 4693d color, 8 bits per R/G/B component|t4693d8 Tektronix 4695 inkjet plotter|tek4696 Tektronix 4696 inkjet plotter|tek4696 apsfilter-7.2.6.orig/setup/printer-cdj0000644000175000017500000000126107375500233020234 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-cdj,v 1.2 2001/11/17 15:22:03 andreas Exp $ # HP DeskJet 670C|cdj670 HP DeskJet 690C|cdj670 HP DeskJet 812C (development version)|cdj880 HP DeskJet 815C (development version)|cdj880 HP DeskJet 832C (development version)|cdj880 HP DeskJet 850C|cdj850 HP DeskJet 855C|cdj850 HP DeskJet 870C|cdj850 HP DeskJet 880C (development version)|cdj880 HP DeskJet 882C (development version)|cdj880 HP DeskJet 890C|cdj890 HP DeskJet 895C (development version)|cdj880 HP DeskJet 932C (development version)|cdj880 HP DeskJet 970C (development version)|cdj880 HP Deskjet 970Cxi Series|cdj970 HP DeskJet 1100C|cdj850 HP DeskJet 1600C|cdj1600 HP DeskJet 2200C|chp2200 apsfilter-7.2.6.orig/setup/printer-epson0000644000175000017500000000155007436250570020625 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-epson,v 1.2.2.2 2002/02/24 20:47:52 andreas Exp $ # Epson AcuLaser C2000|alc2000 Epson AcuLaser C8500|alc8500 Epson Laser EPL-N2050|epl2050 Epson Laser EPL-N2050+|epl2050p Epson Laser EPL-N5800|epl5800 Epson Stylus Color 20 series {png+pips}|pips/sc20s Epson Stylus Color 40 series {png+pips}|pips/sc40s Epson Stylus Color 60 series {png+pips}|pips/sc60s Epson Stylus Color 70 series {png+pips}|pips/sc70s Epson Stylus Color 80 series {png+pips}|pips/sc80s Epson Stylus Color 480 {png+pips}|pips/sc480 Epson Stylus Color 580 {png+pips}|pips/sc580 Epson Stylus Color 680 {png+pips}|pips/sc680_777 Epson Stylus Color 777 {png+pips}|pips/sc680_777 Epson Stylus Color 880 {png+pips}|pips/sc880 Epson Stylus Color 980 {png+pips}|pips/sc980 Epson Stylus Photo 810 {png+pips}|pips/sp810_820 Epson Stylus Photo 820 {png+pips}|pips/sp810_820 apsfilter-7.2.6.orig/setup/printer-gimp0000644000175000017500000001070207557061445020441 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-gimp,v 1.1.2.1 2002/10/27 22:05:25 andreas Exp $ # Canon BJC 30|gimp/bjc-30 Canon BJC 50|gimp/bjc-50 Canon BJC 55|gimp/bjc-55 Canon BJC 80|gimp/bjc-80 Canon BJC 85|gimp/bjc-85 Canon BJC 210|gimp/bjc-210 Canon BJC 240|gimp/bjc-240 Canon BJC 250|gimp/bjc-250 Canon BJC 1000|gimp/bjc-1000 Canon BJC 2000|gimp/bjc-2000 Canon BJC 3000|gimp/bjc-3000 Canon BJC 4300|gimp/bjc-4300 Canon BJC 4400 photo|gimp/bjc-4400 Canon BJC 6000|gimp/bjc-6000 Canon BJC 6100|gimp/bjc-6100 Canon BJC 6200|gimp/bjc-6200 Canon BJC 6500|gimp/bjc-6500 Canon BJC 7000|gimp/bjc-7000 Canon BJC 7100|gimp/bjc-7100 Canon BJC 8200|gimp/bjc-8200 Canon S400|gimp/bjc-s400 Canon S450|gimp/bjc-s450 Canon S800|gimp/bjc-s800 Canon S4500|gimp/bjc-s4500 Epson Stylus C20SX|gimp/escp2-c20sx Epson Stylus C20UX|gimp/escp2-c20ux Epson Stylus C40SX|gimp/escp2-c40sx Epson Stylus C40UX|gimp/escp2-c40ux Epson Stylus C60|gimp/escp2-c60 Epson Stylus C70|gimp/escp2-c70 Epson Stylus C80|gimp/escp2-c80 Epson Stylus Color|gimp/escp2 Epson Stylus Color Pro|gimp/escp2-pro Epson Stylus Color Pro XL|gimp/escp2-pro-xl Epson Stylus Color 83|gimp/escp2-83 Epson Stylus Color 400|gimp/escp2-400 Epson Stylus Color 440|gimp/escp2-440 Epson Stylus Color 460|gimp/escp2-460 Epson Stylus Color 480|gimp/escp2-480 Epson Stylus Color 500|gimp/escp2-500 Epson Stylus Color 580|gimp/escp2-580 Epson Stylus Color 600|gimp/escp2-600 Epson Stylus Color 640|gimp/escp2-640 Epson Stylus Color 660|gimp/escp2-660 Epson Stylus Color 670|gimp/escp2-670 Epson Stylus Color 680|gimp/escp2-680 Epson Stylus Color 740|gimp/escp2-740 Epson Stylus Color 760|gimp/escp2-760 Epson Stylus Color 777|gimp/escp2-777 Epson Stylus Color 800|gimp/escp2-800 Epson Stylus Color 850|gimp/escp2-850 Epson Stylus Color 860|gimp/escp2-860 Epson Stylus Color 880|gimp/escp2-880 Epson Stylus Color 900|gimp/escp2-900 Epson Stylus Color 980|gimp/escp2-980 Epson Stylus Color 1160|gimp/escp2-1160 Epson Stylus Color 1500|gimp/escp2-1500 Epson Stylus Color 1520|gimp/escp2-1520 Epson Stylus Color 3000|gimp/escp2-3000 Epson Stylus Photo|gimp/escp2-photo Epson Stylus Photo EX|gimp/escp2-ex Epson Stylus Photo 700|gimp/escp2-700 Epson Stylus Photo 720|gimp/escp2-720 Epson Stylus Photo 750|gimp/escp2-750 Epson Stylus Photo 780|gimp/escp2-780 Epson Stylus Photo 785EPX|gimp/escp2-785 Epson Stylus Photo 790|gimp/escp2-790 Epson Stylus Photo 810|gimp/escp2-810 Epson Stylus Photo 820|gimp/escp2-820 Epson Stylus Photo 870|gimp/escp2-870 Epson Stylus Photo 875|gimp/escp2-875 Epson Stylus Photo 890|gimp/escp2-890 Epson Stylus Photo 895|gimp/escp2-895 Epson Stylus Photo 1200|gimp/escp2-1200 Epson Stylus Photo 1270|gimp/escp2-1270 Epson Stylus Photo 1280|gimp/escp2-1280 Epson Stylus Photo 1290|gimp/escp2-1290 Epson Stylus Photo 2000P|gimp/escp2-2000 Epson Stylus Pro 5000|gimp/escp2-5000 Epson Stylus Pro 5500|gimp/escp2-5500 Epson Stylus Pro 7000|gimp/escp2-7000 Epson Stylus Pro 7500|gimp/escp2-7500 Epson Stylus Pro 9000|gimp/escp2-9000 Epson Stylus Pro 9500|gimp/escp2-9500 Epson Stylus Pro 10000|gimp/escp2-10000 Epson Stylus Scan 2000|gimp/escp2-scan2000 Epson Stylus Scan 2500|gimp/escp2-scan2500 HP DesignJet 750C|gimp/pcl-750 HP DeskJet 340|gimp/pcl-340 HP DeskJet 400|gimp/pcl-400 HP DeskJet 500|gimp/pcl-500 HP DeskJet 500C|gimp/pcl-501 HP DeskJet 520|gimp/pcl-520 HP DeskJet 540C|gimp/pcl-540 HP DeskJet 550C|gimp/pcl-550 HP DeskJet 560C|gimp/pcl-560 HP DeskJet 600/600C (single cartridge)|gimp/pcl-600 HP DeskJet 600 series (double cartridge)|gimp/pcl-601 HP DeskJet 690 series|gimp/pcl-690 HP DeskJet 810C|gimp/pcl-810 HP DeskJet 812C|gimp/pcl-812 HP DeskJet 840C|gimp/pcl-840 HP DeskJet 842C|gimp/pcl-842 HP DeskJet 845C|gimp/pcl-845 HP DeskJet 850C|gimp/pcl-850 HP DeskJet 855C|gimp/pcl-855 HP DeskJet 870C|gimp/pcl-870 HP DeskJet 890C|gimp/pcl-890 HP DeskJet 895C|gimp/pcl-895 HP DeskJet 900 series|gimp/pcl-900 HP DeskJet 1100C|gimp/pcl-1100 HP DeskJet 1120C|gimp/pcl-1120 HP DeskJet 1200C|gimp/pcl-1200 HP DeskJet 1220C|gimp/pcl-1220 HP DeskJet 1600C|gimp/pcl-1600 HP DeskJet 2000 series|gimp/pcl-2000 HP DeskJet 2500 series|gimp/pcl-2500 HP LaserJet II series|gimp/pcl-2 HP LaserJet III series|gimp/pcl-3 HP LaserJet 4 series|gimp/pcl-4 HP LaserJet 4L series|gimp/pcl-4l HP LaserJet 4V, 4Si|gimp/pcl-4v HP LaserJet 5 series|gimp/pcl-5 HP LaserJet 5Si|gimp/pcl-5si HP LaserJet 6 series|gimp/pcl-6 HP PhotoSmart P1000|gimp/pcl-P1000 HP PhotoSmart P1100|gimp/pcl-P1100 Lexmark 4076|gimp/lexmark-4076 Lexmark Z42|gimp/lexmark-z42 Lexmark Z43|gimp/lexmark-z43 Lexmark Z52|gimp/lexmark-z52 apsfilter-7.2.6.orig/setup/printer-hpdj0000644000175000017500000000260707375500233020426 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-hpdj,v 1.3 2001/11/17 15:22:03 andreas Exp $ # printer-hpdj - this file contains printer supported by hpdj 2.6 (3rd party) # HP DeskJet 340|hpdj/unspec HP DeskJet 400 (tested in b/w)|hpdj/unspec HP DeskJet 420|hpdj/unspec HP DeskJet 500|hpdj/500 HP DeskJet 500C|hpdj/500C HP DeskJet 510|hpdj/510 HP DeskJet 520|hpdj/520 HP DeskJet 540C|hpdj/540 HP DeskJet 550C|hpdj/550C HP DeskJet 560C|hpdj/560C HP DeskJet 600|hpdj/unspec HP DeskJet 610C|hpdj/unspec HP DeskJet 660C|hpdj/unspec HP DeskJet 660Cse|hpdj/unspec HP DeskJet 670C|hpdj/unspec HP DeskJet 672C|hpdj/unspec HP DeskJet 680C|hpdj/unspec HP DeskJet 690C|hpdj/unspec HP DeskJet 690C+|hpdj/unspec HP DeskJet 693C|hpdj/unspec HP DeskJet 694C|hpdj/unspec HP DeskJet 832C|hpdj/unspec HP DeskJet 850C|hpdj/850C HP DeskJet 855C|hpdj/855C HP DeskJet 870Cse|hpdj/unspec HP DeskJet 870Cxi|hpdj/unspec HP DeskJet 880C|hpdj/unspec HP DeskJet 890C|hpdj/unspec HP DeskJet 895Cse|hpdj/unspec HP DeskJet 895Cxi|hpdj/unspec HP DeskJet 970C|hpdj/u970 HP DeskJet 1100C|hpdj/unspec HP DeskJet 1120C|hpdj/unspec HP DeskJet 2000C Professional Series|hpdj/unspec HP DeskJet 2000Cse Professional Series|hpdj/unspec HP DeskJet 2000CN Professional Series|hpdj/unspec HP DeskJet 2500CN Professional Series|hpdj/unspec HP OfficeJet 590|hpdj/unspec HP OfficeJet 600|hpdj/unspec HP OfficeJet 625|hpdj/unspec Lexmark 3000 Color Jetprinter|hpdj/unspec apsfilter-7.2.6.orig/setup/printer-hpijs0000644000175000017500000000260607563236704020625 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-hpijs,v 1.2.2.1 2002/11/09 16:54:28 andreas Exp $ Apollo P-22|hpijs/AP21xx Apollo P-2000U|hpijs/AP21xx HP DeskJet 350C|hpijs/DJ350 #HP DeskJet 400C|hpijs/DJ400 #HP DeskJet 540C|hpijs/DJ540 #HP DeskJet 600C|hpijs/DJ600 HP DeskJet 610C|hpijs/DJ6xxP HP DeskJet 612C|hpijs/DJ6xxP HP DeskJet 630C|hpijs/DJ630 HP DeskJet 632C|hpijs/DJ630 HP DeskJet 640C|hpijs/DJ6xxP HP DeskJet 648C|hpijs/DJ6xxP HP DeskJet 660C|hpijs/DJ6xx HP DeskJet 670C|hpijs/DJ6xx HP DeskJet 670TV|hpijs/DJ6xx HP DeskJet 672C|hpijs/DJ6xx HP DeskJet 680C|hpijs/DJ6xx HP DeskJet 682C|hpijs/DJ6xx HP DeskJet 690C|hpijs/DJ6xxP HP DeskJet 692C|hpijs/DJ6xxP HP DeskJet 693C|hpijs/DJ6xxP HP DeskJet 694C|hpijs/DJ6xxP HP DeskJet 695C|hpijs/DJ6xxP HP DeskJet 697C|hpijs/DJ6xxP HP DeskJet 810C|hpijs/DJ8xx HP DeskJet 812C|hpijs/DJ8xx HP DeskJet 830C|hpijs/DJ8xx HP DeskJet 832C|hpijs/DJ8xx HP DeskJet 840C|hpijs/DJ8xx HP DeskJet 842C|hpijs/DJ8xx HP DeskJet 880C|hpijs/DJ8xx HP DeskJet 882C|hpijs/DJ8xx HP DeskJet 895C|hpijs/DJ8xx HP DeskJet 930C|hpijs/DJ9xx HP DeskJet 932C|hpijs/DJ9xx HP DeskJet 950C|hpijs/DJ9xx HP DeskJet 952C|hpijs/DJ9xx HP DeskJet 960C|hpijs/DJ9xxVIP HP DeskJet 970C|hpijs/DJ9xx HP DeskJet 980C|hpijs/DJ9xxVIP HP DeskJet 990C|hpijs/DJ9xxVIP HP DeskJet e20|hpijs/DJ6xx HP Photosmart 1000|hpijs/DJ9xx HP Photosmart 1100|hpijs/DJ9xx HP Photosmart 1215|hpijs/DJ9xxVIP HP Photosmart 1218|hpijs/DJ9xxVIP apsfilter-7.2.6.orig/setup/printer-ijs0000644000175000017500000000543407563236704020277 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-ijs,v 1.1.2.3 2002/11/09 16:54:28 andreas Exp $ Apollo P-22|ijs/APOLLO_P-22 Apollo P-2000U|ijs/P-2000U Apollo P-2500/2600|ijs/Apollo-2500-2600 HP Business Inkjet 2200|ijs/HP_BUSINESS_INKJET_2200 HP Business Inkjet 2230|ijs/HP_BUSINESS_INKJET_2230 HP Business Inkjet 2250|ijs/HP_BUSINESS_INKJET_2250 HP Business Inkjet 2280|ijs/HP_BUSINESS_INKJET_2280 HP cp1160|ijs/cp1160 HP cp1700|ijs/cp1700 HP DeskJet 350|ijs/DESKJET_350 HP DeskJet 600|ijs/DESKJET_600 HP DeskJet 610|ijs/DESKJET_610 HP DeskJet 612|ijs/DESKJET_612 HP DeskJet 630|ijs/DESKJET_630 HP DeskJet 632|ijs/DESKJET_632 HP DeskJet 640|ijs/DESKJET_640 HP DeskJet 648|ijs/DESKJET_648 HP DeskJet 656|ijs/DESKJET_656 HP DeskJet 660|ijs/DESKJET_660 HP DeskJet 670|ijs/DESKJET_670 HP DeskJet 672|ijs/DESKJET_672 HP DeskJet 680|ijs/DESKJET_680 HP DeskJet 682|ijs/DESKJET_682 HP DeskJet 690|ijs/DESKJET_690 HP DeskJet 692|ijs/DESKJET_692 HP DeskJet 693|ijs/DESKJET_693 HP DeskJet 694|ijs/DESKJET_694 HP DeskJet 695|ijs/DESKJET_695 HP DeskJet 697|ijs/DESKJET_697 HP DeskJet 810|ijs/DESKJET_810 HP DeskJet 812|ijs/DESKJET_812 HP DeskJet 815|ijs/DESKJET_815 HP DeskJet 816|ijs/DESKJET_816 HP DeskJet 825|ijs/DESKJET_825 HP DeskJet 830|ijs/DESKJET_830 HP DeskJet 832|ijs/DESKJET_832 HP DeskJet 840|ijs/DESKJET_840 HP DeskJet 842|ijs/DESKJET_842 HP DeskJet 845|ijs/DESKJET_845 HP DeskJet 880|ijs/DESKJET_880 HP DeskJet 882C|ijs/DESKJET_882C HP DeskJet 895|ijs/DESKJET_895 HP DeskJet 920|ijs/DESKJET_920 HP DeskJet 930|ijs/DESKJET_930 HP DeskJet 932|ijs/DESKJET_932 HP DeskJet 940|ijs/DESKJET_940 HP DeskJet 948|ijs/DESKJET_948 HP DeskJet 950|ijs/DESKJET_950 HP DeskJet 952|ijs/DESKJET_952 HP DeskJet 960|ijs/DESKJET_960 HP DeskJet 970|ijs/DESKJET_970 HP DeskJet 980|ijs/DESKJET_980 HP DeskJet 990|ijs/DESKJET_990 HP DeskJet 995|ijs/DESKJET_995 HP DeskJet 1125|ijs/DESKJET_1125 HP DeskJet 1220|ijs/DESKJET_1220 HP e-printer e20|ijs/e-printer_e20 HP OfficeJet 500|ijs/DESKJET_660 HP OfficeJet 600|ijs/DESKJET_660 HP OfficeJet 625|ijs/DESKJET_660 HP OfficeJet 635|ijs/DESKJET_660 HP OfficeJet 710|ijs/DESKJET_610 HP OfficeJet G55|ijs/DESKJET_930 HP OfficeJet G85|ijs/DESKJET_930 HP OfficeJet G95|ijs/DESKJET_930 HP OfficeJet K60|ijs/DESKJET_930 HP OfficeJet K80|ijs/DESKJET_930 HP OfficeJet Pro 1170C|ijs/DESKJET_810 HP OfficeJet Pro 1175C|ijs/DESKJET_810 HP OfficeJet R45|ijs/DESKJET_810 HP OfficeJet R60|ijs/DESKJET_810 HP OfficeJet R65|ijs/DESKJET_810 HP OfficeJet R80|ijs/DESKJET_810 HP OfficeJet T45|ijs/DESKJET_810 HP OfficeJet T65|ijs/DESKJET_810 HP OfficeJet V40|ijs/DESKJET_930 HP PhotoSmart 100|ijs/PHOTOSMART_100 HP PhotoSmart P1000|ijs/PHOTOSMART_P1000 HP PhotoSmart P1100|ijs/PHOTOSMART_P1100 HP PhotoSmart 1115|ijs/PHOTOSMART_1115 HP PhotoSmart 1215|ijs/PHOTOSMART_1215 HP PhotoSmart 1218|ijs/PHOTOSMART_1218 HP PhotoSmart 1315|ijs/PHOTOSMART_1315 apsfilter-7.2.6.orig/setup/printer-lexmark0000644000175000017500000000100007375500233021126 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-lexmark,v 1.1 2001/11/17 15:22:03 andreas Exp $ # Lexmark 1100 {pXnraw+lm1100}|lexmark1100 Lexmark 2030 (b/w) {pbmraw+pbm2l2030}|lexmark2030 Lexmark 2050 Color {bitcmyk+c2050}|lexmark2050c Lexmark 2070 (b/w) {pbmraw+Lexmark2070}|lexmark2070 Lexmark 2070 Color {bitcmyk+c2070}|lexmark2070c Lexmark 3200|lex3200 Lexmark 3200|lxm3200 Lexmark 5000|lex7000 Lexmark 5000|lx5000 Lexmark 5700|lex5700 Lexmark 7000|lex7000 Lexmark 7200|lex7000 Lexmark Z11 {bitcmyk+cZ11}|lexmarkZ11 apsfilter-7.2.6.orig/setup/printer-misc0000644000175000017500000000071407375500233020431 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-misc,v 1.1 2001/11/17 15:22:03 andreas Exp $ # ALPS MD 2xxx series|md2k ALPS MD 5xxx series|md5k Apple Stylewriter {pbmraw/bitcmyk+lpstyl}|stylewriter Brother HL-1030|hl1240 Brother HL-1050|hl1250 Brother HL-1070|hl1250 Brother HL-1240|hl1240 Brother HL-1250|hl1250 Brother HL-1270N|hl1250 Canon CaPSL printers {ljet3+cjet}|cjet Citizen Printiva series {pXmraw+ppmtocpva}|printiva Samsung ML-85G {pbmraw+ml85p}|samsung85 apsfilter-7.2.6.orig/setup/printer-omni0000644000175000017500000004306207440502674020447 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-omni,v 1.5.2.1 2002/03/03 20:21:16 andreas Exp $ # Brother HJ-100i|omni/Brother_HJ_100i Brother HJ-400|omni/Brother_HJ_400 Brother HL-4V|omni/Brother_HL_4V Brother HL-6|omni/Brother_HL_6 Brother HL-6V|omni/Brother_HL_6V Brother HL-10h|omni/Brother_HL_10h Brother HL-10V|omni/Brother_HL_10V Brother HL-630, 631|omni/Brother_HL_630_631 Brother HL-641, 645, 655M|omni/Brother_HL_641_645_655M Brother HL-660|omni/Brother_HL_660 Brother HL-665|omni/Brother_HL_665 Brother HL-730, 730DX|omni/Brother_HL_730_730DX Brother HL-960|omni/Brother_HL_960 Brother HL-1240|omni/Brother_HL_1240 Brother HL-1250|omni/Brother_HL_1250 Brother HL-1260|omni/Brother_HL_1260 Brother HL-1270|omni/Brother_HL_1270 Brother HL-1270N|omni/Brother_HL_1270N Brother HL-2060|omni/Brother_HL_2060 Brother HL-P2000|omni/Brother_HL_P2000 Brother M-1309|omni/Brother_M_1309 Brother M-1324|omni/Brother_M_1324 Brother M-1809|omni/Brother_M_1809 Brother M-1809 Color|omni/Brother_M_1809_Color Brother M-1824L|omni/Brother_M_1824L Brother M-1824L Color|omni/Brother_M_1824L_Color Brother M-1909|omni/Brother_M_1909 Brother M-1909 Color|omni/Brother_M_1909_Color Brother M-1924L|omni/Brother_M_1924L Brother M-1924L Color|omni/Brother_M_1924L_Color Brother M-4309|omni/Brother_M_4309 Brother MFC-4000, 4500, 5500|omni/Brother_MFC_4000_4500_5500 Brother MFC-6550MC, 7550MC|omni/Brother_MFC_6550MC_7550MC Brother MFC-P2000|omni/Brother_MFC_P2000 Canon BJ-30|omni/Canon_BJ_30 Canon BJ-30v|omni/Canon_BJ_30v Canon BJ-100|omni/Canon_BJ_100 Canon BJ-200|omni/Canon_BJ_200 Canon BJ-200e|omni/Canon_BJ_200e Canon BJ-220JCII|omni/Canon_BJ_220JCII Canon BJ-220JSII|omni/Canon_BJ_220JSII Canon BJ-230|omni/Canon_BJ_230 Canon BJ F100|omni/Canon_BJ_F100 Canon BJ F200|omni/Canon_BJ_F200 Canon BJ F600|omni/Canon_BJ_F600 Canon BJ F800|omni/Canon_BJ_F800 Canon BJ F6000|omni/Canon_BJ_F6000 Canon BJC-35v|omni/Canon_BJC_35v Canon BJC-35vII|omni/Canon_BJC_35vII Canon BJC-50|omni/Canon_BJC_50 Canon BJC-50v|omni/Canon_BJC_50v Canon BJC-70|omni/Canon_BJC_70 Canon BJC-80v|omni/Canon_BJC_80v Canon BJC-210|omni/Canon_BJC_210 Canon BJC-210J|omni/Canon_BJC_210J Canon BJC-240|omni/Canon_BJC_240 Canon BJC-240J|omni/Canon_BJC_240J Canon BJC-250J|omni/Canon_BJC_250J Canon BJC-400J|omni/Canon_BJC_400J Canon BJC-410J|omni/Canon_BJC_410J Canon BJC-420J|omni/Canon_BJC_420J Canon BJC-430J|omni/Canon_BJC_430J Canon BJC-430J Lite|omni/Canon_BJC_430J_Lite Canon BJC-430JD Lite|omni/Canon_BJC_430JD_Lite Canon BJC-440J|omni/Canon_BJC_440J Canon BJC-455J|omni/Canon_BJC_455J Canon BJC-465J|omni/Canon_BJC_465J Canon BJC-600|omni/Canon_BJC_600 Canon BJC-600e|omni/Canon_BJC_600e Canon BJC-600J|omni/Canon_BJC_600J Canon BJC-610|omni/Canon_BJC_610 Canon BJC-610JW|omni/Canon_BJC_610JW Canon BJC-620JW|omni/Canon_BJC_620JW Canon BJC-700J|omni/Canon_BJC_700J Canon BJC-800|omni/Canon_BJC_800 Canon BJC-820|omni/Canon_BJC_820 Canon BJC-820J|omni/Canon_BJC_820J Canon BJC-2000|omni/Canon_BJC_2000 Canon BJC-4000|omni/Canon_BJC_4000 Canon BJC-4100|omni/Canon_BJC_4100 Canon BJC-4200|omni/Canon_BJC_4200 Canon BJC-4200 Photo|omni/Canon_BJC_4200_Photo Canon BJC-4300|omni/Canon_BJC_4300 Canon BJC-4304 Photo|omni/Canon_BJC_4304_Photo Canon BJC-4400|omni/Canon_BJC_4400 Canon BJC-4550|omni/Canon_BJC_4550 Canon BJC-4650|omni/Canon_BJC_4650 Canon BJC-5500|omni/Canon_BJC_5500 Canon BJC-5500J|omni/Canon_BJC_5500J Canon BJC-6000|omni/Canon_BJC_6000 Canon BJC-7000|omni/Canon_BJC_7000 Canon BJC-7004 Photo|omni/Canon_BJC_7004_Photo Canon BJC-7100|omni/Canon_BJC_7100 Canon BJC-8000|omni/Canon_BJC_8000 Canon BJC-8500|omni/Canon_BJC_8500 Canon S450|omni/Canon_S450 Epson 9-pin 80 Col|omni/Epson_9_pin_80_Col Epson 9-pin 136 Col|omni/Epson_9_pin_136_Col Epson 24-pin 80 Col|omni/Epson_24_pin_80_Col Epson 24-pin 136 Col|omni/Epson_24_pin_136_Col Epson Generic 48 pin|omni/Epson_Generic_48_pin Epson Generic ESC2P|omni/Epson_Generic_ESC2P Epson Generic ESC_P 24-J84|omni/Epson_Generic_ESC_P_24_J84 Epson Generic ESC_P 24-J84C|omni/Epson_Generic_ESC_P_24_J84C Epson ActionLaser II|omni/Epson_ActionLaser_II_EPL_4000 Epson ActionLaser 1000|omni/Epson_ActionLaser_1000_EPL_5000 Epson ActionLaser 1100|omni/Epson_ActionLaser_1100 Epson ActionLaser 1400|omni/Epson_ActionLaser_1400 Epson ActionLaser 1500|omni/Epson_ActionLaser_1500_EPL_5200 Epson ActionLaser 1600|omni/Epson_ActionLaser_1600_EPL_5600 Epson AP-800|omni/Epson_AP_800 Epson AP-2250|omni/Epson_AP_2250 Epson AP-3250|omni/Epson_AP_3250 Epson AP-3260|omni/Epson_AP_3260 Epson AP-5000|omni/Epson_AP_5000 Epson AP-5500|omni/Epson_AP_5500 Epson DFX-5000|omni/Epson_DFX_5000 Epson DFX-5000+|omni/Epson_DFX_5000_ Epson DFX-8000|omni/Epson_DFX_8000 Epson DFX-8500|omni/Epson_DFX_8500 Epson DLQ-2000 (360 dpi)|omni/Epson_DLQ_2000__360_dpi_ Epson DLQ-3000+|omni/Epson_DLQ_3000_ Epson EPL-4000|omni/Epson_ActionLaser_II_EPL_4000 Epson EPL-5000|omni/Epson_ActionLaser_1000_EPL_5000 Epson EPL-5200|omni/Epson_ActionLaser_1500_EPL_5200 Epson EPL-5600|omni/Epson_ActionLaser_1600_EPL_5600 Epson EPL-5700|omni/Epson_EPL_5700 Epson EPL-7000, 7100|omni/Epson_EPL_7000_7100 Epson EPL-8000, 8100|omni/Epson_EPL_8000_8100 Epson EPL-N1200|omni/Epson_EPL_N1200 Epson EPL-N1600|omni/Epson_EPL_N1600 Epson EPL-N2000|omni/Epson_EPL_N2000 Epson EX-800|omni/Epson_EX_800 Epson EX-1000|omni/Epson_EX_1000 Epson FX-286e|omni/Epson_FX_286e Epson FX-850|omni/Epson_FX_850 Epson FX-870|omni/Epson_FX_870 Epson FX-880|omni/Epson_FX_880 Epson FX-980|omni/Epson_FX_980 Epson FX-1000|omni/Epson_FX_1000 Epson FX-1050|omni/Epson_FX_1050 Epson FX-1170|omni/Epson_FX_1170 Epson FX-1180|omni/Epson_FX_1180 Epson FX-2170|omni/Epson_FX_2170 Epson FX-2180|omni/Epson_FX_2180 Epson JX-80|omni/Epson_JX_80 Epson LQ-100|omni/Epson_LQ_100 Epson LQ-150|omni/Epson_LQ_150 Epson LQ-300|omni/Epson_LQ_300 Epson LQ-300 Color|omni/Epson_LQ_300_Color Epson LQ-400|omni/Epson_LQ_400 Epson LQ-550|omni/Epson_LQ_550 Epson LQ-500|omni/Epson_LQ_500 Epson LQ-510|omni/Epson_LQ_510 Epson LQ-570|omni/Epson_LQ_570 Epson LQ-570+|omni/Epson_LQ_570_ Epson LQ-670|omni/Epson_LQ_670 Epson LQ-850|omni/Epson_LQ_850 Epson LQ-850 (N9)|omni/Epson_LQ_850__N9_ Epson LQ-850+ (360dpi)|omni/Epson_LQ_850___360_dpi_ Epson LQ-860|omni/Epson_LQ_860 Epson LQ-870|omni/Epson_LQ_870 Epson LQ-950 (N9)|omni/Epson_LQ_950__N9_ Epson LQ-1010|omni/Epson_LQ_1010 Epson LQ-1050|omni/Epson_LQ_1050 Epson LQ-1050 (N9)|omni/Epson_LQ_1050__N9_ Epson LQ-1050+ (360 dpi)|omni/Epson_LQ_1050___360_dpi_ Epson LQ-1060|omni/Epson_LQ_1060 Epson LQ-1070|omni/Epson_LQ_1070 Epson LQ-1070+|omni/Epson_LQ_1070_ Epson LQ-1170|omni/Epson_LQ_1170 Epson LQ-2070|omni/Epson_LQ_2070 Epson LQ-2080|omni/Epson_LQ_2080 Epson LQ-2170|omni/Epson_LQ_2170 Epson LQ-2180|omni/Epson_LQ_2180 Epson LQ-2500|omni/Epson_LQ_2500 Epson LQ-2550|omni/Epson_LQ_2550 Epson LX-100|omni/Epson_LX_100 Epson LX-300|omni/Epson_LX_300 Epson LX-300 Color|omni/Epson_LX_300_Color Epson LX-400|omni/Epson_LX_400 Epson LX-800|omni/Epson_LX_800 Epson LX-810|omni/Epson_LX_810 Epson LX-850|omni/Epson_LX_850 Epson MJ-500C|omni/Epson_MJ_500C Epson MJ-510C|omni/Epson_MJ_510C Epson MJ-700V2C|omni/Epson_MJ_700V2C Epson MJ-800C|omni/Epson_MJ_800C Epson MJ-900C|omni/Epson_MJ_900C Epson MJ-910C|omni/Epson_MJ_910C Epson MJ-3000C|omni/Epson_MJ_3000C Epson MJ-3000CU|omni/Epson_MJ_3000CU Epson MJ-5000C|omni/Epson_MJ_5000C Epson MJ-5100C|omni/Epson_MJ_5100C Epson MX-80 (w_GRAFTRAX 80)|omni/Epson_MX_80__w_GRAFTRAX_80_ Epson SQ-850|omni/Epson_SQ_850 Epson SQ-2500|omni/Epson_SQ_2500 Epson SQ-2550|omni/Epson_SQ_2550 Epson Stylus 200|omni/Epson_Stylus_200 Epson Stylus 300|omni/Epson_Stylus_300 Epson Stylus 400|omni/Epson_Stylus_400 Epson Stylus 500|omni/Epson_Stylus_500 Epson Stylus 800|omni/Epson_Stylus_800 Epson Stylus 800+|omni/Epson_Stylus_800_ Epson Stylus 820|omni/Epson_Stylus_820 Epson Stylus 1000|omni/Epson_Stylus_1000 Epson Stylus 1500|omni/Epson_Stylus_1500 Epson Stylus Color|omni/Epson_Stylus_Color Epson Stylus Color II|omni/Epson_Stylus_Color_II Epson Stylus Color IIs|omni/Epson_Stylus_Color_IIs Epson Stylus Color 300|omni/Epson_Stylus_Color_300 Epson Stylus Color 400|omni/Epson_Stylus_Color_400 Epson Stylus Color 440|omni/Epson_Stylus_Color_440 Epson Stylus Color 600|omni/Epson_Stylus_Color_600 Epson Stylus Color 600Q|omni/Epson_Stylus_Color_600Q Epson Stylus Color 640|omni/Epson_Stylus_Color_640 Epson Stylus Color 660|omni/Epson_Stylus_Color_660 Epson Stylus Color 740|omni/Epson_Stylus_Color_740 Epson Stylus Color 760|omni/Epson_Stylus_Color_760 Epson Stylus Color 800|omni/Epson_Stylus_Color_800 Epson Stylus Color 860|omni/Epson_Stylus_Color_860 Epson Stylus Color 900|omni/Epson_Stylus_Color_900 Epson Stylus Color 1160|omni/Epson_Stylus_Color_1160 Epson Stylus Color 1520|omni/Epson_Stylus_Color_1520 Epson Stylus Color 3000|omni/Epson_Stylus_Color_3000 Epson Stylus Photo 785EPX|omni/Epson_Stylus_Photo_785EPX Epson Stylus Photo 790|omni/Epson_Stylus_Photo_790 Epson Stylus Photo 810|omni/Epson_Stylus_Photo_810 Epson Stylus Photo 870|omni/Epson_Stylus_Photo_870 Epson Stylus Photo 875DC|omni/Epson_Stylus_Photo_875DC Epson Stylus Photo 890|omni/Epson_Stylus_Photo_890 Epson Stylus Photo 895|omni/Epson_Stylus_Photo_895 Epson Stylus Photo 1200|omni/Epson_Stylus_Photo_1200 Epson Stylus Photo 1270|omni/Epson_Stylus_Photo_1270 Epson Stylus Photo 1290|omni/Epson_Stylus_Photo_1290 Epson Stylus Photo 2000P|omni/Epson_Stylus_Photo_2000P Epson Stylus Pro|omni/Epson_Stylus_Pro Epson Stylus Pro XL|omni/Epson_Stylus_Pro_XL Epson Stylus Pro XL+|omni/Epson_Stylus_Pro_XL_ Epson TLQ-4800|omni/Epson_TLQ_4800 Epson TSQ-4800|omni/Epson_TSQ_4800 HP Color LaserJet|omni/HP_Color_LaserJet HP Color LaserJet 5, 5M|omni/HP_Color_LaserJet_5_5M HP Color LaserJet 4500|omni/HP_Color_LaserJet_4500 HP Color LaserJet 4550|omni/HP_Color_LaserJet_4550 HP Color LaserJet 8500|omni/HP_Color_LaserJet_8500 HP Color LaserJet 8550|omni/HP_Color_LaserJet_8550 HP LaserJet Classic|omni/HP_LaserJet_Classic HP LaserJet Plus|omni/HP_LaserJet_Plus HP LaserJet 500 Plus|omni/HP_LaserJet_500_Plus HP LaserJet 1100|omni/HP_LaserJet_1100 HP LaserJet 1200|omni/HP_LaserJet_1200 HP LaserJet 2000|omni/HP_LaserJet_2000 HP LaserJet 2100|omni/HP_LaserJet_2100 HP LaserJet 2200|omni/HP_LaserJet_2200 HP LaserJet 3200|omni/HP_LaserJet_3200 HP LaserJet 4000, 4000N|omni/HP_LaserJet_4000_4000N HP LaserJet 4000T, 4000TN|omni/HP_LaserJet_4000T_TN HP LaserJet 4050|omni/HP_LaserJet_4050 HP LaserJet 4100|omni/HP_LaserJet_4100 HP LaserJet 5000|omni/HP_LaserJet_5000 HP LaserJet 8000|omni/HP_LaserJet_8000 HP LaserJet 8100|omni/HP_LaserJet_8100 HP LaserJet 8150|omni/HP_LaserJet_8150 HP LaserJet 4, 4M|omni/HP_LaserJet_4_4M HP LaserJet 4L|omni/HP_LaserJet_4L HP LaserJet 4LJ Pro|omni/HP_LaserJet_4LJ_Pro HP LaserJet 4ML|omni/HP_LaserJet_4ML HP LaserJet 4P, 4MP|omni/HP_LaserJet_4P_4MP HP LaserJet 4PJ|omni/HP_LaserJet_4PJ HP LaserJet 4 Plus, 4M Plus|omni/HP_LaserJet_4_Plus_4M_Plus HP LaserJet 4Si, 4Si Mx|omni/HP_LaserJet_4Si_4Si_Mx HP LaserJet 4V, 4MV|omni/HP_LaserJet_4V_4MV HP LaserJet 5, 5M|omni/HP_LaserJet_5_5M HP LaserJet 5L|omni/HP_LaserJet_5L HP LaserJet 5P, 5MP|omni/HP_LaserJet_5P_5MP HP LaserJet 5Si, 5Si Mx, 5Si Mopier|omni/HP_LaserJet_5Si_5Si_Mx_5Si_Mopier HP LaserJet 6L, 6L Gold|omni/HP_LaserJet_6L_6L_Gold HP LaserJet 6P, 6MP|omni/HP_LaserJet_6P_6MP HP LaserJet Series II|omni/HP_LaserJet_Series_II HP LaserJet IID|omni/HP_LaserJet_IID HP LaserJet IIP|omni/HP_LaserJet_IIP HP LaserJet IIP Plus|omni/HP_LaserJet_IIP_Plus HP LaserJet III|omni/HP_LaserJet_III HP LaserJet IIID|omni/HP_LaserJet_IIID HP LaserJet IIIP|omni/HP_LaserJet_IIIP HP LaserJet IIISi|omni/HP_LaserJet_IIISi HP Mopier 240|omni/HP_Mopier_240 HP Mopier 320|omni/HP_Mopier_320 IBM 5183 Portable Printer|omni/IBM_5183_Portable_Printer KS 9-pin 80 Col|omni/KS_9_pin_80_Col KS 9-pin 136 Col|omni/KS_9_pin_136_Col KS 24-pin 80 Col|omni/KS_24_pin_80_Col KS 24-pin 136 Col|omni/KS_24_pin_136_Col KS KS Generic 48 pin|omni/KS_KS_Generic_48_pin KS BJ-230|omni/KS_BJ_230 KS DaeWoo DP-3630H|omni/KS_DaeWoo_DP_3630H KS DaeWoo DP-7200H|omni/KS_DaeWoo_DP_7200H KS DaeWoo DP-7400C|omni/KS_DaeWoo_DP_7400C KS Gold Star GLP-1450|omni/KS_Gold_Star_GLP_1450 KS Gold Star GLP-2050|omni/KS_Gold_Star_GLP_2050 KS Gold Star GLP-5750|omni/KS_Gold_Star_GLP_5750 KS HanSum BJ-330H|omni/KS_HanSum_BJ_330H KS HanSum HS-650C|omni/KS_HanSum_HS_650C KS HDMF NONE-FF|omni/KS_HDMF_NONE_FF KS Jepcom JP-B330|omni/KS_Jepcom_JP_B330 KS LG GIP 3000Q_3000+|omni/KS_LG_GIP_3000Q_3000_ KS Qnix QBJ-3630E|omni/KS_Qnix_QBJ_3630E KS Qnix PICASSOI|omni/KS_Qnix_PICASSOI KS Qnix PICASSOII|omni/KS_Qnix_PICASSOII KS SAMBO PageJet P1|omni/KS_SAMBO_PageJet_P1 KS SAMBO PageJet P2|omni/KS_SAMBO_PageJet_P2 KS SAMBO Stylus 800H+|omni/KS_SAMBO_Stylus_800H_ KS SAMBO Stylus 1000H+|omni/KS_SAMBO_Stylus_1000H_ KS SAMSUNG MJ 630V|omni/KS_SAMSUNG_MJ_630V KS SAMSUNG SLB-3106G|omni/KS_SAMSUNG_SLB_3106G KS SAMSUNG SP-2417HW|omni/KS_SAMSUNG_SP_2417HW KS SAMSUNG SP-2421HW|omni/KS_SAMSUNG_SP_2421HW KS SAMSUNG SP-2433HW|omni/KS_SAMSUNG_SP_2433HW KS SAMSUNG SP-4017|omni/KS_SAMSUNG_SP_4017 KS SAMSUNG SP-4021|omni/KS_SAMSUNG_SP_4021 KS SINDO ExecJet 4072|omni/KS_SINDO_ExecJet_4072 KS SINDO ExecJet 4076|omni/KS_SINDO_ExecJet_4076 KS VP-6570K|omni/KS_VP_6570K Kyocera F-800, 800A|omni/Kyocera_F_800A_F_800 Kyocera F-820|omni/Kyocera_F_820 Kyocera F-1000, 1000A|omni/Kyocera_F_1000A_F_1000 Kyocera F-1200S|omni/Kyocera_F_1200S Kyocera F-1800, 1800A|omni/Kyocera_F_1800A_F_1800 Kyocera F-2000A, 2200S|omni/Kyocera_F_2000A_F_2200S Kyocera F-3000A, 3300|omni/Kyocera_F_3000A_F_3300 Kyocera F-5000, 5000A|omni/Kyocera_F_5000A_F_5000 Kyocera FS-400, 400A|omni/Kyocera_FS_400A_FS_400 Kyocera FS-600|omni/Kyocera_FS_600 Kyocera FS-680|omni/Kyocera_FS_680 Kyocera FS-800|omni/Kyocera_FS_800 Kyocera FS-850, 850A|omni/Kyocera_FS_850A_FS_850 Kyocera FS-1000|omni/Kyocera_FS_1000 Kyocera FS-1000+|omni/Kyocera_FS_1000_ Kyocera FS-1200|omni/Kyocera_FS_1200 Kyocera FS-1500, 1500A|omni/Kyocera_FS_1500A_FS_1500 Kyocera FS-1550, 1550A|omni/Kyocera_FS_1550A_FS_1550 Kyocera FS-1550+|omni/Kyocera_FS_1550_ Kyocera FS-1600, 1600A|omni/Kyocera_FS_1600A_FS_1600 Kyocera FS-1600+|omni/Kyocera_FS_1600_ Kyocera FS-1700|omni/Kyocera_FS_1700 Kyocera FS-1700+|omni/Kyocera_FS_1700_ Kyocera FS-1750|omni/Kyocera_FS_1750 Kyocera FS-1800, 1800N|omni/Kyocera_FS_1800_FS_1800N Kyocera FS-3400, 3400A|omni/Kyocera_FS_3400A_FS_3400 Kyocera FS-3400+|omni/Kyocera_FS_3400_ Kyocera FS-3500, 3500A|omni/Kyocera_FS_3500A_FS_3500 Kyocera FS-3600, 3600A|omni/Kyocera_FS_3600A_FS_3600 Kyocera FS-3600+|omni/Kyocera_FS_3600_ Kyocera FS-3700|omni/Kyocera_FS_3700 Kyocera FS-3700+|omni/Kyocera_FS_3700_ Kyocera FS-3750|omni/Kyocera_FS_3750 Kyocera FS-3800, 3800N|omni/Kyocera_FS_3800_FS_3800N Kyocera FS-5500, 5500A|omni/Kyocera_FS_5500A_FS_5500 Kyocera FS-5800C|omni/Kyocera_FS_5800C Kyocera FS-5900C|omni/Kyocera_FS_5900C Kyocera FS-6300|omni/Kyocera_FS_6300 Kyocera FS-6500, 6500+|omni/Kyocera_FS_6500_6500_ Kyocera FS-6700|omni/Kyocera_FS_6700 Kyocera FS-6900|omni/Kyocera_FS_6900 Kyocera FS-7000|omni/Kyocera_FS_7000 Kyocera FS-7000+|omni/Kyocera_FS_7000_ Kyocera FS-9000|omni/Kyocera_FS_9000 Kyocera LS 6550|omni/Kyocera_LS_6550 Okidata ML-184 Turbo|omni/Okidata_ML_184_Turbo Okidata ML-192|omni/Okidata_ML_192 Okidata ML-193|omni/Okidata_ML_193 Okidata ML-320|omni/Okidata_ML_320 Okidata ML-320 Turbo|omni/Okidata_ML_320_Turbo Okidata ML-321|omni/Okidata_ML_321 Okidata ML-321 Turbo|omni/Okidata_ML_321_Turbo Okidata ML-380|omni/Okidata_ML_380 Okidata ML-390|omni/Okidata_ML_390 Okidata ML-390 Turbo|omni/Okidata_ML_390_Turbo Okidata ML-391|omni/Okidata_ML_391 Okidata ML-391 Turbo|omni/Okidata_ML_391_Turbo Okidata ML-393|omni/Okidata_ML_393 Okidata ML-393C|omni/Okidata_ML_393C Okidata ML-395B|omni/Okidata_ML_395B Okidata ML-395C|omni/Okidata_ML_395C Okidata ML-520|omni/Okidata_ML_520 Okidata ML-521|omni/Okidata_ML_521 Okidata ML-590|omni/Okidata_ML_590 Okidata ML-591|omni/Okidata_ML_591 Okidata ML-3410|omni/Okidata_ML_3410 Okidata ML-4410|omni/Okidata_ML_4410 Okidata OL400e|omni/Okidata_OL400e Okidata OL400ex|omni/Okidata_OL400ex Okidata OL410e|omni/Okidata_OL410e Okidata OL410ex|omni/Okidata_OL410ex Okidata OL810e|omni/Okidata_OL810e Okidata OL810e|omni/Okidata_OL810ex Okidata OL1200|omni/Okidata_OL1200 OkiPage 6e_6ex|omni/OkiPage_6e_6ex OkiPos 425D|omni/OkiPos_425D OkiPos 425S|omni/OkiPos_425S Panasonic KX-P1123|omni/Panasonic_KX_P1123 Panasonic KX-P1124|omni/Panasonic_KX_P1124 Panasonic KX-P1124i|omni/Panasonic_KX_P1124i Panasonic KX-P1150|omni/Panasonic_KX_P1150 Panasonic KX-P1180|omni/Panasonic_KX_P1180 Panasonic KX-P1191|omni/Panasonic_KX_P1191 Panasonic KX-P1624|omni/Panasonic_KX_P1624 Panasonic KX-P1654|omni/Panasonic_KX_P1654 Panasonic KX-P1695|omni/Panasonic_KX_P1695 Panasonic KX-P2023|omni/Panasonic_KX_P2023 Panasonic KX-P2123|omni/Panasonic_KX_P2123 Panasonic KX-P2124|omni/Panasonic_KX_P2124 Panasonic KX-P2130|omni/Panasonic_KX_P2130 Panasonic KX-P2135|omni/Panasonic_KX_P2135 Panasonic KX-P2180|omni/Panasonic_KX_P2180 Panasonic KX-P2624|omni/Panasonic_KX_P2624 Panasonic KX-P3123|omni/Panasonic_KX_P3123 Panasonic KX-P3124|omni/Panasonic_KX_P3124 Panasonic KX-P3624|omni/Panasonic_KX_P3624 Star LC-15 Multi-Font|omni/Star_LC_15_Multi_Font Star LC-20|omni/Star_LC_20 Star LC 24-15 Multi-Font|omni/Star_LC_24_15_Multi_Font Star LC 24-20 Multi-Font|omni/Star_LC_24_20_Multi_Font Star LC 24-200 Colour|omni/Star_LC_24_200_Colour Star LC-100 Colour|omni/Star_LC_100_Colour Star NX-1001|omni/Star_NX_1001 Star NX-1040R|omni/Star_NX_1040R Star NX-1500|omni/Star_NX_1500 Star NX-2415|omni/Star_NX_2415 Star NX-2420R|omni/Star_NX_2420R Star NX-2430|omni/Star_NX_2430 Star Starjet SJ-48|omni/Star_Starjet_SJ_48 Star Starjet SJ-144|omni/Star_Starjet_SJ_144 Star XB 24-200 Multi-Font|omni/Star_XB_24_200_Multi_Font Star XB 24-250 Multi-Font|omni/Star_XB_24_250_Multi_Font Star XB-2420|omni/Star_XB_2420 Star XB-2425|omni/Star_XB_2425 Star XR-1020|omni/Star_XR_1020 Star XR-1520|omni/Star_XR_1520 Star ZA-200 Multi-Font|omni/Star_ZA_200_Multi_Font Star ZA-250 Multi-Font|omni/Star_ZA_250_Multi_Font apsfilter-7.2.6.orig/setup/printer-pcl30000644000175000017500000000350307375500233020336 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-pcl3,v 1.3 2001/11/17 15:22:03 andreas Exp $ # printer-pcl3 - this file contains printer supported by pcl3 (3rd party) # HP DeskJet (classic)|pcl3/hpdj HP DeskJet Plus|pcl3/hpdjplus HP DeskJet Portable|pcl3/hpdjportable HP DeskJet 310|pcl3/hpdj310 HP DeskJet 320|pcl3/hpdj320 HP DeskJet 340|pcl3/hpdj340 HP DeskJet 400 (tested in b/w)|pcl3/hpdj400 HP DeskJet 420|pcl3/unspec HP DeskJet 500|pcl3/hpdj500 HP DeskJet 500C|pcl3/hpdj500c HP DeskJet 510|pcl3/hpdj510 HP DeskJet 520|pcl3/hpdj520 HP DeskJet 540|pcl3/hpdj540 HP DeskJet 550C|pcl3/hpdj550c HP DeskJet 560C|pcl3/hpdj560c HP DeskJet 600|pcl3/hpdj600 HP DeskJet 610C|pcl3/unspec HP DeskJet 612C|pcl3/unspec HP DeskJet 640C|pcl3/unspec HP DeskJet 660C|pcl3/hpdj660c HP DeskJet 660Cse|pcl3/unspec HP DeskJet 670C|pcl3/hpdj670c HP DeskJet 672C|pcl3/unspec HP DeskJet 680C|pcl3/hpdj680c HP DeskJet 690C|pcl3/hpdj690c HP DeskJet 690C+|pcl3/unspec HP DeskJet 693C|pcl3/unspec HP DeskJet 694C|pcl3/unspec HP DeskJet 697C|pcl3/unspec HP DeskJet 832C|pcl3/unspec HP DeskJet 850C|pcl3/hpdj850c HP DeskJet 855C|pcl3/hpdj855c HP DeskJet 870C|pcl3/hpdj870c HP DeskJet 870Cse|pcl3/unspec HP DeskJet 870Cxi|pcl3/unspec HP DeskJet 880C|pcl3/unspec HP DeskJet 890C|pcl3/hpdj890c HP DeskJet 895Cse|pcl3/unspec HP DeskJet 895Cxi|pcl3/unspec HP DeskJet 932C|pcl3/unspec HP DeskJet 970C|pcl3/u970 HP DeskJet 1100C|pcl3/unspec HP DeskJet 1120C|pcl3/hpdj1120c HP DeskJet 2000C Professional Series|pcl3/unspec HP DeskJet 2000Cse Professional Series|pcl3/unspec HP DeskJet 2000CN Professional Series|pcl3/unspec HP DeskJet 2500CM|pcl3/unspec HP OfficeJet 350|pcl3/unspec HP OfficeJet 590|pcl3/unspec HP OfficeJet 600|pcl3/unspec HP OfficeJet 625|pcl3/unspec HP OfficeJet G55|pcl3/unspec HP OfficeJet T45|pcl3/unspec Lexmark 3000 Color Jetprinter|pcl3/unspec Xerox DocuPrint M750|pcl3/unspec apsfilter-7.2.6.orig/setup/printer-ppa0000644000175000017500000000065107375500233020256 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-ppa,v 1.2 2001/11/17 15:22:03 andreas Exp $ # HP DeskJet 710C {pXmraw+pnm2ppa}|ppa/710 HP DeskJet 712C {pXmraw+pnm2ppa}|ppa/712 HP DeskJet 720C {pXmraw+pnm2ppa}|ppa/720 HP DeskJet 722C {pXmraw+pnm2ppa}|ppa/722 HP DeskJet 820Cxi {pXmraw+pnm2ppa}|ppa/820 HP DeskJet 820Cse {pXmraw+pnm2ppa}|ppa/820 HP DeskJet 1000Cxi {pXmraw+pnm2ppa}|ppa/1000 HP DeskJet 1000Cse {pXmraw+pnm2ppa}|ppa/1000 apsfilter-7.2.6.orig/setup/printer-stp0000644000175000017500000001047207401233225020300 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/setup/printer-stp,v 1.6 2001/11/28 19:10:13 andreas Exp $ # Canon BJC 30|stp/bjc-30 Canon BJC 50|stp/bjc-50 Canon BJC 55|stp/bjc-55 Canon BJC 80|stp/bjc-80 Canon BJC 85|stp/bjc-85 Canon BJC 210|stp/bjc-210 Canon BJC 240|stp/bjc-240 Canon BJC 250|stp/bjc-250 Canon BJC 1000|stp/bjc-1000 Canon BJC 2000|stp/bjc-2000 Canon BJC 3000|stp/bjc-3000 Canon BJC 4300|stp/bjc-4300 Canon BJC 4400 photo|stp/bjc-4400 Canon BJC 6000|stp/bjc-6000 Canon BJC 6100|stp/bjc-6100 Canon BJC 6200|stp/bjc-6200 Canon BJC 6500|stp/bjc-6500 Canon BJC 7000|stp/bjc-7000 Canon BJC 7100|stp/bjc-7100 Canon BJC 8200|stp/bjc-8200 Canon S400|stp/bjc-s400 Canon S450|stp/bjc-s450 Canon S800|stp/bjc-s800 Canon S4500|stp/bjc-s4500 Epson Stylus C20SX|stp/escp2-c20sx Epson Stylus C20UX|stp/escp2-c20ux Epson Stylus C40SX|stp/escp2-c40sx Epson Stylus C40UX|stp/escp2-c40ux Epson Stylus C60|stp/escp2-c60 Epson Stylus C70|stp/escp2-c70 Epson Stylus C80|stp/escp2-c80 Epson Stylus Color|stp/escp2 Epson Stylus Color Pro|stp/escp2-pro Epson Stylus Color Pro XL|stp/escp2-pro-xl Epson Stylus Color 83|stp/escp2-83 Epson Stylus Color 400|stp/escp2-400 Epson Stylus Color 440|stp/escp2-440 Epson Stylus Color 460|stp/escp2-460 Epson Stylus Color 480|stp/escp2-480 Epson Stylus Color 500|stp/escp2-500 Epson Stylus Color 580|stp/escp2-580 Epson Stylus Color 600|stp/escp2-600 Epson Stylus Color 640|stp/escp2-640 Epson Stylus Color 660|stp/escp2-660 Epson Stylus Color 670|stp/escp2-670 Epson Stylus Color 680|stp/escp2-680 Epson Stylus Color 740|stp/escp2-740 Epson Stylus Color 760|stp/escp2-760 Epson Stylus Color 777|stp/escp2-777 Epson Stylus Color 800|stp/escp2-800 Epson Stylus Color 850|stp/escp2-850 Epson Stylus Color 860|stp/escp2-860 Epson Stylus Color 880|stp/escp2-880 Epson Stylus Color 900|stp/escp2-900 Epson Stylus Color 980|stp/escp2-980 Epson Stylus Color 1160|stp/escp2-1160 Epson Stylus Color 1500|stp/escp2-1500 Epson Stylus Color 1520|stp/escp2-1520 Epson Stylus Color 3000|stp/escp2-3000 Epson Stylus Photo|stp/escp2-photo Epson Stylus Photo EX|stp/escp2-ex Epson Stylus Photo 700|stp/escp2-700 Epson Stylus Photo 720|stp/escp2-720 Epson Stylus Photo 750|stp/escp2-750 Epson Stylus Photo 780|stp/escp2-780 Epson Stylus Photo 785EPX|stp/escp2-785 Epson Stylus Photo 790|stp/escp2-790 Epson Stylus Photo 810|stp/escp2-810 Epson Stylus Photo 820|stp/escp2-820 Epson Stylus Photo 870|stp/escp2-870 Epson Stylus Photo 875|stp/escp2-875 Epson Stylus Photo 890|stp/escp2-890 Epson Stylus Photo 895|stp/escp2-895 Epson Stylus Photo 1200|stp/escp2-1200 Epson Stylus Photo 1270|stp/escp2-1270 Epson Stylus Photo 1280|stp/escp2-1280 Epson Stylus Photo 1290|stp/escp2-1290 Epson Stylus Photo 2000P|stp/escp2-2000 Epson Stylus Pro 5000|stp/escp2-5000 Epson Stylus Pro 5500|stp/escp2-5500 Epson Stylus Pro 7000|stp/escp2-7000 Epson Stylus Pro 7500|stp/escp2-7500 Epson Stylus Pro 9000|stp/escp2-9000 Epson Stylus Pro 9500|stp/escp2-9500 Epson Stylus Pro 10000|stp/escp2-10000 Epson Stylus Scan 2000|stp/escp2-scan2000 Epson Stylus Scan 2500|stp/escp2-scan2500 HP DesignJet 750C|stp/pcl-750 HP DeskJet 340|stp/pcl-340 HP DeskJet 400|stp/pcl-400 HP DeskJet 500|stp/pcl-500 HP DeskJet 500C|stp/pcl-501 HP DeskJet 520|stp/pcl-520 HP DeskJet 540C|stp/pcl-540 HP DeskJet 550C|stp/pcl-550 HP DeskJet 560C|stp/pcl-560 HP DeskJet 600/600C (single cartridge)|stp/pcl-600 HP DeskJet 600 series (double cartridge)|stp/pcl-601 HP DeskJet 690 series|stp/pcl-690 HP DeskJet 810C|stp/pcl-810 HP DeskJet 812C|stp/pcl-812 HP DeskJet 840C|stp/pcl-840 HP DeskJet 842C|stp/pcl-842 HP DeskJet 845C|stp/pcl-845 HP DeskJet 850C|stp/pcl-850 HP DeskJet 855C|stp/pcl-855 HP DeskJet 870C|stp/pcl-870 HP DeskJet 890C|stp/pcl-890 HP DeskJet 895C|stp/pcl-895 HP DeskJet 900 series|stp/pcl-900 HP DeskJet 1100C|stp/pcl-1100 HP DeskJet 1120C|stp/pcl-1120 HP DeskJet 1200C|stp/pcl-1200 HP DeskJet 1220C|stp/pcl-1220 HP DeskJet 1600C|stp/pcl-1600 HP DeskJet 2000 series|stp/pcl-2000 HP DeskJet 2500 series|stp/pcl-2500 HP LaserJet II series|stp/pcl-2 HP LaserJet III series|stp/pcl-3 HP LaserJet 4 series|stp/pcl-4 HP LaserJet 4L series|stp/pcl-4l HP LaserJet 4V, 4Si|stp/pcl-4v HP LaserJet 5 series|stp/pcl-5 HP LaserJet 5Si|stp/pcl-5si HP LaserJet 6 series|stp/pcl-6 HP PhotoSmart P1000|stp/pcl-P1000 HP PhotoSmart P1100|stp/pcl-P1100 Lexmark 4076|stp/lexmark-4076 Lexmark Z42|stp/lexmark-z42 Lexmark Z43|stp/lexmark-z43 Lexmark Z52|stp/lexmark-z52 apsfilter-7.2.6.orig/setup/test.ps.in0000644000175000017500000053141007413375237020033 0ustar covencoven00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: A.Reuter 1999 %%Title: apsfilter testpage %%Pages: 1 %%Page: Seite1 1 %%EndComments % $ApsCVS: src/apsfilter/setup/test.ps.in,v 1.16.2.4 2001/12/29 17:17:19 andreas Exp $ % Font mit ISO Encoding laden /ffont { dup findfont dup maxlength dict begin { 1 index /FID ne {def} {pop pop} ifelse } forall /Encoding ISOLatin1Encoding def currentdict end definefont } bind def /inch 25.3966732 def % stimmt das... /pt { inch 72 div mul } bind def % mal versuchen... 1 1 pt div dup scale % units in mm currentpagedevice /PageSize get % Seitenmaße bestimmen {pt} forall /pheight exch def /pwidth exch def /bdw 20 def % der Rahmen (2 cm) und die Innenmaße /in_h pheight bdw 2 mul sub def /in_w pwidth bdw 2 mul sub def /in_h pheight bdw 2 mul sub def /in_w pwidth bdw 2 mul sub def % Rechteckpfad... x1 y1 x2 y2 -> Pfad systemdict /ApsVersion known { /ApsVersion ApsVersion 10 string cvs def } { /ApsVersion (@VERSION@) def } ifelse /rectangle { /y2 exch def /x2 exch def /y1 exch def /x1 exch def x1 y1 moveto x2 y1 lineto x2 y2 lineto x1 y2 lineto x1 y1 lineto } bind def /setgamma { [ exch (exp) cvx ] cvx dup dup currenttransfer setcolortransfer } bind def /setscreen { 45 {1 add 180 mul cos 1 0.08 add mul exch 2 add 180 mul cos 1 0.08 sub mul add 2 div} setscreen } bind def %300 setscreen % Clipping auf Außenrand beschränken /outerclip { 0 0 pwidth pheight rectangle bdw bdw pwidth bdw sub pheight bdw sub rectangle closepath eoclip } bind def % Text Hinterlegung /cbox { true charpath pathbbox rectangle fill } bind def /paintgrid { 0 0 0 setrgbcolor (Helvetica) ffont 8 pt scalefont setfont 0 1 pheight { /xy exch def 0.1 xy 5 mod 0 eq { 0.15 add } if xy 10 mod 0 eq { 0.15 add } if setlinewidth xy pwidth lt { xy 0 moveto xy pheight lineto } if 0 xy moveto pwidth xy lineto stroke } for 0 10 pheight { /xy exch def xy 20 string cvs /xy xy 0.5 add def xy pwidth lt { xy 10.5 moveto 1 1 1 setrgbcolor dup cbox 0 0 0 setrgbcolor dup xy 10.5 moveto show } if dup 10.5 xy moveto 1 1 1 setrgbcolor cbox 0 0 0 setrgbcolor 10.5 xy moveto show } for newpath /radius bdw 2 div def radius radius radius 0 360 arc stroke pwidth radius sub radius radius 0 360 arc stroke pwidth radius sub pheight radius sub radius 0 360 arc stroke radius pheight radius sub radius 0 360 arc stroke } bind def /scalebars2 { /x0 pwidth 2 div def /y0 pheight 2 div def /x00 x0 2 add def /y00 y0 2 add def 1 1 1 setrgbcolor x0 1 sub 0 x00 5 add pheight rectangle fill 0 y0 1 sub pwidth y00 4 add rectangle fill 0 0 0 setrgbcolor x0 0 moveto x0 pheight lineto stroke 0 y0 moveto pwidth y0 lineto stroke 0 1 pheight 2 div { /xy0 exch def /tlen 0.5 xy0 5 mod 0 eq {0.75 add} if xy0 10 mod 0 eq {0.25 add} if def xy0 x0 lt { x0 xy0 sub y0 moveto 0 tlen rlineto stroke x0 xy0 add y0 moveto 0 tlen rlineto stroke } if x0 y0 xy0 sub moveto tlen 0 rlineto stroke x0 y0 xy0 add moveto tlen 0 rlineto stroke } for 10 10 pheight 2 div { /xy exch def /xys xy 20 string cvs def xy x0 lt { x0 xy sub y00 moveto xys show x0 xy add y00 moveto xys show } if x00 y0 xy sub moveto xys show x00 y0 xy add moveto xys show } for } bind def /drsize 50 def % Seitenlänge der großen Dreiecke /cfrom 0 def % Startwert /cto 100 def % Endwert /cinc 1 def % Schrittweite /csteps cto cfrom sub cinc div def % Schritte /strsize drsize csteps div def /strheight 60 sin strsize mul def /setcol { pop pop pop } bind def % globale Farbfunktion... /dreieck_up % Ein aufrechtes gleichseitiges Dreieck { /y0 exch def /x0 exch def x0 y0 strheight 3 div 2 mul add moveto strsize -2 div strheight -1 mul rlineto strsize 0 rlineto closepath } bind def /dreieck_down % und auf dem Kopf... { /y0 exch def /x0 exch def x0 y0 strheight 3 div 2 mul sub moveto strsize -2 div strheight rlineto strsize 0 rlineto closepath } bind def /col_sub_triangle { /up exch def dup /sum exch def /brel exch def dup sum add /sum exch def /grel exch def dup sum add /sum exch def /rrel exch def sum 0 eq { /sum 1 def } if /rrel rrel sum div def /grel grel sum div def /brel brel sum div def rrel grel gt { rrel }{grel} ifelse dup brel lt { pop brel } if 1 exch div /fact exch def /yy 60 sin drsize brel mul mul def /xx drsize grel mul yy 0.57735027 mul add def %/fact 2 def rrel fact mul grel fact mul brel fact mul setcol xx yy up {dreieck_up} {dreieck_down} ifelse fill } bind def /rgborgx 10 def /rgborgy 10 def /cmyorgx 10 def /cmyorgy 70 def /colortriangle { /org_y exch def /org_x exch def gsave org_x org_y translate cfrom cinc cto { /b1 exch def cfrom cinc cto b1 sub { /g1 exch def /r1 cto g1 sub b1 sub def r1 g1 b1 true col_sub_triangle } for } for cfrom cinc 3 div add cinc cto { /b1 exch def cfrom cinc 3 div add cinc cto b1 sub { /g1 exch def /r1 cto g1 sub b1 sub def r1 g1 b1 false col_sub_triangle } for } for 0 0 0 setrgbcolor 0 0 moveto drsize 0 rlineto drsize -2 div 60 sin drsize mul dup /h exch def rlineto closepath stroke -2 -3 moveto show drsize 2 add -3 moveto show drsize 2 div 1 sub h 1 add moveto show grestore } bind def /f1 (Times-Roman) ffont 1 pt scalefont def /fonttest { 0 0 0 setrgbcolor /yy in_h 10 sub def [6 7 8 9 10 12 14 16 18 24] { dup 10 string cvs /ssize exch def dup pt yy exch sub /yy exch def 10 yy moveto f1 exch scalefont setfont ssize show ( pt Times Roman) show } forall } bind def /credits { /x0 in_w 2 div 10 add def /y0 in_h 2 div 30 add def x0 y0 moveto f1 12 scalefont setfont (apsfilter v ) show ApsVersion show /y0 y0 10 pt sub def f1 8 scalefont setfont x0 y0 moveto (by Andreas Klemm ) show /y0 y0 10 pt sub def x0 y0 moveto (http://people.FreeBSD.ORG/~andreas) show /y0 y0 14 pt sub def f1 12 scalefont setfont x0 y0 moveto (Testpage v 0.3) show /y0 y0 10 pt sub def f1 8 scalefont setfont x0 y0 moveto (by Andreas Reuter ) show /y0 y0 10 pt sub def x0 y0 moveto (March 1999) show } bind def /screeningtest { /scr0 30 def /scrstep 5 def gsave % wg screentest f1 12 scalefont setfont 30 in_h 62 sub moveto (Screening Test) show /scrval scr0 def 0 10 100 { 2 div in_h exch sub 70 sub /yy exch def 0 0 0 setrgbcolor scrval 10 string cvs 10 yy moveto show scrval setscreen 0 10 100 { /xg exch def /xx xg 2 div 20 add def xg 100 div setgray xx yy xx 5 add yy 5 add rectangle fill } for /scrval scrval scrstep add def } for grestore } bind def /tiger { /Adobe_Illustrator_1.2d1 dup 100 dict def load begin % definition operators /bdef {bind def} bind def /ldef {load def} bdef /xdef {exch def} bdef % graphic state operators /_K { 3 index add neg dup 0 lt {pop 0} if 3 1 roll } bdef /_k /setcmybcolor where { /setcmybcolor get } { { 1 sub 4 1 roll _K _K _K setrgbcolor pop } bind } ifelse def /g {/_b xdef /p {_b setgray} def} bdef /G {/_B xdef /P {_B setgray} def} bdef /k {/_b xdef /_y xdef /_m xdef /_c xdef /p {_c _m _y _b _k} def} bdef /K {/_B xdef /_Y xdef /_M xdef /_C xdef /P {_C _M _Y _B _k} def} bdef /d /setdash ldef /_i currentflat def /i {dup 0 eq {pop _i} if setflat} bdef /j /setlinejoin ldef /J /setlinecap ldef /M /setmiterlimit ldef /w /setlinewidth ldef % path construction operators /_R {.25 sub round .25 add} bdef /_r {transform _R exch _R exch itransform} bdef /c {_r curveto} bdef /C /c ldef /v {currentpoint 6 2 roll _r curveto} bdef /V /v ldef /y {_r 2 copy curveto} bdef /Y /y ldef /l {_r lineto} bdef /L /l ldef /m {_r moveto} bdef % path painting operators /n /newpath ldef /N /n ldef /F {p fill} bdef /f {closepath F} bdef /S {P stroke} bdef /s {closepath S} bdef /B {gsave F grestore S} bdef /b {closepath B} bdef end Adobe_Illustrator_1.2d1 begin 0 g 0 G 0 i 0 J 0 j 0.172 w 10 M []0 d 0 0 0 0 k 177.696 715.715 m 177.797 713.821 176.973 713.84 v 176.149 713.859 159.695 761.934 139.167 759.691 C 156.95 767.044 177.696 715.715 V b 181.226 718.738 m 180.677 716.922 179.908 717.221 v 179.14 717.519 180.023 768.325 159.957 773.199 C 179.18 774.063 181.226 718.738 V b 208.716 676.41 m 210.352 675.45 209.882 674.773 v 209.411 674.096 160.237 686.898 150.782 668.541 C 154.461 687.428 208.716 676.41 V b 205.907 666.199 m 207.763 665.803 207.529 665.012 v 207.296 664.221 156.593 660.879 153.403 640.478 C 150.945 659.563 205.907 666.199 V b 201.696 671.724 m 203.474 671.061 203.128 670.313 v 202.782 669.565 152.134 673.654 146.002 653.936 C 146.354 673.175 201.696 671.724 V b 190.991 689.928 m 192.299 688.554 191.66 688.033 v 191.021 687.512 147.278 713.366 133.131 698.324 C 141.872 715.467 190.991 689.928 V b 183.446 685.737 m 184.902 684.52 184.326 683.929 v 183.75 683.339 137.362 704.078 125.008 687.531 C 131.753 705.553 183.446 685.737 V b 180.846 681.665 m 182.454 680.657 181.964 679.994 v 181.474 679.331 132.692 693.554 122.709 675.478 C 126.934 694.251 180.846 681.665 V b 191.58 681.051 m 192.702 679.52 192.001 679.085 v 191.3 678.65 151.231 709.898 135.273 696.793 C 146.138 712.674 191.58 681.051 V b 171.8 710 m 172.4 708.2 171.6 708 v 170.8 707.8 142.2 749.8 122.999 742.2 C 138.2 754 171.8 710 V b 172.495 703.021 m 173.47 701.392 172.731 701.025 v 171.993 700.657 135.008 735.501 117.899 723.939 C 130.196 738.739 172.495 703.021 V b 172.38 698.651 m 173.502 697.12 172.801 696.685 v 172.1 696.251 132.031 727.498 116.073 714.393 C 126.938 730.274 172.38 698.651 V b 0 J 1 w 170.17 696.935 m 170.673 690.887 171.661 684.318 173.4 681.199 C 169.8 668.799 178.6 655.599 V 178.2 648.399 179.8 645.199 V 183.8 636.799 188.6 635.999 v 192.484 635.352 201.207 632.283 211.068 630.879 c 228.2 616.799 225 603.999 V 224.6 587.599 221 585.999 V 232.6 597.199 223 580.399 V 218.6 561.599 l 244.2 583.199 228.6 564.799 V 218.6 538.799 l 238.2 557.199 231 548.799 V 227.8 539.999 l 271 567.199 240.2 537.599 V 248.2 541.199 252.6 538.399 V 259.4 539.599 258.6 537.999 V 237.8 527.599 234.2 509.199 V 242.6 519.199 239.4 508.399 V 239.8 496.799 l 243.8 518.399 243.4 480.799 V 262.6 498.799 251 477.999 V 251 461.199 l 266.2 477.599 259.8 464.799 V 269.8 473.599 265.8 458.399 V 265 447.999 269.4 459.199 V 285.4 489.799 279.4 463.599 V 278.6 444.399 283.4 459.199 V 283.8 448.799 293 441.599 V 291.8 492.399 304.6 456.399 V 308.6 439.999 l 311.4 449.199 311 454.399 V 325.8 470.799 319 446.399 V 334.2 469.199 331 455.999 V 323.4 439.999 325 435.199 V 341.8 469.999 343 471.599 V 341 429.198 351.8 465.199 V 357.4 453.199 354.6 448.799 V 362.6 456.799 361.8 459.999 V 366.4 468.199 369.2 454.599 V 371 445.199 372.6 448.399 V 376.6 424.398 377.8 447.199 V 379.4 460.799 372.2 472.399 V 373 475.599 370.2 479.599 v 383.8 457.999 376.6 486.799 V 387.801 478.799 389.001 478.799 V 375.4 501.999 384.2 497.199 V 379 507.599 397.001 495.599 V 381 511.599 398.601 501.999 V 406.601 495.599 399.001 505.599 V 384.6 521.599 406.601 503.599 V 418.201 487.199 419.001 484.399 V 409.001 513.599 404.601 516.399 V 413.001 552.799 454.201 537.199 V 461.001 519.999 465.401 538.399 V 478.201 544.799 489.401 517.199 V 493.401 530.799 492.601 533.599 V 499.401 532.399 498.601 533.599 V 511.801 529.199 513.001 529.999 V 519.801 523.199 520.201 526.799 V 529.401 523.999 527.401 527.599 V 536.201 511.999 536.601 508.399 V 539.001 522.399 l 541.001 519.599 l 542.601 527.199 541.801 528.399 v 541.001 529.599 561.801 521.599 566.601 500.799 C 568.601 492.399 l 574.601 507.199 573.001 511.199 V 578.201 510.399 578.601 505.999 V 582.601 529.199 577.801 535.199 V 582.201 535.999 583.401 532.399 V 583.401 539.599 l 590.601 538.799 590.601 541.199 V 595.001 545.199 597.001 540.399 V 584.601 575.599 603.001 556.399 V 610.201 545.599 606.601 564.399 v 603.001 583.199 599.001 584.799 603.801 585.199 C 604.601 588.799 602.601 590.399 v 600.601 591.999 603.801 590.399 y 608.601 586.399 603.401 608.399 V 609.801 606.799 597.801 635.999 V 600.601 638.399 596.601 646.799 V 604.601 642.399 607.401 643.999 V 607.001 645.599 603.801 649.599 V 582.201 704.4 602.601 682.399 V 614.451 668.849 608.051 691.649 V 598.94 715.659 599.717 719.955 V 170.17 696.935 l b 0.2 0.55 0.85 0 k 599.717 719.755 m 600.345 719.574 602.551 718.45 603.801 716.8 C 610.601 706 605.401 724.4 V 596.201 753.2 605.001 742 V 611.001 734.8 607.801 748.4 v 603.936 764.827 601.401 771.2 y 613.001 766.4 586.201 806 V 595.001 802.4 l 575.401 842 553.801 847.2 V 545.801 853.2 l 584.201 891.2 571.401 928 V 564.601 933.2 555.001 924 V 548.601 919.2 542.601 920.8 V 511.801 919.6 509.801 919.6 v 507.801 919.6 473.001 956.8 407.401 939.2 C 402.201 937.2 397.801 938.4 V 379.4 954.4 330.6 931.6 v 320.6 929.6 319 929.6 v 317.4 929.6 314.6 929.6 306.6 923.2 c 298.6 916.8 298.2 916 296.2 914.4 C 279.8 903.2 275 902.4 V 263.4 896 259 886 V 255.4 884.8 l 253.8 877.6 253.4 876.4 V 248.6 872.8 247.8 867.2 V 239 861.2 239.4 856.8 V 237.8 851.6 237 846.8 V 229.8 842 230.6 839.2 V 223 825.2 224.2 818.4 V 217.8 818.8 215 816.4 V 214.2 811.6 212.6 811.2 V 209.8 810 212.2 806 V 210.6 803.2 210.2 801.6 V 211 798.8 206.6 793.2 V 200.2 774.4 202.2 769.2 V 202.6 764.4 199.8 762.8 V 196.2 763.2 204.6 751.2 V 205.4 750 202.2 747.6 V 185 744 182.6 727.6 V 169 712.8 169 707.6 v 169 705.295 169.271 702.148 169.97 697.535 C 169.4 689.199 197 688.399 v 224.6 687.599 599.717 719.755 Y b 184.4 697.4 m 159.4 736.8 173.8 680.399 Y 182.6 645.999 312.2 683.599 y 481.001 714 492.201 718 v 503.401 722 598.601 715.6 y 593.001 732.4 L 528.201 778.8 509.001 755.6 495.401 759.6 c 481.801 763.6 484.201 754 481.001 753.2 c 477.801 752.4 438.601 777.2 432.201 776.4 c 425.801 775.6 400.459 799.351 415.401 767.6 c 431.401 733.6 357 728.4 340.2 739.6 c 323.4 750.8 347.4 721.2 Y 365.8 701.2 331.4 718 y 297 730.8 273 705.2 269.8 704.4 c 266.6 703.6 261.8 700.4 261 706.8 c 260.2 713.2 252.69 729.901 221 703.6 c 201 686.999 187.2 709 Y 184.4 697.4 L f 0.09 0.5 0.772 0 k 433.51 774.654 m 427.11 773.854 401.743 797.593 416.71 765.854 c 433.31 730.654 358.31 726.654 341.51 737.854 c 324.709 749.054 348.71 719.454 Y 367.11 699.454 332.709 716.254 y 298.309 729.054 274.309 703.454 271.109 702.654 c 267.909 701.854 263.109 698.654 262.309 705.054 c 261.509 711.454 254.13 727.988 222.309 701.854 c 201.073 684.508 187.582 705.963 Y 184.382 695.854 L 159.382 735.654 174.454 677.345 Y 183.255 642.944 313.509 681.854 y 482.31 712.254 493.51 716.254 v 504.71 720.254 599.038 713.927 y 593.51 731.236 L 528.71 777.636 510.31 753.854 496.71 757.854 c 483.11 761.854 485.51 752.254 482.31 751.454 c 479.11 750.654 439.91 775.454 433.51 774.654 c f 0.081 0.45 0.695 0 k 434.819 772.909 m 428.419 772.109 403.685 796.138 418.019 764.109 c 434.219 727.908 359.619 724.908 342.819 736.108 c 326.019 747.308 350.019 717.708 Y 368.419 697.708 334.019 714.508 y 299.619 727.308 275.618 701.708 272.418 700.908 c 269.218 700.108 264.418 696.908 263.618 703.308 c 262.818 709.708 255.57 726.075 223.618 700.108 c 201.145 682.017 187.964 702.926 Y 184.364 694.308 L 160.564 733.308 175.109 674.29 Y 183.909 639.89 314.819 680.108 y 483.619 710.508 494.819 714.508 v 506.019 718.508 599.474 712.254 y 594.02 730.072 L 529.219 776.472 511.619 752.109 498.019 756.109 c 484.419 760.109 486.819 750.509 483.619 749.708 c 480.419 748.908 441.219 773.709 434.819 772.909 c f 0.072 0.4 0.618 0 k 436.128 771.163 m 429.728 770.363 404.999 794.395 419.328 762.363 c 436.128 724.807 360.394 723.518 344.128 734.363 c 327.328 745.563 351.328 715.963 Y 369.728 695.963 335.328 712.763 y 300.928 725.563 276.928 699.963 273.728 699.163 c 270.528 698.363 265.728 695.163 264.928 701.563 c 264.128 707.963 257.011 724.161 224.927 698.363 c 201.218 679.526 188.345 699.89 Y 184.345 692.763 L 162.545 729.563 175.764 671.235 Y 184.564 636.835 316.128 678.363 y 484.928 708.763 496.129 712.763 v 507.329 716.763 599.911 710.581 y 594.529 728.908 L 529.729 775.309 512.929 750.363 499.329 754.363 c 485.728 758.363 488.128 748.763 484.928 747.963 c 481.728 747.163 442.528 771.963 436.128 771.163 c f 0.063 0.35 0.54 0 k 437.438 769.417 m 431.037 768.617 406.814 792.871 420.637 760.617 c 437.438 721.417 362.237 721.417 345.437 732.617 c 328.637 743.817 352.637 714.217 Y 371.037 694.217 336.637 711.017 y 302.237 723.817 278.237 698.217 275.037 697.417 c 271.837 696.617 267.037 693.417 266.237 699.817 c 265.437 706.217 258.452 722.248 226.237 696.617 c 201.291 677.035 188.727 696.854 Y 184.327 691.217 L 164.527 726.018 176.418 668.181 Y 185.218 633.78 317.437 676.617 y 486.238 707.017 497.438 711.017 v 508.638 715.017 600.347 708.908 y 595.038 727.745 L 530.238 774.145 514.238 748.617 500.638 752.617 c 487.038 756.617 489.438 747.017 486.238 746.217 c 483.038 745.417 443.838 770.217 437.438 769.417 c f 0.054 0.3 0.463 0 k 438.747 767.672 m 432.347 766.872 406.383 790.323 421.947 758.872 c 441.147 720.072 363.546 719.672 346.746 730.872 c 329.946 742.072 353.946 712.472 Y 372.346 692.472 337.946 709.272 y 303.546 722.072 279.546 696.472 276.346 695.672 c 273.146 694.872 268.346 691.672 267.546 698.072 c 266.746 704.472 259.892 720.335 227.546 694.872 c 201.364 674.544 189.109 693.817 Y 184.309 689.672 L 166.309 722.872 177.073 665.126 Y 185.873 630.726 318.746 674.872 y 487.547 705.272 498.747 709.272 v 509.947 713.272 600.783 707.236 y 595.547 726.581 L 530.747 772.981 515.547 746.872 501.947 750.872 c 488.347 754.872 490.747 745.272 487.547 744.472 c 484.347 743.672 445.147 768.472 438.747 767.672 c f 0.045 0.25 0.386 0 k 440.056 765.927 m 433.655 765.127 407.313 788.387 423.255 757.127 c 443.656 717.126 364.855 717.926 348.055 729.126 c 331.255 740.326 355.255 710.726 Y 373.655 690.726 339.255 707.526 y 304.855 720.326 280.855 694.726 277.655 693.926 c 274.455 693.126 269.655 689.926 268.855 696.326 c 268.055 702.726 261.332 718.422 228.855 693.126 c 201.436 672.053 189.491 690.781 Y 184.291 688.126 L 168.291 718.326 177.727 662.071 Y 186.527 627.671 320.055 673.126 y 488.856 703.526 500.056 707.526 v 511.256 711.526 601.22 705.563 y 596.056 725.417 L 531.256 771.817 516.856 745.126 503.256 749.126 c 489.656 753.127 492.056 743.526 488.856 742.726 c 485.656 741.926 446.456 766.727 440.056 765.927 c f 0.036 0.2 0.309 0 k 441.365 764.181 m 434.965 763.381 407.523 786.056 424.565 755.381 c 446.565 715.781 366.164 716.181 349.364 727.381 c 332.564 738.581 356.564 708.981 Y 374.964 688.981 340.564 705.781 y 306.164 718.581 282.164 692.981 278.964 692.181 c 275.764 691.381 270.964 688.181 270.164 694.581 c 269.364 700.981 262.773 716.508 230.164 691.381 c 201.509 669.562 189.873 687.744 Y 184.273 686.581 L 169.872 714.981 178.382 659.017 Y 187.182 624.616 321.364 671.381 y 490.165 701.781 501.365 705.781 v 512.565 709.781 601.656 703.89 y 596.565 724.254 L 531.765 770.654 518.165 743.381 504.565 747.381 c 490.965 751.381 493.365 741.781 490.165 740.981 c 486.965 740.181 447.765 764.981 441.365 764.181 c f 0.027 0.15 0.231 0 k 442.674 762.435 m 436.274 761.635 408.832 784.311 425.874 753.635 c 447.874 714.035 367.474 714.435 350.674 725.635 c 333.874 736.835 357.874 707.235 Y 376.274 687.235 341.874 704.035 y 307.473 716.835 283.473 691.235 280.273 690.435 c 277.073 689.635 272.273 686.435 271.473 692.835 c 270.673 699.235 264.214 714.595 231.473 689.635 c 201.582 667.071 190.255 684.707 Y 184.255 685.035 L 170.654 711.436 179.037 655.962 Y 187.837 621.562 322.673 669.635 y 491.474 700.035 502.674 704.035 v 513.874 708.035 602.093 702.217 y 597.075 723.09 L 532.274 769.49 519.474 741.635 505.874 745.635 c 492.274 749.635 494.674 740.035 491.474 739.235 c 488.274 738.435 449.074 763.235 442.674 762.435 c f 0.018 0.1 0.154 0 k 443.983 760.69 m 437.583 759.89 410.529 782.777 427.183 751.89 c 449.183 711.09 368.783 712.69 351.983 723.89 c 335.183 735.09 359.183 705.49 Y 377.583 685.49 343.183 702.29 y 308.783 715.09 284.783 689.49 281.583 688.69 c 278.382 687.89 273.582 684.69 272.782 691.09 c 271.982 697.49 265.654 712.682 232.782 687.89 c 201.655 664.58 190.637 681.671 Y 184.236 683.49 L 171.236 707.49 179.691 652.907 Y 188.491 618.507 323.983 667.89 y 492.783 698.29 503.983 702.29 v 515.183 706.29 602.529 700.544 y 597.583 721.926 L 532.783 768.327 520.783 739.89 507.183 743.89 c 493.583 747.89 495.983 738.29 492.783 737.49 c 489.583 736.69 450.383 761.49 443.983 760.69 c f 0.009 0.05 0.077 0 k 445.292 758.945 m 438.892 758.145 412.917 781.589 428.492 750.145 c 449.692 707.344 370.092 710.944 353.292 722.144 c 336.492 733.344 360.492 703.744 Y 378.892 683.744 344.492 700.544 y 310.092 713.344 286.092 687.744 282.892 686.944 c 279.692 686.144 274.892 682.944 274.092 689.344 c 273.292 695.744 267.095 710.768 234.092 686.144 c 201.727 662.089 191.018 678.635 Y 184.218 681.944 L 171.418 705.144 180.346 649.853 Y 189.146 615.453 325.292 666.144 y 494.093 696.544 505.293 700.544 v 516.493 704.544 602.965 698.872 y 598.093 720.763 L 533.292 767.163 522.093 738.144 508.493 742.144 c 494.893 746.145 497.293 736.544 494.093 735.744 c 490.892 734.944 451.692 759.745 445.292 758.945 c f 1 g 184.2 680.399 m 171.4 702.4 181 646.799 Y 189.8 612.399 326.6 664.399 y 495.401 694.8 506.601 698.8 v 517.801 702.8 603.401 697.2 y 598.601 719.6 L 533.801 766 523.401 736.4 509.801 740.4 c 496.201 744.4 498.601 734.8 495.401 734 c 492.201 733.2 453.001 758 446.601 757.2 c 440.201 756.4 414.981 780.207 429.801 748.4 c 452.028 700.693 369.041 710.773 354.6 720.4 c 337.8 731.6 361.8 702 Y 380.2 681.999 345.8 698.8 y 311.4 711.6 287.4 685.999 284.2 685.199 c 281 684.399 276.2 681.199 275.4 687.599 c 274.6 694 268.535 708.856 235.4 684.399 c 201.8 659.599 191.4 675.599 Y 184.2 680.399 L f 0 g 225.8 650.399 m 218.6 638.799 239.4 625.599 V 240.8 624.199 222.8 628.399 V 216.6 630.399 215 640.799 V 210.2 645.199 205.4 650.799 v 200.6 656.399 225.8 650.399 y f 0.8 g 365.8 698 m 383.498 671.179 382.9 666.399 v 381.6 655.999 381.4 646.399 384.6 642.399 c 387.801 638.399 396.601 605.199 y 396.201 603.999 408.601 641.999 V 420.201 657.999 400.201 676.399 V 365 705.2 365.8 698 v f 0 g 1 J 0.1 w 245.8 623.599 m 257 616.399 242.6 585.199 V 249 587.599 l 248.2 576.399 245 573.999 V 252.2 577.199 l 257 569.199 253 564.399 V 269.8 556.399 269 549.999 V 275.4 557.999 271.4 564.399 v 267.4 570.799 260.2 566.799 261 585.199 C 252.2 581.999 l 257.8 590.799 257.8 597.199 V 249.8 594.799 l 265.269 621.377 254.6 622.799 v 248.6 623.599 245.8 623.599 Y f 0.8 g 278.2 606.799 m 281 611.199 278.2 610.399 v 275.4 609.599 244.2 594.799 238.2 585.199 C 272.6 609.599 278.2 606.799 V f 288.6 598.799 m 291.4 603.199 288.6 602.399 v 285.8 601.599 254.6 586.799 248.6 577.199 C 283 601.599 288.6 598.799 V f 301.8 613.999 m 304.6 618.399 301.8 617.599 v 299 616.799 267.8 601.999 261.8 592.399 C 296.2 616.799 301.8 613.999 V f 278.6 570.399 m 278.6 576.399 275.8 575.599 v 273 574.799 237 557.199 231 547.599 C 273 573.199 278.6 570.399 V f 279.8 581.199 m 281 585.999 278.2 585.199 V 276.2 585.199 249.8 573.599 243.8 563.999 C 273.4 585.599 279.8 581.199 V f 265.4 533.599 m 255.4 525.999 l 265.8 533.599 269.4 532.399 V 262.6 521.199 261.8 515.999 V 272.2 528.799 277.8 528.399 V 285.4 527.999 285.4 517.199 V 291 527.599 294.2 527.199 V 295.4 520.799 294.2 513.999 V 298.2 521.599 302.2 519.999 V 308.6 521.999 307.8 510.399 V 307.8 499.999 307 497.199 V 312.6 523.599 315 523.999 V 323 525.199 327.8 516.399 V 323.8 523.999 328.6 521.999 V 339.4 520.399 342.6 513.599 V 335.8 525.599 341.4 522.399 V 348.2 522.399 349.4 515.999 V 357.8 494.799 359.8 493.199 V 352.2 514.799 353.8 514.799 V 351.8 526.799 357 511.999 V 353.8 525.999 359.4 525.199 v 365 524.399 369.4 514.399 377.8 516.799 C 387.401 511.199 389.401 580.399 V 265.4 533.599 L f 0 g 0 J 1 w 270.2 626.399 m 285 632.399 325 626.399 V 332.2 625.999 339 634.799 v 345.8 643.599 372.6 650.799 379 648.799 C 388.601 642.399 l 389.401 641.199 l 401.801 630.799 402.201 623.199 v 402.601 615.599 387.801 567.599 378.2 551.599 c 368.6 535.599 359 523.199 339.8 525.599 C 319 529.599 293.4 525.599 v 264.2 527.199 261.4 535.199 v 258.6 543.199 272.6 558.399 y 277 566.799 275.8 581.199 v 274.6 595.599 275 623.599 270.2 626.399 c f 0.1 0.6 0.45 0 k 292.2 624.399 m 300.6 605.999 271 540.799 y 269 539.199 283.66 533.154 293.8 535.599 c 304.746 538.237 345 533.999 Y 368.6 549.599 381.4 593.999 y 391.801 617.999 374.2 621.199 v 356.6 624.399 292.2 624.399 y f 0.1 0.6 0.45 0.2 k 290.169 593.503 m 293.495 606.293 295.079 618.094 292.2 624.399 c 354.6 617.999 365.8 638.799 v 370.041 646.674 384.801 615.999 384.4 606.399 c 321.4 591.999 306.6 603.199 V 290.169 593.503 L f 0.1 0.6 0.45 0.25 k 294.6 577.199 m 296.6 569.999 294.2 565.999 V 292.6 565.199 291.4 564.799 V 292.6 561.199 298.6 559.599 V 300.6 555.199 303 554.799 v 305.4 554.399 310.2 548.799 314.2 549.999 c 318.2 551.199 329.4 555.199 y 335 558.399 343.8 554.799 V 346.175 555.601 346.6 559.599 v 347.1 564.299 350.2 567.999 352.2 569.999 c 354.2 571.999 363.8 584.799 362.6 585.199 c 361.4 585.599 294.6 577.199 Y f 0 0.55 0.5 0 k 290.2 625.599 m 287.4 603.199 290.6 594.799 v 293.8 586.399 293 584.399 292.2 580.399 c 291.4 576.399 295.8 566.399 301.4 560.399 C 313.4 558.799 l 328.6 562.399 337.8 559.599 V 346.794 558.256 350.2 573.199 V 355 579.599 362.2 582.399 v 369.4 585.199 376.6 626.799 372.6 634.799 c 368.6 642.799 354.2 647.199 338.2 631.599 c 322.2 615.999 320.2 632.799 290.2 625.599 C b 0 0 0.2 0 k 0.5 w 291.8 550.799 m 291 552.799 286.6 553.199 V 264.2 556.799 255.8 569.199 V 249 574.799 253.4 563.199 V 263.8 542.799 270.6 539.999 V 287 535.999 291.8 550.799 V b 0 0.55 0.5 0.2 k 1 w 371.742 614.771 m 372.401 622.677 374.354 631.291 372.6 634.799 c 366.154 647.693 349.181 642.305 338.2 631.599 c 322.2 615.999 320.2 632.799 290.2 625.599 C 288.455 611.636 289.295 601.624 v 326.6 613.199 327.4 607.599 V 329 610.799 338.2 610.799 v 347.4 610.799 370.142 611.971 371.742 614.771 C f 0 g 0 0.55 0.5 0.35 K 2 w 328.6 624.799 m 333.4 619.999 329.8 610.399 V 315.4 594.399 317.4 580.399 v S 0 0 0.2 0 k 0 G 0.5 w 280.6 539.999 m 276.2 552.799 285 545.999 V 289.8 543.999 288.6 542.399 v 287.4 540.799 281.8 536.799 280.6 539.999 C b 285.64 538.799 m 282.12 549.039 289.16 543.599 V 293.581 541.151 292.04 540.719 v 287.48 539.439 292.04 536.879 285.64 538.799 C b 290.44 538.799 m 286.92 549.039 293.96 543.599 V 298.335 541.289 296.84 540.719 v 293.48 539.439 296.84 536.879 290.44 538.799 C b 297.04 538.599 m 293.52 548.839 300.56 543.399 V 304.943 541.067 303.441 540.519 v 300.48 539.439 303.441 536.679 297.04 538.599 C b 303.52 538.679 m 300 548.919 307.041 543.479 V 310.881 541.879 309.921 540.599 v 308.961 539.319 309.921 536.759 303.52 538.679 C b 310.2 537.999 m 305.4 550.399 314.6 543.999 V 319.4 541.999 318.2 540.399 v 317 538.799 318.2 535.599 310.2 537.999 C b 0 g 0.1 0.6 0.45 0.25 K 2 w 281.8 555.199 m 295 557.999 301 554.799 V 307 553.599 308.2 553.999 v 309.4 554.399 312.6 554.799 y S 315.8 546.399 m 327.8 559.999 339.8 555.599 v 346.816 553.026 345.8 556.399 346.6 559.199 c 347.4 561.999 347.6 566.199 352.6 569.199 c S 0 0 0.2 0 k 0 G 0.5 w 333 562.399 m 329 573.199 326.2 560.399 v 323.4 547.599 320.2 543.999 318.6 541.199 C 318.6 535.999 327 536.399 V 337.8 536.799 338.2 539.599 v 338.6 542.399 337 553.999 333 562.399 C b 0 g 0.1 0.6 0.45 0.25 K 2 w 347 555.199 m 350.6 557.599 353 556.399 v S 353.5 571.599 m 356.4 576.499 361.2 577.299 v S 0.7 g 0 G 1 w 274.2 534.799 m 292.2 531.599 296.6 533.199 V 305.4 533.199 297 531.199 V 284.2 531.199 276.2 532.399 V 264.6 537.999 274.2 534.799 V f 0 0 0.2 0 k 0.5 w 288.2 627.999 m 305.8 627.999 307.8 627.199 V 315 596.399 311.4 588.799 V 310.2 585.999 307.4 591.599 V 289 624.399 285.8 626.399 v 282.6 628.399 287 627.999 288.2 627.999 C b 211.1 630.699 m 220 628.999 232.6 626.399 V 237.4 603.999 240.6 599.199 v 243.8 594.399 240.2 594.399 236.6 597.199 c 233 599.999 218.2 613.999 216.2 618.399 c 214.2 622.799 211.1 630.699 y b 232.961 626.182 m 238.761 624.634 239.77 622.419 v 240.778 620.205 238.568 616.908 y 237.568 613.603 236.366 615.765 v 235.164 617.928 232.292 625.588 232.961 626.182 c b 0 g 233 626.399 m 236.6 621.199 240.2 621.199 v 243.8 621.199 244.182 621.612 247 620.999 c 251.6 619.999 251.2 621.999 257.8 620.799 c 260.44 620.319 263 621.199 265.8 619.999 c 268.6 618.799 271.8 619.599 273 621.599 c 274.2 623.599 279 627.799 Y 266.2 625.999 263.4 625.199 V 241 623.999 233 626.399 V f 0 0 0.2 0 k 277.6 626.199 m 271.15 622.699 270.75 620.299 v 270.35 617.899 276 614.199 y 278.75 609.599 279.35 611.999 v 279.95 614.399 278.4 625.799 277.6 626.199 c b 240.115 620.735 m 247.122 609.547 247.339 620.758 V 247.896 622.016 246.136 622.038 v 240.061 622.114 241.582 626.216 240.115 620.735 C b 247.293 620.486 m 255.214 609.299 254.578 620.579 V 254.585 620.911 252.832 621.064 v 248.085 621.478 248.43 625.996 247.293 620.486 C b 254.506 620.478 m 262.466 609.85 261.797 619.516 V 261.916 620.749 260.262 621.05 v 256.37 621.756 256.159 625.005 254.506 620.478 C b 261.382 620.398 m 269.282 608.837 269.63 618.618 V 271.274 619.996 269.528 620.218 v 263.71 620.958 264.508 625.412 261.382 620.398 C b 0 0 0.2 0.1 k 225.208 616.868 m 217.55 618.399 l 214.95 623.399 212.85 629.549 y 219.2 628.549 231.7 625.749 V 232.576 622.431 234.048 616.636 v 225.208 616.868 l f 290.276 621.53 m 288.61 624.036 287.293 625.794 286.643 626.2 c 283.63 628.083 287.773 627.706 288.902 627.706 C 305.473 627.706 307.356 626.953 V 307.88 624.711 308.564 621.32 V 298.476 623.33 290.276 621.53 V f 0.2 0.55 0.85 0 k 1 w 343.88 759.679 m 371.601 755.719 397.121 791.359 398.881 801.04 c 400.641 810.72 390.521 822.6 Y 391.841 825.68 387.001 839.76 381.721 849 c 376.441 858.24 360.54 857.266 343 858.24 c 327.16 859.12 308.68 835.8 307.36 834.04 c 306.04 832.28 312.2 793.999 313.52 788.279 c 314.84 782.559 312.2 756.159 y 346.44 765.259 316.16 763.639 343.88 759.679 c f 0.08 0.44 0.68 0 k 308.088 833.392 m 306.792 831.664 312.84 794.079 314.136 788.463 c 315.432 782.847 312.84 756.927 y 345.512 765.807 316.728 764.271 343.944 760.383 c 371.161 756.495 396.217 791.487 397.945 800.992 c 399.673 810.496 389.737 822.16 Y 391.033 825.184 386.281 839.008 381.097 848.08 c 375.913 857.152 360.302 856.195 343.08 857.152 c 327.528 858.016 309.384 835.12 308.088 833.392 c f 0.06 0.33 0.51 0 k 308.816 832.744 m 307.544 831.048 313.48 794.159 314.752 788.647 c 316.024 783.135 313.48 757.695 y 344.884 766.855 317.296 764.903 344.008 761.087 c 370.721 757.271 395.313 791.615 397.009 800.944 c 398.705 810.272 388.953 821.72 Y 390.225 824.688 385.561 838.256 380.473 847.16 c 375.385 856.064 360.063 855.125 343.16 856.064 c 327.896 856.912 310.088 834.44 308.816 832.744 c f 0.04 0.22 0.34 0 k 309.544 832.096 m 308.296 830.432 314.12 794.239 315.368 788.831 c 316.616 783.423 314.12 758.463 y 343.556 767.503 317.864 765.535 344.072 761.791 c 370.281 758.047 394.409 791.743 396.073 800.895 c 397.737 810.048 388.169 821.28 Y 389.417 824.192 384.841 837.504 379.849 846.24 c 374.857 854.976 359.824 854.055 343.24 854.976 c 328.264 855.808 310.792 833.76 309.544 832.096 c f 0.02 0.11 0.17 0 k 310.272 831.448 m 309.048 829.816 314.76 794.319 315.984 789.015 c 317.208 783.711 314.76 759.231 y 342.628 768.151 318.432 766.167 344.136 762.495 c 369.841 758.823 393.505 791.871 395.137 800.848 c 396.769 809.824 387.385 820.84 Y 388.609 823.696 384.121 836.752 379.225 845.32 c 374.329 853.888 359.585 852.985 343.32 853.888 c 328.632 854.704 311.496 833.08 310.272 831.448 c f 1 g 344.2 763.2 m 369.4 759.6 392.601 792 394.201 800.8 c 395.801 809.6 386.601 820.4 Y 387.801 823.2 383.4 836 378.6 844.4 c 373.8 852.8 359.346 851.914 343.4 852.8 c 329 853.6 312.2 832.4 311 830.8 c 309.8 829.2 315.4 794.4 316.6 789.2 c 317.8 784 315.4 760 y 340.9 768.6 319 766.8 344.2 763.2 c f 0.8 g 390.601 797.2 m 362.8 789.6 351.2 791.2 V 335.4 797.8 326.6 776 V 323 768.8 321 766.8 v 319 764.8 390.601 797.2 Y f 0 g 394.401 799.4 m 365.4 787.2 355.4 787.6 v 339 792.2 330.6 777.6 V 322.2 768.4 319 766.8 V 318.6 765.2 325 769.2 V 335.4 764 l 350.2 754.4 359.8 770.4 V 363.8 781.6 363.8 783.6 v 363.8 785.6 385 791.2 386.601 791.6 c 388.201 792 394.801 796.2 394.401 799.4 C f 0.4 0.2 0.8 0 k 347 763.486 m 340.128 763.486 331.755 767.351 331.755 773.6 c 331.755 779.848 340.128 786.113 347 786.113 c 353.874 786.113 359.446 781.048 359.446 774.8 c 359.446 768.551 353.874 763.486 347 763.486 c f 0.4 0.2 0.8 0.2 k 343.377 780.17 m 338.531 779.448 333.442 777.945 333.514 778.161 c 335.054 782.78 341.415 786.113 347 786.113 c 351.296 786.113 355.084 784.135 357.32 781.125 c 352.004 781.455 343.377 780.17 v f 1 g 355.4 780.4 m 351 783.6 351 781.4 V 354.6 777 355.4 780.4 V f 0 g 345.4 772.274 m 342.901 772.274 340.875 774.3 340.875 776.8 c 340.875 779.299 342.901 781.325 345.4 781.325 c 347.9 781.325 349.926 779.299 349.926 776.8 c 349.926 774.3 347.9 772.274 345.4 772.274 c f 0.2 0.55 0.85 0 k 241.4 785.6 m 238.2 806.8 240.6 811.2 V 251.4 821.2 251 824.8 V 250.6 842.8 249.4 843.6 v 248.2 844.4 240.6 850.4 234.6 844 C 224.2 826 225 819.6 V 225 817.6 l 217.4 818 215.8 816 V 214.6 810.8 213.4 810.4 V 210.6 808 212.6 805.2 V 210.6 802.8 211 798.8 V 218.6 794.8 L 220.6 780.4 231.4 775.2 v 236.236 772.871 239.4 779.6 241.4 785.6 c f 1 g 240.4 787.44 m 237.52 806.52 239.68 810.48 V 249.4 819.48 249.04 822.72 V 248.68 838.92 247.6 839.64 v 246.52 840.36 239.68 845.76 234.28 840 C 224.92 823.8 225.64 818.04 V 225.64 816.24 l 218.8 816.6 217.36 814.8 V 216.28 810.12 215.2 809.76 V 212.68 807.6 214.48 805.08 V 212.68 802.92 213.04 799.32 V 219.88 795.72 L 221.68 782.76 231.4 778.08 v 235.752 775.985 238.6 782.04 240.4 787.44 c f 0.075 0.412 0.637 0 k 248.95 842.61 m 247.86 843.47 240.37 849.24 234.52 843 C 224.38 825.45 225.16 819.21 V 225.16 817.26 l 217.75 817.65 216.19 815.7 V 215.02 810.63 213.85 810.24 V 211.12 807.9 213.07 805.17 V 211.12 802.83 211.51 798.93 V 218.92 795.03 L 220.87 780.99 231.4 775.92 v 236.114 773.65 239.2 780.21 241.15 786.06 c 238.03 806.73 240.37 811.02 V 250.9 820.77 250.51 824.28 V 250.12 841.83 248.95 842.61 V f 0.05 0.275 0.425 0 k 248.5 841.62 m 247.52 842.54 240.14 848.08 234.44 842 C 224.56 824.9 225.32 818.82 V 225.32 816.92 l 218.1 817.3 216.58 815.4 V 215.44 810.46 214.3 810.08 V 211.64 807.8 213.54 805.14 V 211.64 802.86 212.02 799.06 V 219.24 795.26 L 221.14 781.58 231.4 776.64 v 235.994 774.428 239 780.82 240.9 786.52 c 237.86 806.66 240.14 810.84 V 250.4 820.34 250.02 823.76 V 249.64 840.86 248.5 841.62 V f 0.025 0.137 0.212 0 k 248.05 840.63 m 247.18 841.61 239.91 846.92 234.36 841 C 224.74 824.35 225.48 818.43 V 225.48 816.58 l 218.45 816.95 216.97 815.1 V 215.86 810.29 214.75 809.92 V 212.16 807.7 214.01 805.11 V 212.16 802.89 212.53 799.19 V 219.56 795.49 L 221.41 782.17 231.4 777.36 v 235.873 775.206 238.8 781.43 240.65 786.98 c 237.69 806.59 239.91 810.66 V 249.9 819.91 249.53 823.24 V 249.16 839.89 248.05 840.63 V f 1 g 240.4 787.54 m 237.52 806.52 239.68 810.48 V 249.4 819.48 249.04 822.72 V 248.68 838.92 247.6 839.64 V 246.84 840.68 239.68 845.76 234.28 840 C 224.92 823.8 225.64 818.04 V 225.64 816.24 l 218.8 816.6 217.36 814.8 V 216.28 810.12 215.2 809.76 V 212.68 807.6 214.48 805.08 V 212.68 802.92 213.04 799.32 V 219.88 795.72 L 221.68 782.76 231.4 778.08 v 235.752 775.985 238.6 782.14 240.4 787.54 c f 0.8 g 237.3 793.8 m 215.7 804 214.8 804.8 V 223.9 796.6 224.7 796.6 v 225.5 796.6 237.3 793.8 Y f 0 g 220.2 800 m 238.6 796.4 238.6 792 v 238.6 789.088 238.357 775.669 233 777.2 c 224.6 779.6 228.2 794 220.2 800 c f 0.4 0.2 0.8 0 k 228.6 796.2 m 237.578 794.726 238.6 792 v 239.2 790.4 239.863 782.092 234.4 781 c 229.848 780.089 227.618 790.31 228.6 796.2 c f 0 g 314.595 753.651 m 314.098 755.393 315.409 755.262 317.2 755.8 c 319.2 756.4 331.4 760.2 332.2 762.8 c 333 765.4 346.2 761 Y 348 760.2 352.4 757.6 Y 357.2 756.4 363.8 756 Y 366.2 755 369.6 752.2 Y 384.2 742 396.601 749.2 Y 416.601 755.8 410.601 773 Y 407.601 782 410.801 785.4 Y 411.001 789.2 418.201 782.8 Y 420.801 778.6 421.601 773.6 Y 429.601 762.4 426.201 780.2 Y 426.401 781.2 423.601 784.8 423.601 786 c 423.601 787.2 421.801 790.6 Y 418.801 794 421.201 801 Y 423.001 814.8 420.801 813 Y 419.601 814.8 410.401 804.8 Y 408.201 801.4 402.201 799.8 Y 399.401 798 396.001 799.4 Y 393.401 799.8 387.801 792.8 Y 390.601 793 393.001 788.6 395.401 788.4 c 397.801 788.2 399.601 790.8 401.201 791.4 c 402.801 792 405.601 786.2 Y 406.001 783.6 400.401 778.8 Y 400.001 774.2 398.401 775.8 Y 395.401 776.4 394.201 772.6 393.201 768 c 392.201 763.4 388.001 763 y 386.401 755.6 385.2 758.6 Y 385 764.2 379 758.4 Y 377.8 756.4 373.2 758.6 Y 366.4 760.6 368.8 762.6 Y 370.6 764.8 381.8 762.6 Y 384 764.2 376 768.2 Y 375.4 770 376.4 774.4 Y 377.6 777.6 384.4 783.2 Y 393.801 784.4 391.001 786 Y 384.801 791.2 379 783.6 Y 376.8 777.4 359.4 762.4 Y 354.6 759 357.2 765.8 353.2 762.4 c 349.2 759 328.6 768 y 317.038 769.193 314.306 753.451 310.777 756.571 c 316.195 748.051 314.595 753.651 v f 509.401 920 m 483.801 912 481.001 893.2 V 478.601 870.4 499.001 852.8 V 499.401 846.4 501.401 843.2 v 499.801 838.4 518.601 846 V 545.801 854.4 l 552.201 856.8 557.401 865.6 v 562.601 874.4 577.801 893.2 574.201 918.4 C 575.401 929.6 569.401 930 V 561.001 931.6 553.801 924 V 547.001 920.8 544.601 921.2 V 509.401 920 L f 564.022 920.99 m 566.122 929.92 561.282 925.08 V 554.242 919.36 546.761 919.36 V 532.241 917.16 527.841 903.96 V 523.881 877.12 531.801 871.4 V 536.641 863.92 543.681 870.52 v 550.722 877.12 566.222 907.35 564.022 920.99 C f 0.2 g 563.648 920.632 m 565.738 929.376 560.986 924.624 V 554.074 919.008 546.729 919.008 V 532.473 916.848 528.153 903.888 V 524.265 877.536 532.041 871.92 V 536.793 864.576 543.705 871.056 v 550.618 877.536 565.808 907.24 563.648 920.632 C f 0.4 g 563.274 920.274 m 565.354 928.832 560.69 924.168 V 553.906 918.656 546.697 918.656 V 532.705 916.536 528.465 903.816 V 524.649 877.952 532.281 872.44 V 536.945 865.232 543.729 871.592 v 550.514 877.952 565.394 907.13 563.274 920.274 C f 0.6 g 562.9 919.916 m 564.97 928.288 560.394 923.712 V 553.738 918.304 546.665 918.304 V 532.937 916.224 528.777 903.744 V 525.033 878.368 532.521 872.96 V 537.097 865.888 543.753 872.128 v 550.41 878.368 564.98 907.02 562.9 919.916 C f 0.8 g 562.526 919.558 m 564.586 927.744 560.098 923.256 V 553.569 917.952 546.633 917.952 V 533.169 915.912 529.089 903.672 V 525.417 878.784 532.761 873.48 V 537.249 866.544 543.777 872.664 v 550.305 878.784 564.566 906.91 562.526 919.558 C f 1 g 562.151 919.2 m 564.201 927.2 559.801 922.8 V 553.401 917.6 546.601 917.6 V 533.401 915.6 529.401 903.6 V 525.801 879.2 533.001 874 V 537.401 867.2 543.801 873.2 v 550.201 879.2 564.151 906.8 562.151 919.2 C f 0.1 0.55 0.85 0.3 k 350.6 716 m 330.2 735.2 322.2 736 V 287.8 740 273 722 V 290.6 742.4 318.2 736.8 V 296.6 741.2 284.2 738 V 267.4 738 257.8 724 V 255 719.2 l 259 734 277.4 740 V 300.2 744.8 311 740 V 289.4 746.8 279.4 744.8 V 249 747.2 236.2 720.8 V 240.2 735.2 255 742.4 V 268.6 751.2 289 748.4 V 303.4 745.2 308.6 742.8 v 313.8 740.4 312.6 743.2 304.2 748 C 298.6 758 284.6 757.6 V 241.8 754 231.4 742 V 245 753.2 255.4 756 V 277.8 764 286.2 763.2 V 311 762.2 318.6 766.2 V 307.4 761.2 310.6 758 v 313.8 754.8 320.6 747.2 320.6 746 c 320.6 744.8 344.8 722.7 348.4 718.3 C 350.6 716 l f 0.8 g 1 J 0.1 w 489 522 m 473.5 558.5 461 568 V 487 552 490.5 534 V 490.5 524 489 522 V f 536 514.5 m 509.5 569.5 491 593.5 V 534.5 556 539.5 529.5 V 540 524 l 537 526.5 l 536.5 517.5 536 514.5 V f 592.5 563 m 530 622.5 528.5 625 V 589 559 592 551.5 V 590 560.5 592.5 563 V f 404 519.5 m 423.5 571.5 442.5 549 V 457.5 539 457 536 V 453 542.5 435 542 V 416 545 404 519.5 V f 594.5 647 m 549.5 675.5 542 677 v 530.193 679.361 591.5 648 596.5 637.5 C 598.5 640 594.5 647 V f 0 g 0 J 1 w 443.801 540.399 m 464.201 542.399 471.001 549.199 V 475.401 545.599 l 493.001 583.999 l 496.601 578.799 l 511.001 593.599 510.201 601.599 v 509.401 609.599 523.001 595.599 y 522.201 607.199 529.401 600.399 V 527.001 615.999 535.401 607.999 V 524.864 638.156 547.401 612.399 v 553.001 605.999 548.601 612.799 y 522.601 660.799 544.201 646.399 v 546.201 669.199 545.001 673.599 v 543.801 677.999 541.801 700.4 537.001 705.6 c 532.201 710.8 537.401 712.4 543.001 707.2 C 531.801 731.2 545.001 719.2 V 541.401 734.4 537.001 737.2 V 531.401 754.4 546.601 743.6 V 542.201 756 539.001 759.2 V 527.401 786.8 534.601 782 V 539.001 778.4 l 532.201 792.4 538.601 788 v 545.001 783.6 545.001 784 y 523.801 817.2 544.201 799.6 V 536.042 813.518 532.601 820.4 V 513.801 840.8 528.201 834.4 V 533.001 832.8 l 524.201 842.8 516.201 844.4 v 508.201 846 518.601 852.4 525.001 850.4 c 531.401 848.4 547.001 840.8 y 559.801 822 563.801 821.6 V 543.801 829.2 549.801 821.2 V 564.201 807.2 557.001 807.6 V 551.001 800.4 555.801 791.6 V 537.342 809.991 552.201 784.4 v 559.001 768 l 534.601 792.8 545.801 770.8 V 563.001 747.2 565.001 746.8 v 567.001 746.4 571.401 737.6 y 567.001 739.6 l 572.201 730.8 l 561.001 742.8 567.001 729.6 V 572.601 715.2 l 552.201 737.2 565.801 707.6 V 549.401 712.8 558.201 695.6 V 556.601 679.599 557.001 674.399 v 557.401 669.199 558.601 640.799 554.201 632.799 c 549.801 624.799 560.201 605.599 562.201 601.599 c 564.201 597.599 567.801 586.799 559.001 595.999 c 550.201 605.199 554.601 599.599 556.601 590.799 c 558.601 581.999 564.601 566.399 563.801 560.799 C 562.601 559.599 559.401 563.199 V 544.601 585.999 546.201 571.599 V 545.001 563.599 541.801 554.799 V 538.601 543.999 538.601 552.799 V 535.401 569.599 532.601 561.999 v 529.801 554.399 526.201 548.399 523.401 545.999 c 520.601 543.599 515.401 566.399 514.201 555.999 C 502.201 568.399 497.401 551.999 V 485.801 535.599 l 485.401 547.999 484.201 541.999 V 454.201 535.999 443.801 540.399 V f 409.401 897.2 m 397.801 905.2 393.801 904.8 v 389.801 904.4 421.401 913.6 462.601 886 C 467.401 883.2 471.001 883.6 V 474.201 881.2 471.401 877.6 V 462.601 868 473.801 856.8 V 492.201 850 486.601 858.8 V 497.401 854.8 499.801 850.8 v 502.201 846.8 501.001 850.8 y 494.601 858 488.601 863.2 V 483.401 865.2 480.601 873.6 v 477.801 882 475.401 892 479.801 895.2 C 475.801 890.8 476.601 894.8 v 477.401 898.8 481.001 902.4 482.601 902.8 c 484.201 903.2 500.601 919 507.401 919.4 C 498.201 918 495.201 919 v 492.201 920 465.601 931.4 459.601 932.6 C 442.801 939.2 454.801 937.2 V 490.601 933.4 508.801 920.2 V 501.601 928.6 483.201 935.6 V 461.001 948.2 425.801 943.2 V 408.001 940 400.201 938.2 V 397.601 938.8 397.001 939.2 v 396.401 939.6 384.6 948.6 357 941.6 C 340 937 331.4 932.2 V 316.2 931 312.6 927.8 V 294 913.2 292 912.4 v 290 911.6 278.6 904 277.8 903.6 C 302.4 910.2 304.8 912.6 v 307.2 915 324.6 917.6 327 916.2 c 329.4 914.8 337.8 915.4 328.2 914.8 C 403.801 900 404.601 898 v 405.401 896 409.401 897.2 y f 0.2 0.55 0.85 0 k 480.801 906.4 m 470.601 913.8 468.601 913.8 v 466.601 913.8 454.201 924 450.001 923.6 c 445.801 923.2 433.601 933.2 406.201 925 C 405.601 927 409.201 927.8 V 415.601 930 416.001 930.6 V 436.201 934.8 443.401 931.2 V 452.601 928.6 458.801 922.4 V 470.001 919.2 473.201 920.2 V 482.001 918 482.401 916.2 V 488.201 913.2 486.401 910.6 V 486.801 909 480.801 906.4 V f 468.33 908.509 m 469.137 907.877 470.156 907.779 470.761 906.97 c 470.995 906.656 470.706 906.33 470.391 906.233 c 469.348 905.916 468.292 906.486 467.15 905.898 c 466.748 905.691 466.106 905.873 465.553 906.022 c 463.921 906.463 462.092 906.488 460.401 905.8 C 458.416 906.929 456.056 906.345 453.975 907.346 c 453.917 907.373 453.695 907.027 453.621 907.054 c 450.575 908.199 446.832 907.916 444.401 910.2 C 441.973 910.612 439.616 911.074 437.188 911.754 c 435.37 912.263 433.961 913.252 432.341 914.084 c 430.964 914.792 429.507 915.314 427.973 915.686 c 426.11 916.138 424.279 916.026 422.386 916.546 c 422.293 916.571 422.101 916.227 422.019 916.254 c 421.695 916.362 421.405 916.945 421.234 916.892 c 419.553 916.37 418.065 917.342 416.401 917 C 415.223 918.224 413.495 917.979 411.949 918.421 c 408.985 919.269 405.831 917.999 402.801 919 C 406.914 920.842 411.601 919.61 415.663 921.679 c 417.991 922.865 420.653 921.763 423.223 922.523 c 423.71 922.667 424.401 922.869 424.801 922.2 C 424.935 922.335 425.117 922.574 425.175 922.546 c 427.625 921.389 429.94 920.115 432.422 919.049 c 432.763 918.903 433.295 919.135 433.547 918.933 c 435.067 917.717 437.01 917.82 438.401 916.6 C 440.099 917.102 441.892 916.722 443.621 917.346 c 443.698 917.373 443.932 917.032 443.965 917.054 c 445.095 917.802 446.25 917.531 447.142 917.227 c 447.48 917.112 448.143 916.865 448.448 916.791 c 449.574 916.515 450.43 916.035 451.609 915.852 c 451.723 915.834 451.908 916.174 451.98 916.146 c 453.103 915.708 454.145 915.764 454.801 914.6 C 454.936 914.735 455.101 914.973 455.183 914.946 c 456.21 914.608 456.859 913.853 457.96 913.612 c 458.445 913.506 459.057 912.88 459.633 912.704 c 462.025 911.973 463.868 910.444 466.062 909.549 c 466.821 909.239 467.697 909.005 468.33 908.509 c f 391.696 922.739 m 389.178 924.464 386.81 925.57 384.368 927.356 c 384.187 927.489 383.827 927.319 383.625 927.441 c 382.618 928.05 381.73 928.631 380.748 929.327 c 380.209 929.709 379.388 929.698 378.88 929.956 c 376.336 931.248 373.707 931.806 371.2 933 C 371.882 933.638 373.004 933.394 373.6 934.2 C 373.795 933.92 374.033 933.636 374.386 933.827 c 376.064 934.731 377.914 934.884 379.59 934.794 c 381.294 934.702 383.014 934.397 384.789 934.125 c 385.096 934.078 385.295 933.555 385.618 933.458 c 387.846 932.795 390.235 933.32 392.354 932.482 c 393.945 931.853 395.515 931.03 396.754 929.755 c 397.006 929.495 396.681 929.194 396.401 929 C 396.789 929.109 397.062 928.903 397.173 928.59 c 397.257 928.351 397.257 928.049 397.173 927.81 c 397.061 927.498 396.782 927.397 396.408 927.346 c 395.001 927.156 396.773 928.536 396.073 928.088 c 394.8 927.274 395.546 925.868 394.801 924.6 C 394.521 924.794 394.291 925.012 394.401 925.4 C 394.635 924.878 394.033 924.588 393.865 924.272 c 393.48 923.547 392.581 922.132 391.696 922.739 c f 359.198 915.391 m 356.044 916.185 352.994 916.07 349.978 917.346 c 349.911 917.374 349.688 917.027 349.624 917.054 c 348.258 917.648 347.34 918.614 346.264 919.66 c 345.351 920.548 343.693 920.161 342.419 920.648 c 342.095 920.772 341.892 921.284 341.591 921.323 c 340.372 921.48 339.445 922.429 338.4 923 C 340.736 923.795 343.147 923.764 345.609 924.148 c 345.722 924.166 345.867 923.845 346 923.845 c 346.136 923.845 346.266 924.066 346.4 924.2 C 346.595 923.92 346.897 923.594 347.154 923.848 c 347.702 924.388 348.258 924.198 348.798 924.158 c 348.942 924.148 349.067 923.845 349.2 923.845 c 349.336 923.845 349.467 924.156 349.6 924.156 c 349.736 924.155 349.867 923.845 350 923.845 c 350.136 923.845 350.266 924.066 350.4 924.2 C 351.092 923.418 351.977 923.972 352.799 923.793 c 353.837 923.566 354.104 922.418 355.178 922.12 c 359.893 920.816 364.03 918.671 368.393 916.584 c 368.7 916.437 368.91 916.189 368.8 915.8 C 369.067 915.8 369.38 915.888 369.57 915.756 c 370.628 915.024 371.669 914.476 372.366 913.378 c 372.582 913.039 372.253 912.632 372.02 912.684 c 367.591 913.679 363.585 914.287 359.198 915.391 c f 345.338 871.179 m 343.746 872.398 343.162 874.429 342.034 876.221 c 341.82 876.561 342.094 876.875 342.411 876.964 c 342.971 877.123 343.514 876.645 343.923 876.443 c 345.668 875.581 347.203 874.339 349.2 874.2 C 351.19 871.966 355.45 871.581 355.457 868.2 c 355.458 867.341 354.03 868.259 353.6 867.4 C 351.149 868.403 348.76 868.3 346.38 869.767 c 345.763 870.148 346.093 870.601 345.338 871.179 c f 317.8 923.756 m 317.935 923.755 324.966 923.522 324.949 923.408 c 324.904 923.099 317.174 922.05 316.81 922.22 c 316.646 922.296 309.134 919.866 309 920 C 309.268 920.135 317.534 923.756 317.8 923.756 c f 0 g 333.2 914 m 318.4 912.2 314 911 v 309.6 909.8 291 902.2 288 900.2 C 274.6 894.8 257.6 874.8 V 265.2 878.2 267.4 881 V 281 893.6 280.8 891 V 293 899.6 292.4 897.4 V 316.8 908.6 314.8 905.4 V 336.4 910 335.4 908 V 354.2 903.6 351.4 903.4 V 345.6 902.2 352 898.6 V 348.6 894.2 343.2 898.2 v 337.8 902.2 340.8 900 335.8 899 C 333.2 898.2 328.6 902.2 V 323 906.8 314.2 903.2 V 283.6 890.6 281.6 890 V 278 887.2 275.6 883.6 V 269.8 879.2 266.8 877.8 V 254 866.2 252.8 864.8 V 249.4 859.6 248.6 859.2 V 255 863 257 865 V 271 875 276.4 875.8 V 280.8 878.8 281.6 880.2 V 296 889.4 300.2 889.4 V 309.4 884.2 311.8 891.2 V 317.6 893 323.2 891.8 V 326.4 894.4 325.6 896.6 V 327.2 898.4 328.2 894.6 V 331.6 891 336.4 893 V 340.4 893.2 338.4 890.8 V 334 887 322.2 886.8 V 309.8 886.2 293.4 878.6 V 263.6 868.2 254.4 857.8 V 248 849 242.6 847.8 V 236.8 847 230.8 839.6 V 240.6 845.4 249.6 845.4 V 253.6 847.8 249.8 844.2 V 246.2 836.6 247.8 831.2 V 247.2 826 246.4 824.4 V 238.6 811.6 238.6 809.2 v 238.6 806.8 239.8 797 240.2 796.4 c 240.6 795.8 239.2 798 243 795.6 c 246.8 793.2 249.6 791.6 250.4 788.8 c 251.2 786 248.4 794.2 248.2 796 c 248 797.8 243.8 805 244.6 807.4 C 245.6 806.4 246.4 805 V 245.8 805.6 246.4 809.2 V 247.2 814.4 248.6 817.6 v 250 820.8 252 824.6 252.4 825.4 c 252.8 826.2 252.8 832 254.2 829.4 C 257.6 826.8 l 254.8 829.4 257 831.6 V 256 837.2 257.8 839.8 V 264.8 848.2 266.4 849.2 v 268 850.2 266.6 849.8 y 272.6 854 266.8 852.4 V 262.8 850.8 259.8 850.8 V 252.2 848.8 256.2 853 v 260.2 857.2 270.2 862.6 274 862.4 C 274.8 860.8 l 286 863.2 l 284.8 862.4 l 284.6 862.6 288.8 863 v 293 863.4 298.8 862 300.2 863.8 c 301.6 865.6 305 866.6 304.6 865.2 c 304.2 863.8 304 861.8 y 309 867.6 308.4 865.4 v 307.8 863.2 299.6 858 298.2 851.8 C 308.6 860 l 312.2 863 l 315.8 860.8 316 862.4 v 316.2 864 320.8 869.8 322 869.6 c 323.2 869.4 325.2 872.2 325 869.6 c 324.8 867 332.4 861.6 y 335.6 863.4 337 862 v 338.4 860.6 342.6 881.8 y 367.6 892.4 l 411.201 895.8 l 394.201 902.6 l 333.2 914 l f 0.2 0.55 0.85 0.5 K 1 J 2 w 351.4 715 m 336.4 731.8 328 734.4 V 314.6 741.2 290 733.4 v S 324.8 735.8 m 299.6 743.8 284.2 739.6 V 265.8 737.6 257.4 723.8 v S 321.2 737 m 304.2 744.2 289.4 746.4 V 272.8 749 256.2 741.8 V 244 735.8 238.6 725.6 v S 322.2 736.6 m 306.8 747.6 305.8 749 V 298.8 760 285.8 760.4 V 264.4 759.6 247.2 751.6 v S 0 G 0 J 1 w 320.895 745.593 m 322.437 744.13 349.4 715.2 Y 384.6 678.599 356.6 712.8 Y 349 717.6 339.8 736.4 Y 338.6 739.2 353.8 729.2 Y 357.8 728.4 371.4 709.2 Y 364.6 711.6 369.4 704.4 Y 372.2 702.4 392.601 686.799 Y 396.201 682.799 400.201 681.199 Y 414.201 686.399 407.801 673.199 Y 410.201 666.399 415.801 677.999 Y 427.001 694.8 410.601 692.399 Y 380.6 689.599 373.8 705.6 Y 371.4 708 380.2 705.6 Y 388.601 703.6 373 718 Y 375.4 718 384.6 711.2 Y 395.001 702 397.001 704 Y 415.001 712.8 425.401 705.2 Y 427.401 703.6 421.801 696.8 423.401 691.599 c 425.001 686.399 429.801 673.999 Y 427.401 672.399 427.801 661.599 Y 444.601 638.399 435.001 640.399 Y 419.401 640.799 434.201 633.199 Y 437.401 631.199 446.201 623.999 Y 443.401 625.199 441.801 619.999 Y 446.601 615.999 443.801 611.199 Y 437.801 609.999 436.601 605.999 Y 443.401 597.999 433.401 597.599 Y 437.001 593.199 432.201 581.199 Y 427.401 581.199 421.001 575.599 Y 423.401 570.799 413.001 565.199 Y 404.601 563.599 407.401 556.799 Y 399.401 550.799 397.001 534.799 Y 396.201 524.399 393.801 521.199 399.001 523.199 c 404.201 525.199 403.401 537.599 Y 398.601 553.199 441.401 569.199 Y 445.401 570.799 446.201 575.999 Y 448.201 575.599 457.001 567.999 Y 464.601 556.799 465.001 565.999 Y 466.201 569.599 464.601 575.599 Y 470.601 597.199 456.601 603.599 Y 446.601 637.199 460.601 628.799 Y 463.401 623.199 474.201 617.999 y 477.801 620.399 L 476.201 625.199 484.601 631.199 Y 487.401 624.799 493.401 632.799 Y 497.001 657.199 509.401 642.799 Y 513.401 641.599 514.601 648.399 Y 518.201 658.799 514.601 672.399 Y 518.201 672.799 527.801 666.799 Y 530.601 670.399 521.401 687.199 525.401 684.799 c 529.401 682.399 533.801 680.799 Y 534.601 682.799 524.601 695.199 Y 520.201 698 515.001 718.4 Y 522.201 714.8 512.201 730 Y 512.201 733.2 518.201 744.4 Y 517.401 751.2 518.201 750.8 Y 521.001 749.6 529.001 748 522.201 754.4 c 515.401 760.8 523.001 765.6 Y 527.401 768.4 513.801 768 Y 508.601 772.4 509.001 776.4 Y 517.001 774.4 502.601 788.8 500.201 792.4 c 497.801 796 507.401 801.2 Y 520.601 804.8 509.001 808 Y 489.401 807.6 500.201 818.4 Y 506.201 818 504.601 820.4 Y 499.401 821.6 489.801 828 Y 485.801 831.6 489.401 830.8 Y 506.201 829.6 477.401 840.8 Y 485.401 840.8 467.401 851.2 Y 465.401 852.8 462.201 860.4 Y 456.201 865.6 451.401 872.4 Y 451.001 876.8 446.201 881.6 Y 434.601 895.2 429.001 894.8 Y 414.201 898.4 409.001 897.6 Y 356.2 893.2 l 329.8 880.4 337.6 859.4 Y 344 851 353.2 854.8 Y 357.8 861 369.4 858.8 Y 389.801 855.6 387.201 859.2 Y 384.801 863.8 368.6 870 368.4 870.6 c 368.2 871.2 359.4 874.6 Y 356.4 875.8 352 885 Y 348.8 888.4 364.6 882.6 Y 363.4 881.6 370.8 877.6 Y 388.201 878.6 398.801 867.8 Y 409.601 851.2 409.801 859.4 Y 412.601 868.8 400.801 890 Y 401.201 892 409.401 885.4 Y 410.801 887.4 411.601 881.6 Y 411.801 879.2 415.601 871.2 Y 418.401 858.2 422.001 865.6 Y 426.601 856.2 L 428.001 853.6 422.001 846 Y 421.801 843.2 422.601 843.4 417.001 835.8 c 411.401 828.2 414.801 823.8 Y 413.401 817.2 422.201 817.6 Y 424.801 815.4 428.201 815.4 Y 430.001 813.4 432.401 814 Y 434.001 817.8 440.201 815.8 Y 441.601 818.2 449.801 818.6 Y 450.801 821.2 451.201 822.8 454.601 823.4 c 458.001 824 433.401 867 Y 439.801 867.8 431.601 880.2 Y 429.401 886.8 440.801 872.2 443.001 870.8 c 445.201 869.4 446.201 867.2 444.601 867.4 c 443.001 867.6 441.201 865.4 442.601 865.2 c 444.001 865 457.001 850 460.401 839.8 c 463.801 829.6 469.801 825.6 476.001 819.6 c 482.201 813.6 481.401 789.4 Y 481.001 780.6 487.001 770 Y 489.001 766.2 484.801 748 Y 482.801 745.8 484.201 745 Y 485.201 743.8 492.001 730.6 Y 490.201 730.8 493.801 727.2 Y 499.001 721.2 492.601 724.2 Y 486.601 725.8 493.601 716 Y 494.801 714.2 485.801 718.8 Y 476.601 719.4 488.201 712.2 Y 496.801 705 485.401 709.4 Y 480.801 711.2 484.001 704.4 Y 487.201 702.8 504.401 695.8 Y 504.801 691.999 501.801 686.999 Y 502.201 682.999 500.001 679.599 Y 498.801 671.399 498.201 670.599 Y 494.001 670.399 486.601 656.599 Y 484.801 653.999 474.601 641.999 Y 472.601 634.999 454.601 642.199 Y 448.001 638.799 450.001 642.199 Y 449.601 644.399 454.401 650.399 Y 461.401 652.999 458.801 663.799 Y 462.801 665.199 451.601 667.999 451.801 669.199 c 452.001 670.399 457.801 671.799 Y 465.801 673.799 461.401 676.199 Y 460.801 680.199 463.801 685.799 Y 475.401 686.599 463.801 702.8 Y 453.001 710.4 452.001 716.2 Y 464.601 724.4 456.401 736.8 456.601 740.4 c 456.801 744 458.001 765.6 Y 456.001 771.8 453.001 785.4 Y 455.201 790.6 462.601 803.2 Y 465.401 807.4 474.201 812.2 472.001 815.2 c 469.801 818.2 462.001 816.4 Y 454.201 817.8 454.801 812.6 Y 453.201 811.6 452.401 806.6 Y 451.68 798.667 442.801 792.4 Y 431.601 786.2 440.801 782.2 Y 446.801 775.6 437.001 775.4 Y 426.001 777.2 434.201 767 Y 445.001 754.2 442.001 751.4 Y 431.801 750.4 444.401 741.2 y 443.601 743.2 443.801 741.4 v 444.001 739.6 447.001 735.4 447.801 733.4 c 448.601 731.4 444.601 731.2 Y 445.201 721.6 429.801 725.8 y 429.801 725.8 428.201 725.6 v 426.601 725.4 415.401 726.2 409.601 728.4 c 403.801 730.6 397.001 730.6 y 393.001 728.8 385.4 729 v 377.8 729.2 369.8 726.4 Y 365.4 726.8 374 731.2 374.2 731 c 374.4 730.8 380 736.4 372 735.8 c 350.203 734.165 339.4 744.4 Y 337.4 745.8 334.8 748.6 Y 324.8 750.6 336.2 736.2 Y 337.4 734.8 336 733.8 Y 335.2 735.4 327.4 740.8 Y 324.589 741.773 323.226 743.107 320.895 745.593 C f 0.2 0.55 0.85 0.5 k 1 J 2 w 297 757.2 m 308.6 751.6 311.2 748.8 v 313.8 746 327.8 734.6 y 322.4 736.6 319.8 738.4 v 317.2 740.2 306.4 748.4 y 302.6 754.4 297 757.2 v f 0.4 0.2 0.8 0 k 0 J 1 w 238.991 788.397 m 239.328 788.545 238.804 791.257 238.6 791.8 c 237.578 794.526 228.6 796 y 228.373 794.635 228.318 793.039 228.424 791.401 c 233.292 785.882 238.991 788.397 v f 0.4 0.2 0.8 0.2 k 238.991 788.597 m 238.542 788.439 238.976 791.331 238.8 791.8 c 237.778 794.526 228.6 796.1 y 228.373 794.735 228.318 793.139 228.424 791.501 c 232.692 786.382 238.991 788.597 v f 0 g 234.6 788.454 m 233.975 788.454 233.469 789.594 233.469 791 c 233.469 792.405 233.975 793.545 234.6 793.545 c 235.225 793.545 235.732 792.405 235.732 791 c 235.732 789.594 235.225 788.454 234.6 788.454 c f 234.6 791 m F 189 690.399 m 183.4 680.399 208.2 686.399 V 222.2 687.599 224.6 689.999 V 225.8 689.199 234.166 686.266 237 685.599 c 243.8 683.999 252.2 694 y 256.8 704.5 259.6 704.5 v 262.4 704.5 259.2 702.9 y 252.6 692.799 253 691.199 V 247.8 671.199 231.8 670.399 V 215.65 669.449 217 663.599 V 225.8 665.999 228.2 663.599 V 239 663.999 231 657.599 V 224.2 645.999 l 224.34 642.081 214.2 645.599 v 204.4 648.999 194.1 661.899 y 178.15 676.449 189 690.399 V f 0.1 0.4 0.4 0 k 187.8 686.399 m 185.8 676.799 222.6 687.199 V 227 687.199 229.4 686.399 v 231.8 685.599 243.8 682.799 245.8 683.999 C 238.6 670.399 227 671.999 V 213.8 670.399 214.2 665.599 V 218.2 658.399 223 655.999 V 225.8 653.599 225.4 650.399 v 225 647.199 222.2 645.599 220.2 644.799 c 218.2 643.999 215 647.199 213.4 647.199 c 211.8 647.199 203.4 653.599 199 658.399 c 194.6 663.199 186.2 675.199 186.6 677.999 c 187 680.799 187.8 686.399 Y f 0.1 0.4 0.4 0.2 k 191 668.949 m 193.6 664.999 196.8 660.799 199 658.399 c 203.4 653.599 211.8 647.199 213.4 647.199 c 215 647.199 218.2 643.999 220.2 644.799 c 222.2 645.599 225 647.199 225.4 650.399 c 225.8 653.599 223 655.999 Y 219.934 657.532 217.194 661.024 215.615 663.347 C 215.8 660.799 210.6 661.599 v 205.4 662.399 200.2 665.199 198.6 668.399 c 197 671.599 194.6 673.999 196.2 670.399 c 197.8 666.799 200.2 663.199 201.8 662.799 c 203.4 662.399 203 661.199 200.6 661.599 c 198.2 661.999 195.4 662.399 191 667.599 c F 0.1 0.55 0.85 0.3 k 188.4 689.999 m 190.2 703.6 191.4 707.6 V 190.6 714.4 193 718.6 v 195.4 722.8 197.4 729 200.4 734.4 c 203.4 739.8 203.6 743.8 207.6 745.4 c 211.6 747 217.6 755.6 220.4 756.6 c 223.2 757.6 223 756.8 y 229.8 771.6 243.4 767.6 V 227.2 770.4 243 779.8 V 238.2 778.7 241.5 785.7 v 243.701 790.368 243.2 783.6 232.2 771.8 C 227.2 763.2 222 760.2 v 216.8 757.2 204.8 750.2 203.6 746.4 c 202.4 742.6 199.2 736.8 197.2 735.2 c 195.2 733.6 192.4 729.4 192 726 C 190.8 722 189.4 720.8 v 188 719.6 187.8 716.4 187.8 714.4 c 187.8 712.4 185.8 709.6 186 707.2 C 186.8 688.199 186.4 686.199 V 188.4 689.999 L f 1 g 179.8 685.399 m 177.8 686.799 173.4 680.799 V 180.7 647.799 180.7 646.399 V 181.8 648.499 180.5 655.699 v 179.2 662.899 178.3 675.599 y 179.8 685.399 l f 0.1 0.55 0.85 0.3 k 201.4 746 m 183.8 742.8 184.2 713.6 V 183.4 688.799 l 182.2 714.4 181 716 v 179.8 717.6 183.8 728.8 180.6 722.8 C 166.6 708.8 174.6 687.599 V 176.1 684.299 173.1 688.899 V 168.5 701.5 169.6 707.9 V 169.8 710.1 171.7 712.9 V 180.3 724.6 183 726.9 V 184.8 741.3 200.2 746.5 V 205.9 748.8 201.4 746 V f 0 g 340.8 812.2 m 341.46 812.554 341.451 813.524 342.031 813.697 c 343.18 814.041 343.344 815.108 343.862 815.892 c 344.735 817.211 344.928 818.744 345.51 820.235 c 345.782 820.935 345.809 821.89 345.496 822.55 c 344.322 825.031 343.62 827.48 342.178 829.906 c 341.91 830.356 341.648 831.15 341.447 831.748 c 340.984 833.132 339.727 834.123 338.867 835.443 c 338.579 835.884 339.104 836.809 338.388 836.893 c 337.491 836.998 336.042 837.578 335.809 836.552 c 335.221 833.965 336.232 831.442 337.2 829 C 336.418 828.308 336.752 827.387 336.904 826.62 c 337.614 823.014 336.416 819.662 335.655 816.188 c 335.632 816.084 335.974 815.886 335.946 815.824 c 334.724 813.138 333.272 810.693 331.453 808.312 c 330.695 807.32 329.823 806.404 329.326 805.341 c 328.958 804.554 328.55 803.588 328.8 802.6 C 325.365 799.82 323.115 795.975 320.504 792.129 c 320.042 791.449 320.333 790.24 320.884 789.971 c 321.697 789.573 322.653 790.597 323.123 791.443 c 323.512 792.141 323.865 792.791 324.356 793.434 c 324.489 793.609 324.31 794.028 324.445 794.149 c 327.078 796.496 328.747 799.432 331.2 801.8 C 333.15 802.129 334.687 803.127 336.435 804.14 c 336.743 804.319 337.267 804.07 337.557 804.265 c 339.31 805.442 339.308 807.478 339.414 809.388 c 339.464 810.272 339.66 811.589 340.8 812.2 c f 331.959 816.666 m 332.083 816.743 331.928 817.166 332.037 817.382 c 332.199 817.706 332.602 817.894 332.764 818.218 c 332.873 818.434 332.71 818.814 332.846 818.956 c 335.179 821.403 335.436 824.427 334.4 827.4 C 335.424 828.02 335.485 829.282 335.06 830.129 c 334.207 831.829 334.014 833.755 333.039 835.298 c 332.237 836.567 330.659 837.811 329.288 836.508 c 328.867 836.108 328.546 835.321 328.824 834.609 c 328.888 834.446 329.173 834.3 329.146 834.218 c 329.039 833.894 328.493 833.67 328.487 833.398 c 328.457 831.902 327.503 830.391 328.133 829.062 c 328.905 827.433 329.724 825.576 330.4 823.8 C 329.166 821.684 330.199 819.235 328.446 817.358 c 328.31 817.212 328.319 816.826 328.441 816.624 c 328.733 816.138 329.139 815.732 329.625 815.44 c 329.827 815.319 330.175 815.317 330.375 815.441 c 330.953 815.803 331.351 816.29 331.959 816.666 c f 394.771 826.977 m 396.16 825.185 396.45 822.39 394.401 821 C 394.951 817.691 398.302 819.67 400.401 820.2 C 400.292 820.588 400.519 820.932 400.802 820.937 c 401.859 820.952 402.539 821.984 403.601 821.8 C 404.035 823.357 405.673 824.059 406.317 825.439 c 408.043 829.134 407.452 833.407 404.868 836.653 c 404.666 836.907 404.883 837.424 404.759 837.786 c 404.003 839.997 401.935 840.312 400.001 841 C 398.824 844.875 398.163 848.906 396.401 852.6 C 394.787 852.85 394.089 854.589 392.752 855.309 c 391.419 856.028 390.851 854.449 390.892 853.403 c 390.899 853.198 391.351 852.974 391.181 852.609 c 391.105 852.445 390.845 852.334 390.845 852.2 c 390.846 852.065 391.067 851.934 391.201 851.8 C 390.283 850.98 388.86 850.503 388.565 849.358 c 387.611 845.648 390.184 842.523 391.852 839.322 c 392.443 838.187 391.707 836.916 390.947 835.708 c 390.509 835.013 390.617 833.886 390.893 833.03 c 391.645 830.699 393.236 828.96 394.771 826.977 c f 357.611 808.591 m 356.124 806.74 352.712 804.171 355.629 802.243 c 355.823 802.114 356.193 802.11 356.366 802.244 c 358.387 803.809 360.39 804.712 362.826 805.294 c 362.95 805.323 363.224 804.856 363.593 805.017 c 365.206 805.72 367.216 805.662 368.4 807 C 372.167 806.776 375.732 807.892 379.123 809.2 c 380.284 809.648 381.554 810.207 382.755 810.709 c 384.131 811.285 385.335 812.213 386.447 813.354 c 386.58 813.49 386.934 813.4 387.201 813.4 C 387.161 814.263 388.123 814.39 388.37 815.012 c 388.462 815.244 388.312 815.64 388.445 815.742 c 390.583 817.372 391.503 819.39 390.334 821.767 c 390.049 822.345 389.8 822.963 389.234 823.439 c 388.149 824.35 387.047 823.496 386 823.8 C 385.841 823.172 385.112 823.344 384.726 823.146 c 383.867 822.707 382.534 823.292 381.675 822.854 c 380.313 822.159 379.072 821.99 377.65 821.613 c 377.338 821.531 376.56 821.627 376.4 821 C 376.266 821.134 376.118 821.368 376.012 821.346 c 374.104 820.95 372.844 820.736 371.543 819.044 c 371.44 818.911 370.998 819.09 370.839 818.955 c 369.882 818.147 369.477 816.913 368.376 816.241 c 368.175 816.118 367.823 816.286 367.629 816.157 c 366.983 815.726 366.616 815.085 365.974 814.638 c 365.645 814.409 365.245 814.734 365.277 814.99 c 365.522 816.937 366.175 818.724 365.6 820.6 C 367.677 823.12 370.194 825.069 372 827.8 C 372.015 829.966 372.707 832.112 372.594 834.189 c 372.584 834.382 372.296 835.115 372.17 835.462 c 371.858 836.316 372.764 837.382 371.92 838.106 c 370.516 839.309 369.224 838.433 368.4 837 C 366.562 836.61 364.496 835.917 362.918 837.151 c 361.911 837.938 361.333 838.844 360.534 839.9 c 359.549 841.202 359.884 842.638 359.954 844.202 c 359.96 844.33 359.645 844.466 359.645 844.6 c 359.646 844.735 359.866 844.866 360 845 C 359.294 845.626 359.019 846.684 358 847 C 358.305 848.092 357.629 848.976 356.758 849.278 c 354.763 849.969 353.086 848.057 351.194 847.984 c 350.68 847.965 350.213 849.003 349.564 849.328 c 349.132 849.544 348.428 849.577 348.066 849.311 c 347.378 848.807 346.789 848.693 346.031 848.488 c 344.414 848.052 343.136 846.958 341.656 846.103 c 340.171 845.246 339.216 843.809 338.136 842.489 c 337.195 841.337 337.059 838.923 338.479 838.423 c 340.322 837.773 341.626 840.476 343.592 840.15 c 343.904 840.099 344.11 839.788 344 839.4 C 344.389 839.291 344.607 839.52 344.8 839.8 C 345.658 838.781 346.822 838.444 347.76 837.571 c 348.73 836.667 350.476 837.085 351.491 836.088 c 353.02 834.586 352.461 831.905 354.4 830.6 C 353.814 829.287 353.207 828.01 352.872 826.583 c 352.59 825.377 353.584 824.18 354.795 824.271 c 356.053 824.365 356.315 825.124 356.8 826.2 C 357.067 825.933 357.536 825.636 357.495 825.42 c 357.038 823.033 356.011 821.04 355.553 818.609 c 355.494 818.292 355.189 818.09 354.8 818.2 C 354.332 814.051 350.28 811.657 347.735 808.492 c 347.332 807.99 347.328 806.741 347.737 806.338 c 349.14 804.951 351.1 806.497 352.8 807 C 353.013 808.206 353.872 809.148 355.204 809.092 c 355.46 809.082 355.695 809.624 356.019 809.754 c 356.367 809.892 356.869 809.668 357.155 809.866 c 358.884 811.061 360.292 812.167 362.03 813.356 c 362.222 813.487 362.566 813.328 362.782 813.436 c 363.107 813.598 363.294 813.985 363.617 814.17 c 363.965 814.37 364.207 814.08 364.4 813.8 C 363.754 813.451 363.75 812.494 363.168 812.292 c 362.393 812.024 361.832 811.511 361.158 811.064 c 360.866 810.871 360.207 811.119 360.103 810.94 c 359.505 809.912 358.321 809.474 357.611 808.591 c f 302.2 858 m 292.962 860.872 281.8 835.2 V 279.4 830 277 828 v 274.6 826 263.4 822.4 261.4 818.4 C 251 802.4 L 265.8 818.4 269 820.8 V 277 829.2 273.8 822.4 V 259.8 811.6 261 802.4 V 255.4 788 254.6 786 V 270.6 818 273 819.2 v 275.4 820.4 276.6 820.4 275.4 816.8 c 274.2 813.2 273.8 796.8 271 794.8 C 279 815.2 278.2 818.4 V 281.4 822 283.8 816.8 V 282.6 800.8 l 287 788.8 l 284.6 800 286.2 815.6 V 284.2 826 288.2 820.4 v 292.2 814.8 301.8 808.8 301.8 804 C 296.6 821.6 287.4 826.4 V 283.4 820.4 l 282.2 822.4 l 278.6 823.2 283 830 v 287.4 836.8 287 837.6 y 293.4 830.4 295 830.4 V 308.2 838 309.4 813.6 V 316.2 828 307 834.8 V 292.2 836.8 293.4 842 V 300.6 854.4 L 304.2 859.6 302.6 856.8 y F 282.2 841.6 m 269.4 841.6 266.2 836.4 V 259 826.8 l 276.2 836.8 280.2 838 v 284.2 839.2 282.2 841.6 Y f 242.2 835.2 m 240.2 834 239.8 831.2 v 239.4 828.4 237 828 237.8 825.2 c 238.6 822.4 240.6 820 240.6 824 c 240.6 828 242.2 830 243 831.2 c 243.8 832.4 245.4 836.8 242.2 835.2 c f 233.4 774 m 225 778 221.8 781.6 v 218.6 785.2 219.052 780.034 214.2 780.4 c 208.353 780.841 209.4 796.8 y 205.4 789.2 l 204.2 774.8 212.2 777.2 v 216.107 778.372 217.4 776.8 215.8 776 c 214.2 775.2 221.4 774.8 218.6 773.2 c 215.8 771.6 230.2 776.8 227.8 766.4 C 233.4 774 L f 220.8 759.6 m 205.4 755.2 201.8 764.8 V 197 762.4 199.2 759.4 v 201.4 756.4 202.6 756 y 208 754.8 207.4 754 v 206.8 753.2 204.4 749.8 y 214.6 755.8 220.8 759.6 v f 1 g 449.201 681.399 m 448.774 679.265 447.103 678.464 445.201 677.799 C 443.284 678.757 440.686 681.863 438.801 679.799 C 438.327 680.279 437.548 680.339 437.204 681.001 c 436.739 681.899 437.011 682.945 436.669 683.743 c 436.124 685.015 435.415 686.381 435.601 687.799 C 437.407 688.511 438.002 690.417 437.528 692.18 c 437.459 692.437 437.03 692.634 437.23 692.983 c 437.416 693.306 437.734 693.533 438.001 693.8 C 437.866 693.665 437.721 693.432 437.61 693.452 c 437 693.558 437.124 694.195 437.254 694.582 c 437.839 696.328 439.853 696.592 441.201 695.4 C 441.457 695.965 441.966 695.771 442.401 695.8 C 442.351 696.379 442.759 696.906 442.957 697.326 c 443.475 698.424 445.104 697.318 445.901 697.93 c 446.977 698.755 448.04 699.454 449.118 698.851 c 450.927 697.838 452.636 696.626 453.835 694.885 c 454.41 694.051 454.65 692.77 454.592 691.812 c 454.554 691.165 453.173 691.517 452.83 690.588 c 452.185 688.84 454.016 688.321 454.772 686.983 c 454.97 686.634 454.706 686.33 454.391 686.232 c 453.98 686.104 453.196 686.293 453.334 685.84 c 454.306 682.647 451.55 681.969 449.201 681.399 C f 439.6 661.799 m 439.593 663.537 437.992 665.293 439.201 666.999 C 439.336 666.865 439.467 666.644 439.601 666.644 c 439.736 666.644 439.867 666.865 440.001 666.999 C 441.496 664.783 445.148 663.855 445.006 661.009 c 444.984 660.562 443.897 659.644 444.801 658.999 C 442.988 657.651 442.933 655.281 442.001 653.399 C 440.763 653.685 439.551 654.048 438.401 654.599 C 438.753 656.085 438.636 657.769 439.456 659.089 c 439.89 659.787 439.603 660.866 439.6 661.799 c f 0.8 g 273.4 670.799 m 256.542 660.663 270.6 675.999 v 279.4 685.599 289.4 691.199 y 299.8 695.6 303.4 696.8 v 307 698 322.2 703.2 325.4 703.6 c 328.6 704 338.2 708 345 704 c 351.8 700 359.8 695.6 y 343.4 704 339.8 701.6 v 336.2 699.2 329 699.6 323 696.4 C 308.2 691.999 305 689.999 v 301.8 687.999 291.4 676.399 289.8 677.199 c 288.2 677.999 290.2 678.399 291.4 681.199 c 292.6 683.999 290.6 685.599 282.6 679.199 c 274.6 672.799 273.4 670.799 Y f 0 g 280.805 676.766 m 282.215 689.806 290.693 688.141 V 298.919 692.311 301.641 694.279 V 309.78 695.981 311.09 696.598 v 329.569 705.298 344.288 700.779 344.835 701.899 c 345.381 703.018 365.006 695.901 368.615 691.815 c 369.006 691.372 358.384 697.412 348.686 699.303 c 340.413 700.917 318.811 699.056 307.905 693.52 c 304.932 692.011 295.987 686.227 293.456 686.338 c 290.925 686.45 280.805 676.766 Y f 0.8 g 277 651.199 m 261.8 653.599 278.6 655.199 V 296.6 657.199 300.6 662.399 V 314.2 671.599 317 671.999 v 319.8 672.399 349.8 679.599 350.2 681.999 c 350.6 684.399 356.2 684.399 357.8 683.599 c 359.4 682.799 358.6 681.599 355.8 680.799 c 353 679.999 321.8 663.599 315.4 662.399 c 309 661.199 297.4 653.599 292.6 652.399 c 287.8 651.199 277 651.199 Y f 0 g 296.52 658.597 m 287.938 659.426 296.539 660.245 V 305.355 663.669 307.403 666.332 V 314.367 671.043 315.8 671.247 v 317.234 671.452 331.194 675.139 331.399 676.367 c 331.604 677.596 365.67 690.177 370.09 686.987 c 373.001 684.886 363.1 686.563 353.466 682.153 c 352.111 681.533 318.258 666.946 314.981 666.332 c 311.704 665.717 305.765 661.826 303.307 661.212 c 300.85 660.597 296.52 658.597 Y f 288.6 656.399 m 293.8 656.799 292.6 655.199 v 291.4 653.599 289 654.399 y 288.6 656.399 l f 281.4 654.799 m 286.6 655.199 285.4 653.599 v 284.2 651.999 281.8 652.799 y 281.4 654.799 l f 271 653.199 m 276.2 653.599 275 651.999 v 273.8 650.399 271.4 651.199 y 271 653.199 l f 263.4 652.399 m 268.6 652.799 267.4 651.199 v 266.2 649.599 263.8 650.399 y 263.4 652.399 l f 301.8 691.999 m 306.2 691.999 305 690.399 v 303.8 688.799 300.6 689.199 y 301.8 691.999 l f 291.8 686.399 m 298.306 688.54 295.8 685.199 v 294.6 683.599 292.2 684.399 y 291.8 686.399 l f 280.6 681.599 m 285.8 681.999 284.6 680.399 v 283.4 678.799 281 679.599 y 280.6 681.599 l f 273 675.599 m 278.2 675.999 277 674.399 v 275.8 672.799 273.4 673.599 y 273 675.599 l f 266.2 670.799 m 271.4 671.199 270.2 669.599 v 269 667.999 266.6 668.799 y 266.2 670.799 l f 305.282 664.402 m 312.203 664.934 310.606 662.805 v 309.009 660.675 305.814 661.74 y 305.282 664.402 l f 315.682 669.202 m 322.603 669.734 321.006 667.605 v 319.409 665.475 316.214 666.54 y 315.682 669.202 l f 326.482 673.602 m 333.403 674.134 331.806 672.005 v 330.209 669.875 327.014 670.94 y 326.482 673.602 l f 336.882 678.402 m 343.803 678.934 342.206 676.805 v 340.609 674.675 337.414 675.74 y 336.882 678.402 l f 309.282 696.402 m 316.203 696.934 314.606 694.805 v 313.009 692.675 309.014 692.94 y 309.282 696.402 l f 319.282 699.602 m 326.203 700.134 324.606 698.005 v 323.009 695.875 318.614 696.14 y 319.282 699.602 l f 296.6 659.599 m 301.8 659.999 300.6 658.399 v 299.4 656.799 297 657.599 y 296.6 659.599 l f 0.1 0.55 0.85 0.3 k 223.4 758.8 m 219 750 218.6 746.8 V 219.4 755.6 220.6 757.6 v 221.8 759.6 223.4 758.8 y f 205 744.8 m 201.8 730.4 202.2 727.6 V 201 739.2 201.4 740.4 v 201.8 741.6 205 744.8 y f 0.8 g 225.8 819.4 m 225.6 816.2 l 223.4 816 l 237.6 803.4 238.2 795.8 V 239 804 225.8 819.4 V f 0 g 229.784 818.135 m 229.353 818.551 229.572 819.296 229.164 819.556 c 228.355 820.072 230.462 820.129 230.234 820.845 c 229.851 822.051 230.038 822.072 229.916 823.348 c 229.859 823.946 230.447 825.486 230.832 825.926 c 232.278 827.578 230.954 830.51 232.594 832.061 c 232.898 832.35 233.274 832.902 233.559 833.32 c 234.218 834.283 235.402 834.771 236.352 835.599 c 236.67 835.875 236.469 836.702 237.038 836.61 c 237.752 836.495 238.993 836.625 238.948 835.784 c 238.835 833.664 237.506 831.944 236.226 830.276 C 236.677 829.572 236.219 828.937 235.935 828.38 c 234.6 825.76 234.789 822.919 234.615 820.079 c 234.61 819.994 234.303 819.916 234.311 819.863 c 234.664 817.528 235.248 815.329 236.127 813.1 c 236.493 812.17 236.964 811.275 237.114 810.348 c 237.225 809.662 237.328 808.829 236.92 808.124 C 238.955 805.234 237.646 802.583 238.815 799.052 c 239.022 798.427 240.714 796.513 240.251 796.674 c 237.738 797.545 237.626 797.943 237.449 798.696 c 237.303 799.319 236.973 800.696 236.736 801.298 c 236.672 801.462 236.501 803.346 236.423 803.468 c 234.91 805.85 236.268 805.674 234.898 808.032 C 233.47 808.712 232.504 809.816 231.381 810.978 c 231.183 811.182 232.326 811.906 232.145 812.119 c 231.053 813.408 229.9 814.175 230.236 815.668 c 230.391 816.358 230.528 817.415 229.784 818.135 c f 226.2 816.4 m 226.6 809.6 229 808 v 231.4 806.4 230.2 807.2 227 808.4 c 223.8 809.6 225 810.4 y 222.2 810 224.6 808 v 227 806 230.6 803.6 229 803.6 c 227.4 803.6 219.8 807.6 219.8 810.4 c 219.8 813.2 218.8 817.3 y 219.9 818.1 224.7 818 V 226.1 817.3 226.2 816.4 V f 1 g 1 J 0.1 w 225.4 797.8 m 216.88 800.591 198.4 797.2 V 207.431 799.278 226.2 797 v 236.5 795.75 225.4 797.8 Y b 227.498 797.871 m 219.252 801.389 200.547 799.608 V 209.725 800.897 228.226 797.005 v 238.38 794.869 227.498 797.871 Y b 229.286 797.778 m 221.324 801.899 202.539 801.514 V 211.787 802.118 229.948 796.86 v 239.914 793.975 229.286 797.778 Y b 230.556 797.555 m 223.732 801.862 206.858 802.96 V 215.197 802.79 231.078 796.681 v 239.794 793.328 230.556 797.555 Y b 345.84 787.039 m 344.91 786.395 345.124 787.576 v 345.339 788.757 373.547 801.927 377.161 801.677 C 346.913 788.471 345.84 787.039 V b 342.446 786.4 m 341.57 785.685 341.691 786.879 v 341.812 788.073 368.899 803.418 372.521 803.452 C 343.404 787.911 342.446 786.4 V b 339.16 785.025 m 338.332 784.253 338.374 785.453 v 338.416 786.652 358.233 802.149 368.045 804.023 C 350.015 795.896 339.16 785.025 V b 336.284 783.162 m 335.539 782.468 335.577 783.547 v 335.615 784.627 353.449 798.574 362.28 800.26 C 346.054 792.946 336.284 783.162 V b 0.8 g 0 J 1 w 304.6 635.199 m 289.4 637.599 306.2 639.199 V 324.2 641.199 328.2 646.399 V 341.8 655.599 344.6 655.999 v 347.4 656.399 363.8 659.999 364.2 662.399 c 364.6 664.799 370.6 667.199 372.2 666.399 c 373.8 665.599 373.8 656.399 371 655.599 c 368.2 654.799 349.4 647.599 343 646.399 c 336.6 645.199 325 637.599 320.2 636.399 c 315.4 635.199 304.6 635.199 Y f 0 g 377.6 672.599 m 374.6 670.999 373.4 668.399 V 367 657.799 352.8 654.599 V 329.8 645.599 322 643.599 V 308.6 638.599 301.2 639.399 V 294.2 639.199 300.4 637.599 V 320.6 639.599 324 641.399 V 339.6 646.599 342.6 649.199 v 345.6 651.799 363.8 656.799 366 658.799 c 368.2 660.799 378 669.199 377.6 672.599 C f 318.882 641.089 m 324.111 641.315 322.958 639.766 v 321.805 638.216 319.357 639.09 y 318.882 641.089 l f 311.68 639.737 m 316.908 639.963 315.756 638.414 v 314.603 636.864 312.155 637.737 y 311.68 639.737 l f 301.251 638.489 m 306.48 638.716 305.327 637.166 v 304.174 635.617 301.726 636.49 y 301.251 638.489 l f 293.617 637.945 m 298.846 638.171 297.693 636.622 v 296.54 635.072 294.092 635.946 y 293.617 637.945 l f 335.415 648.487 m 342.375 648.788 340.84 646.726 v 339.306 644.664 336.047 645.826 y 335.415 648.487 l f 345.73 652.912 m 351.689 656.213 351.155 651.151 v 350.885 648.595 346.362 650.251 y 345.73 652.912 l f 354.862 655.726 m 362.021 659.427 360.287 653.965 v 359.509 651.515 355.493 653.065 y 354.862 655.726 l f 364.376 660.551 m 368.735 665.452 369.801 658.79 v 370.207 656.252 365.008 657.89 y 364.376 660.551 l f 326.834 644.003 m 332.062 644.23 330.91 642.68 v 329.757 641.131 327.308 642.004 y 326.834 644.003 l f 1 g 1 J 0.1 w 362.434 765.397 m 361.708 764.732 361.707 765.803 v 361.707 766.873 379.191 780.137 388.034 781.521 C 371.935 774.792 362.434 765.397 V b 0 g 0 J 1 w 365.4 701.6 m 387.401 679.199 396.601 675.599 V 405.801 664.399 401.801 638.399 V 398.601 630.799 395.401 651.599 V 398.601 676.799 387.401 660.799 V 379 670.699 385.4 670.399 V 388.601 668.399 389.001 669.999 v 389.401 671.599 381.4 685.199 364.2 699.6 c 347 714 365.4 701.6 Y f 1 g 1 J 0.1 w 307 662.799 m 306.8 664.599 308.6 663.799 v 310.4 662.999 404.601 656.799 436.201 632.799 C 391.001 655.999 307 662.799 V b 317.4 667.199 m 317.2 668.999 319 668.199 v 320.8 667.399 457.401 668.399 481.001 635.999 C 459.001 661.199 317.4 667.199 V b 329 671.199 m 328.8 672.999 330.6 672.199 v 332.4 671.399 505.801 684.399 529.401 651.999 C 519.801 677.599 329 671.199 V b 339 675.999 m 338.8 677.799 340.6 676.999 v 342.4 676.199 464.601 714.8 488.201 682.399 C 474.801 707 339 675.999 V b 281 653.199 m 280.8 654.999 282.6 654.199 v 284.4 653.399 302.2 651.199 304.2 612.399 C 297 654.399 281 653.199 V b 272.2 651.599 m 272 653.399 273.8 652.599 v 275.6 651.799 289.8 656.399 287 617.599 C 288.2 652.799 272.2 651.599 V b 264.2 651.199 m 264 652.999 265.8 652.199 v 267.6 651.399 283 650.799 270.6 628.399 C 280.2 652.399 264.2 651.199 V b 311.526 695.535 m 311.082 693.536 312.631 694.753 v 328.699 707.378 361.141 766.28 416.826 771.914 C 378.518 784.024 311.526 695.535 V b 322.726 697.335 m 321.363 698.528 323.231 699.153 v 325.099 699.778 437.541 772.28 476.826 764.314 C 449.719 771.824 322.726 697.335 V b 301.885 691.233 m 301.376 689.634 303.087 690.61 v 312.062 695.73 315.677 752.941 359.254 754.196 C 326.843 768.91 301.885 691.233 V b 281.962 680.207 m 280.885 678.921 282.838 679.175 v 293.084 680.507 314.489 721.778 358.928 716.699 C 326.962 731.045 281.962 680.207 V b 293.2 686.333 m 292.389 684.864 294.258 685.489 v 304.057 688.763 317.141 733.375 361.729 736.922 C 327.603 744.865 293.2 686.333 V b 274.922 675.088 m 274.049 674.046 275.631 674.252 v 283.93 675.331 301.268 708.76 337.264 704.646 C 311.371 716.266 274.922 675.088 V b 267.323 669.179 m 266.318 668.134 267.909 668.252 v 272.077 668.561 302.715 701.64 321.183 686.138 C 309.168 704.861 267.323 669.179 V b 336.855 701.102 m 335.654 702.457 337.586 702.842 v 339.518 703.226 460.221 760.939 498.184 748.073 C 472.243 758.947 336.855 701.102 V b 303.4 636.799 m 303.2 638.599 305 637.799 v 306.8 636.999 322.2 636.399 309.8 613.999 C 319.4 637.999 303.4 636.799 V b 313.8 638.399 m 313.6 640.199 315.4 639.399 v 317.2 638.599 335 636.399 337 597.599 C 329.8 639.599 313.8 638.399 V b 320.6 639.999 m 320.4 641.799 322.2 640.999 v 324 640.199 348.6 636.799 372.2 604.399 C 336.6 641.199 320.6 639.999 V b 328.225 642.028 m 327.788 643.786 329.678 643.232 v 331.568 642.678 352.002 644.577 390.099 610.401 C 343.924 645.344 328.225 642.028 V b 338.625 646.428 m 338.188 648.186 340.078 647.632 v 341.968 647.078 376.802 642.577 428.499 607.601 C 354.324 649.744 338.625 646.428 V b 298.2 657.999 m 298 659.799 299.8 658.999 v 301.6 658.199 355 655.599 385.4 628.799 C 350.499 653.574 298.2 657.999 V b 288.2 653.999 m 288 655.799 289.8 654.999 v 291.6 654.199 316.2 650.799 339.8 618.399 C 304.2 655.199 288.2 653.999 V b 349.503 651.038 m 348.938 652.759 350.864 652.345 v 352.79 651.932 387.86 649.996 441.981 618.902 C 364.317 653.296 349.503 651.038 V b 357.903 653.438 m 357.338 655.159 359.264 654.745 v 361.19 654.332 396.26 652.396 450.381 621.302 C 373.317 656.096 357.903 653.438 V b 367.503 658.438 m 366.938 660.159 368.864 659.745 v 370.79 659.332 413.86 654.996 503.582 620.702 C 382.917 661.096 367.503 658.438 V b 0 g 0 J 1 w 256.2 651.599 m 261.4 651.999 260.2 650.399 v 259 648.799 256.6 649.599 y 256.2 651.599 l f 287 637.599 m 292.2 637.999 291 636.399 v 289.8 634.799 287.4 635.599 y 287 637.599 l f 278.2 637.999 m 283.4 638.399 282.2 636.799 v 281 635.199 278.6 635.999 y 278.2 637.999 l f 182.831 649.818 m 187.876 648.495 186.218 647.376 v 184.561 646.256 182.554 647.798 y 182.831 649.818 l f 184.831 659.418 m 189.876 658.095 188.218 656.976 v 186.561 655.856 184.554 657.398 y 184.831 659.418 l f 177.631 663.818 m 182.676 662.495 181.018 661.376 v 179.361 660.256 177.354 661.798 y 177.631 663.818 l f 0.8 g 1 J 0.1 w 257.4 588.799 m 255.8 588.799 251.8 586.799 V 249.8 586.799 238.6 583.199 233 573.199 C 245.4 582.799 257.4 588.799 V f 345.116 496.153 m 345.257 495.895 345.312 495.475 345.604 495.458 c 346.262 495.418 347.495 495.117 347.37 495.753 c 346.522 500.059 345.648 504.996 341.515 506.803 c 340.876 507.082 339.434 506.669 339.36 505.785 c 339.233 504.261 339.116 502.912 339.425 501.446 c 339.725 500.025 341.883 500.015 342.8 501.399 C 343.736 499.727 344.168 497.884 345.116 496.153 c f 334.038 491.419 m 334.786 490.006 334.659 488.147 336.074 487.584 c 336.814 487.29 338.664 488.265 338.246 489.339 c 337.444 491.4 337.056 493.639 335.667 495.45 c 335.467 495.712 335.707 496.245 335.547 496.573 c 334.953 497.793 333.808 498.528 332.4 498.199 C 331.285 495.996 332.433 493.867 333.955 492.158 c 334.091 492.006 333.925 491.63 334.038 491.419 c f 294.436 496.609 m 294.328 496.986 294.29 497.449 294.455 497.77 c 294.986 498.803 295.779 499.925 295.442 500.947 c 295.094 502.003 293.978 501.821 293.328 501.252 c 292.193 500.258 292.144 498.432 291.453 497.073 c 291.257 496.687 291.308 496.114 290.867 495.723 c 290.393 495.302 289.953 493.778 290.049 493.207 c 290.102 492.894 289.919 482.986 290.141 483.249 c 290.76 483.982 293.81 493.716 293.879 494.608 c 293.936 495.339 294.668 495.804 294.436 496.609 c f 268.798 503.401 m 271.432 505.9 274.222 508.861 273.78 512.573 c 273.664 513.549 271.889 513.022 271.702 512.176 c 270.9 508.551 268.861 505.89 266.293 503.498 c 264.097 501.451 262.235 495.107 262 494.599 C 265.697 499.855 267.954 502.601 268.798 503.401 c f 255.224 509.365 m 255.747 509.735 255.445 510.226 255.662 510.558 c 256.615 512.016 257.916 513.262 257.934 515 c 257.937 515.277 257.559 515.586 257.224 515.362 c 256.947 515.178 256.605 515.048 256.497 514.918 c 254.467 512.469 253.067 509.798 251.624 506.986 c 251.441 506.629 250.297 502.138 250.61 502.027 c 250.849 501.942 252.569 506.123 252.779 506.237 c 254.042 506.923 254.054 508.538 255.224 509.365 c f 271.957 489.821 m 272.401 490.69 273.977 491.892 273.864 492.781 c 273.746 493.709 274.214 495.152 273.302 494.464 c 272.045 493.516 268.596 492.167 268.326 486.359 c 268.3 485.788 271.274 488.481 271.957 489.821 c f 286.4 506.999 m 286.8 507.667 287.508 507.194 287.967 507.457 c 288.615 507.829 289.226 508.387 289.518 509.036 c 290.488 511.185 292.257 513.005 292.4 515.399 C 290.909 516.804 290.23 514.764 289.6 513.799 C 288.277 515.446 287.278 513.572 285.978 513.053 c 285.908 513.025 285.695 513.372 285.62 513.345 c 284.443 512.905 283.763 511.824 282.765 511.043 c 282.594 510.909 282.189 511.089 282.042 510.953 c 281.39 510.35 280.417 510.025 280.137 509.343 c 279.027 506.636 275.887 504.541 274 496.999 C 274.381 496.09 278.512 503.641 278.999 504.339 c 279.835 505.535 279.953 502.678 281.229 503.344 c 281.28 503.371 281.466 503.133 281.6 502.999 C 281.794 503.279 282.012 503.508 282.4 503.399 C 282.4 503.799 282.266 504.355 282.467 504.514 c 283.704 505.491 283.62 506.559 284.4 507.799 C 284.858 507.01 285.919 507.729 286.4 506.999 C f 346.2 452.599 m 353.6 472.999 349.2 484.199 V 360.6 462.599 356 451.399 V 355.6 461.799 351.6 466.799 V 347.6 453.999 346.2 452.599 V f 331.4 455.199 m 336.8 463.999 328.8 482.399 V 328 461.999 321.2 450.999 V 335.4 471.199 331.4 455.199 V f 321.4 457.199 m 321.2 477.199 321.6 480.199 V 317.8 463.599 307.6 453.999 V 322 465.999 321.4 457.199 V f 311.8 489.199 m 317.8 475.599 307.8 457.199 V 314.2 469.399 309.4 476.399 V 312 479.799 311.8 489.199 V f 292.6 457.599 m 291.6 473.199 293.4 475.399 V 293.6 481.799 293.2 482.799 V 297.2 488.999 297.4 481.599 V 298.8 473.799 301.6 469.199 V 305.2 463.799 305 457.399 V 295 487.599 292.6 457.599 V f 289 485.199 m 282.4 474.399 280.6 455.399 V 279.2 461.599 283 475.999 V 287.2 491.399 289 485.199 V f 267.2 465.399 m 272.2 470.799 273.6 475.799 V 277.2 491.599 270.8 482.999 V 271 474.999 262.8 467.599 V 267.6 469.999 267.2 465.399 V f 261.4 470.399 m 264.8 487.799 265.6 488.599 V 267.4 491.999 264.6 488.799 V 255.8 469.599 251.8 462.999 V 259.8 472.199 261.4 470.399 V f 255.6 486.999 m 267.2 509.399 245.4 483.599 V 256.4 493.399 255.6 486.999 V f 240.2 501.599 m 245 520.399 247.6 520.199 V 255.8 529.199 249.2 518.599 V 243.2 508.999 243.8 499.199 V 243.2 508.799 240.2 501.599 V f 570.5 513 m 558.5 523 556 526.5 V 569.5 508 569.5 501 V 572 508.5 570.5 513 V f 576 535 m 555 550 551.5 557.5 V 578 528 578 523.5 V 578.5 532.5 576 535 V f 593 689 m 581 697 579.5 695 V 590 688.5 592.5 680 V 591 689 593 689 V f 601.5 608.5 m 584 620.5 l 603 603.5 603.5 599.5 V 601.5 608.5 L f 0 g 1 w 210.75 631 m 232.75 626.25 l S 261 469 m 260.5 472.5 251.5 462 v S 266.5 464 m 268.5 470.5 262 466 v S 320.5 455.5 m 322 466.5 310.5 453.5 v S %%Trailer } bind def /tigertest { gsave in_w 2 div 20 add in_h 2 div 25 add translate 0.1 dup scale tiger grestore } bind def /gammatest { 0 0 0 setrgbcolor /x0 in_w 2 div 10 add def /y0 in_h 2 div 30 add def f1 12 scalefont setfont x0 25 add y0 30 add moveto (Gamma) show f1 8 scalefont setfont 0 1 4 { gsave /x0 x0 15 add def x0 y0 translate 0.25 mul 0.5 add dup 10 string cvs exch setgamma -12 8 moveto show 0.026 dup -1 mul exch scale tiger grestore } for } bind def /hsbcircle { gsave 0 0 0 setrgbcolor 0.05 setlinewidth in_w 4 div 3 mul in_h 2.7 div translate 0 1 179 { 180 div 1 1 sethsbcolor 2 rotate 0 0 moveto 20 0 rlineto stroke } for grestore } bind def outerclip paintgrid initclip gsave bdw bdw pwidth bdw sub pheight bdw sub rectangle clip newpath bdw bdw translate /setcol { setrgbcolor } bind def (B)(G)(R) 10 10 colortriangle /setcol { 0 setcmykcolor } bind def (Y)(M)(C) 10 70 colortriangle fonttest screeningtest credits tigertest gammatest hsbcircle grestore gsave scalebars2 grestore % Der Phototest läßt sich nicht als Prozedur definieren. % liegt an currentfile... % Use own dictionary to avoid conflicts 5 dict begin % %%EndProlog % these two lines heavily mess up the DSC % %%Page: 1 1 % commenting them out seems harmless -- Michael % Translate for offset 0.000000 0.000000 translate % Translate to begin of first scanline in_w 0.80 mul in_h 0.30 mul translate 28 -41 scale % Variable to keep one line of raster data /scanline 175 1 mul string def % Image geometry 175 254 8 % Transformation matrix [ 175 0 0 254 0 0 ] { currentfile scanline readhexstring pop } image e0d8d2cbced5dadbd8d3cbc6c6c8c9c8c9cac8d0d5d6d9ddd7dddfdfdee4e3dddee0e0e1e2e1de d9d8d8d7dbd7d7d8d6d7d6d5d7d7d8d6d5d5d6d8d8d6d5d6d7d9d7d7d7d6d4d5d6d5d5d5d5d3d3 d3d3d3d5d5d4d5d5d5d6d5d4d6d6d6d6d4d3d4d4d6d6d6d6d6d5d6d6d6d5d6d7d7d8d6d8d7d5d5 d7dad8d8d7d7ddd8d9d9d7d7d8dadbdbdcdbdbd9dcd9d8d7cbb5adb7c7d9dcdedfdfe0dfdfdfdf dedfe0e1e0e0e0e1e1e0dee1e1dfdfe0e0e1e1 dfd7d2caccd6dbdbdcd4c9c6c7c8c7c6c8cac7cbcfcccfd0d1d0d7d9dce2e0dcdde1e0e1e1e0dd d8d7d6d7d7d7d7d7d7d6d5d4d6d7d8d6d5d5d6d7d7d6d5d5d6d6d6d6d6d6d3d3d2d2d3d3d2d2d2 d3d1d2d4d5d4d5d4d5d5d2d2d3d4d4d4d4d4d4d4d5d4d5d6d6d5d6d7d6d6d5d6d6d6d5d6d6d5d7 d7d7d7d8d7d7d7d8ded9d7d8d8d9dbd9d8dbd9dbdbd9d9d7cbb5aeb9c9d4dcdedfdee0dfdddedf dfdfe1e1e0e0e0e1e2e1dedee0dfdfe0e0e2e0 dcd6d0c9cbd3d8dcddd6cfcbc6c6c7c7c7ccd5d5d8d8d0d0d0cfcfd6dde2dedadce2e2e0e1e1de dcd8d6d6d8d7d8d7d6d6d7d5d5d6dad7d6d5d6d7d6d6d5d5d4d4d4d4d5d5d2d2d1d1d3d0d1d1d2 d4d1d1d1d2d3d3d3d2d2d1d1d0d1d4d1d3d2d2d4d4d2d2d5d3d3d3d6d9d6d4d4d5d6d3d5d5d6d7 d6d7d7d7d8d9d8d6d8d7d8d8d7d8dbdbd8d8dbdbd8dbd9d7c8b2acb8d0d9dededcdcdddddddfde dfdfdfe0dfe0dfdfe0e1dededddfdfdedfe3e3 dad8d1cacdd7dbddddd6cecbc8c7c7c7c7cdd9dcdeded9dad8dbdddddedfded6dde2e2e0e1e1e1 dbd8d7d6d9d6d8ddd6d6d6d6d5d6d6d5d6d6d6d5d6d7d4d3d4d4d2d4d5d4cec9c4c0c4c6c7ced1 d2d6d1d1d1d1d2d2d6d1d0d1d0cfd0d0d1d2d2d4d4d2d1d3d3d0d0d4d5d4d4d4d6d7d5d5d6d6d7 d6d8d7d7d6d6d7d7d8d8d8d9d8d9d9d8d9d9d8dbdadcd9d7caafacb8cadcdddfdcdcdcdcdedfde dfdfdfdfdedfdedfe0e1dfdddddfdfe0dedfe0 d9d8d5c9cbd7dbdddcd4cccbc7c7cbd4d2d8dbdcdfdedcdcdee0dedfdfdfdfdbdde1e1e1e1e2e0 dbd7d7d6d5d6d9d7d7d5d5d6d4d4d6d4d7d7d4d4d6d7d3d2d3d0ccc8c9c4b2a3a3a9adb1b1c5c5 cecdccc5ccccccc3dcb9c9cccacac9c5cbcecdc7d1cfd0d2d2d0cfd1d5d4d7d4d4d5d5d5d5d6d4 d6d6dad6d6d6d7dad8d9d9d9d9d8d8d9d8d9d9dbdbdcd8d5c9b0afb5cbdcdfdfdddbdededededf dedfdfdfdedfdfe1e1e1dfdfdfdedee0dfdfdf ded8d3cbd0d7dbdcd8d1cac9c9c9cbdfdddddcdedfe0dfdedddddddfdfe0dedbdde1e1e0e1e3e0 dbd5d7d7d5d6d5d2d5d3d3d6d2d3d5d5d6d7d3d1d4d4d1c8c5c0bdbdc4b48e7c7c84879ba0a9a3 a6b0a59fbbc9bda5a593b2b8d0b3a59fb2cbd3babfcad1d0cbc5c9ced2d0d2d2d5d4d5d4d5d4d4 d5d4d6d6d6d6d7d7d7d8d7d7d9d8d8d8d8d8d8d9d9dbd8d5c8b4afb6d0dcdddedcdcdfdfdededf dedddfe0e0dfe0e1e1dfdfdfe3dfe0e0dfe0e0 ded7d3cbccd8ddddd9d4cbc7c8c9c8c9ced3dde1e0dfe0dedfe0dedfdfdcd7d5dadcdcdbdcdcd5 d3d4d6d6d2d2d1d3d3d3d2d3d0d1d1d0cdcac4bcb6beafa6b6b09ba6ac7841454a53555c4b5457 6768645a5b605c4545494952555c535355646c656b7985a7b09faec4bcb9bec6c6ceced2d4d3d3 d4d4d5d6d4d5d8d7d8d8d8d8d8d7d7d7d7d7d7d8d9d9d8d5c8b5afb7eddcdddddde0e0dfe0dedf dfdfdedfdfe1e0dfe0e0dfdfdfdfe0dfe0e0e0 ded9d3cbcad7deddd8d6cfc9cbccc9c8cad3dddfdfdfdfdee0e0ded8d7d5d3cfd2d7d8dadcdfdc d7d3d5d7d4d4d2d3d5d2cdcdcfd3d0cbcbc3b6aeaeaca5a0b1a29a957a5c3931303f443a353b3b 3e3c332b2d31302f261a1d21203026252033333932395159585e6a859395a6a6b8c6bac5c5c8c9 d4d3d1d1d3d4d4d4d5d9dad8d7d7d8d8d7d8d7d8d8d9d8d5c2b1aebdcbdbdfdddcdededfe2dede dfdfdfdfdfe0dfe0e0dedfdedfdee0e0e0e0e0 dcd8d2cacbd5dcdcd8d6cec9cbc7c9d0d3dcdcdededfdedcdddcd7d7d7d5d1d5d9dbdee2e2e2df dad4d4d0d2cecececdcbc9c7ccd1cbb9baceaf929d9488879b8f9b7f5e3e2e25212c2f2e272020 1f231d1a210e1616171311191210121617181b251d1f2c30303c264d546d8c85979f807ea6b0b6 cbcacbc8cad2d4d2d1d4d5d8d6d8d8d8d5daddd8d7d8d7d6c2b1aebbcedadddddddddddededdde dfdfdfe0dfdfe0dfdedededededfe0e0e0e2de ddd8d2cecfd5dcdddbd6cec9c9c8cad5dddedddfdfdddcdbdbd8d7dddddfdddce1e4e3e2e2e2dd d9d7dad4d4d5cfd2d4d1d0cdd0d0cdb3aabfa2758e8e817fab87705c462f261e1b211c1c1a1516 1817131313311413100f0c100d0f100d0d151617151b1b1b1b1c19212f3654666e6730538b97a5 bcb5bcbcbfc2ccd1d1d2d4d6d6d7dad7d4d7d8d7d7d7d7d5c3b0aebecddbdddedddededfe0e0dd dddfdee1dfe0dfdedededfe0e0e0e0e0dfe2e2 e2ded7d7dce1e0e2e1d7d1ccc9c9cccbd0ccccd2d4dcdadcdedee0dfdedfdedde1e3e3e2e2e2e0 d9d8d8d3d6d5d4d2d4d3d0cac6bbb08856809c846868615f8b604b3e2a1c1a1a17171715130c0a 110a09160f0f0f090c12110c0e0b0d0e0e0f0e120e0e131716151515161c2d363737353a4a5971 89727c8c9fb3b7b8b9c5c8cfd5d7d7d6d6d8d8d7d6d6d6d2b8aeacc5d3dadfdedddededde1dfdd dedfdfdfdedededfe0e0e0e0e0dededfe0e1e5 e0dcdddee0e0e2e5e1dcd7d7d2cecec9cbcac8cedce0dfe0e1e1e2e1dfe0dfdee0e3e3e3e2e5e1 dcdbddd7d9d8d7d6d6d5d1cdbeb4957c5e5f66844f4b4d4f535d2d2a19181016160c110c100b0a 0a0a090d0d0c100c0c10100c0b100a070c060b0c0d14121113120c1112141f222225272a313a44 4450636a738893939cbac4ced1cfd2d4d6d8d8d7d6d5d8d2bcaca9c3d4dbdfdedddddddddedddc dedfdedededededfdfdedfdfdedddde0e0e2e4 ddd8d9dbe0dfdfe1e0dfddd9e0dcdadbdfdddee0e2e3e4e4e6e6e4e5e5e3e1e0e1e3e3e4e4e5df dcdbdad8ddd9d9d7d7d2cbc2b19e995e51474d4c43363b3738411e1a13110c0f0f0c0c0c080a08 07060107070c0c0c510e0c07070f0a040606080e0e13101614141510121c19191b1d2123272e2b 2b344044475d6f7886b4adb6bfc6cfd4d6d7d8d7d7d7d6d7b8adacb9dcd9dbdbdcdddededededd dddedddededfe0e0dfdedfdfdddedfe0e0e1e0 ddd6d2cfd3dbdbdedbd3d2ced2c9cfd8dcdee1e0e1e2e4e4e5e6e3e4e6e5e3e2e4e4e4e4e3e2e0 dcd9d8d8d8d6d3ccc3baaf93786d57483736302f312a22222322150e0c02090905000506070801 080505040004040409070202060804020509060f0d0a050f0f0e0e161315141c1a181a1a201b1c 1e25292528323c465a6f7f8389a4c5cdd0d5d7d5d5d5d4d2b7adacbdd9d9dfdcdcdcdcdddedfdd dedededededfdfdfdededfdfdddddddedee0e0 dcd6d0c7d3d7d8dcd5d0cac8c9c9cacad4d6d6d9dde0dfdde0e1e0e0e2e4dedee2e4e5e5e3e3de d9d9d8d8d7d3cbd5ab8f956e55433b322f2a242529201813131313090c08010000000002030508 00030504020000000006100c070600020506060d0b09080e0f0e0c131417171919131a1417191a 1c1d1b221d282b3338495050568297c3ced3d4d4d5d5d4cfb7aba8bbd9d9dedbdbdcdcdddedede dedee0e0dfdedfe0e0dfdfdedddddddde1dfe0 dcd7d0c9d5dae0dfdcd1cfc9c9cacac9cbd0cad1d9dee0e1e0e0e1dfdfdedddae0e6e5e5e3e3dd dbd7d8d8d5d2c3aa877466593c362e28231e18121a1e1811130e0b080600000001010000030400 0002010006060004050c0f0c07060202060706070808080c100d16131517120e15161a1716191b 1a181b20181b2a28292c3236293c83a5cad1d4d4d4d5d4cbb5abacbddadadbdbdbdcdde0dddcdd dededee3e0dfdfe0e0dfdfdedfdddddedfdfdf dcd5cfc8d7dcdfe3ded5cecacacac9cacfcfcdd2d4dbe1e1e0dfe1e1e1dfdddde1e6e5e5e4e4de dbdad7d6d1c5b992545239332b26251d1c171011130d16120d0d06080600000101000000000000 0200000003060404050b0c0a0b05010208060a08080b1a0c13121214151517121a161515161513 131a1b1c1f1a1e1e1f2423272b2c5f7ebfc9cfd3d3d4d3cbb3a8aabed7d7d8d9dbdcdcdcdddddc dddededfdfdfdde0e0dededfdfdedededfdfdf e1d6d1cad6dbdbe1ded5cdcac9cacacfcecbced0d0d3e0e1e0e0e1e2e1dfdfdee2e2e3e3e3e2dc d3d6d4cbbda88d71402a13101416161313120d1008070d0a05070e030500000001060601000002 000000000007090b080c0b0b08030807000d080a07090b030d0e121514121213150e1515141415 181b1a1b1b1b1a1a1e202121252f3e4f82b7c5c8d0d4d3cfb6abacc4d3d9d8dbdddddddbdcdddf dfdedddfdfdedddddfdfdedee0dfdfe1e1e0e1 e0d6d0cbd7dadce2ded5cbcbcbcbc9cfd1cecad0d1d6dee0e1e0e0e1e0e1dedfe3e3e3e3e2e2dc cfd5d2c9ba9a7d592b210f0e0e0f0b0a0a07081008060a0a060700000200000004020006000000 0b000000000b0c0d10050300030300070003000708070d040b080c1213120e0f11161414111215 181b1c1b1b1b1918181f1c212528323d799ec7bfcdd2d3cfb2aaabc4d2d9d9dcdddddbdbdcdddf dfdededededfdedddddddededfdfe0e1e1e1e3 e1dcd0cfd6dcdfe2dcd3cfcecbc8cacfd0cbc7c6d6dde0e1e1e1e0e0e0e1dddee1e2e2e4e3e3dd d4d5d5c9be9b85562f26140e090a0f060505081108060508030000000000010007070208000000 0802010102090d1010050300060302050400000704070e000d110b1115160f1714171516141215 181a201d1b1c1c1d191c1d231e2629335776a3aac8cfd1cdaeabacc6d3dddedcdddddbdbdcdcdf dfdddededddedfdededde1dfdfe0e0e0e0e0df e3e1dbd7dce1e2e5dcd5d3cfd0d0cecbd1d3cccbd4d6dbdde0e1e4e1e1e1dddde1e2e2e3e3e0dd d9d3d3c7c39b70482d23160c050a04050505060b04040c08090501010004000707030200000005 060f0306090c0d0c0a0000000303020907070b070c0c0d080d110d110e13111113171514151a15 17181a1d1c1b201d1c1c231f1c2428283b4c6d98bcc8ccccaea8a7bbd7d9dadbdddcdbdbdddddd dddcdededddddfdedededfdfe0dfdedfe0dfdf e1e0e0e1e3e1e2e3e3ded9d3d4d6d6d2d5d8d1d0cfd3d5d5d6d6d9dee0e0dcdce2e3e2e1e5dfdb d8cecab5ae6d50341a100a0b0a09090c000000020d080902020b03030000000602000000000300 00000108080900000100000003030908040303080b070b0e0f0f0f151616191817151210101513 181918181c1e191a1a201c1f1d2222212b2f3c587fbec7c4aca7a6c5d7d8d9d8dbdcdbdbdbdcdd dddbdcdddddddfdedddddee0dfdfdededfe3e0 dcd9d9d9e0e0e0e2e0dad2d1d3d7dbe0dfe0dad8d7d9d9d8d7d4d4dee0e1dedde2e3e1e1e2dfd4 cdcbca926144302616110c050a080009000400010000080105000300000407070d0705020a0009 00020d0d0d0800000008000000050505070101060e05080b0b0c0c0b1416191513110d1013191a 171714181c1b1c1c1e1a1b22201d201e1b1f2e3f6b7fa4a8a7a7a7c5d3d8d7d8d7d8d8dbdbdcdd dddbdcdcdcdddedfdddcdddee2dedfdfe0dfde ded8d6d2dbdfe1e1e0d5cfcfccd2dadfdfe0e0e4e4e1e1e0e0e0dee3e4e5dee0e2e2e2e2e1d6cd bcb4a7652e282317130e0f080a090000000000000000080e0500000000030a0a0d07050200110d 00080d0c0b04000004000b000005090907070a0b0b11100a0d0c0a0b121212090f111413131719 13101616191d1a1a1f1c1d1c171b1c1d191b232b4a5c7eac9fa3abbfd6d7d8d7d7d8d9dbdcdcdd dddcdddededededededededfe0dfdee0e0dfde dad3d0ccd6dde0e0ddd3cbcbcbccd0d2d2d3d4d7dddedfe0dfe0e0e0e0e1dfe0e3e4e1e0e0d1d1 9e75583523231616110d0c08090503000002040000010909080400000204060604080500070204 040807050a09040000000000030302070d0d0d0f110b0b0913111111100a0e0d16151510111114 1416131618191d1f23241d1b171819171b17141e21334c607c8f9dc1d5d6d7d8d8d8d7d9dbdedd dcdbdedededededededfdfdfdfdededfdfe3e0 dad6d1cbd4dce0e0dad3cccbcbcececacacbd0d4dbdde1e1e0dfe1e2e0dfdddee2e4e0ded8ccca 885e392b1a171412110a0803030301000000000000000b000000000008040807080707070c040e 0e0c050202020000000000000b0605070c0d100e0d070b080c0c0808090e130e16151713100c11 121514151c1b1a1b231f1b1b17161717181b1b1b20202444647b8fd1d5d6d9dbd8d9d8d8dbdcdc dcdddddededededfdddedddedededee0e0e1df ded9d1cbd4dbdfe0d9d3cbcbcbcbcececbcbcecfd5dcdfe1e0e0e1e3e2e2dddfe2e4e2ded5be92 793f2e23151511110f0d0200000605000001000000010400000200000e020808080707080c080c 060a02020202010d00000000130707050c0e110706060c0e0f121209090e0e1111151816111211 13151816130e1616161e1d1d1714141b1e1d191b201c22324d5d7ebed5d7d8d8d7d8d8d8d9dcde dcdcdddedfdddedfdddddddededededfe0dfdd ded7d0ccd5dedfe1dad2cacbcbcccccecccacacad1dce1dfe0e0e1e2e2dfdddfe2e3e0ded2af88 4e2f1f1a150c0b0d0f090000000005000000000000000101030901000100020303080b0b040c0e 0b09080509070101000000000900000610120f060304041417130d0a0a0d131715141816151417 1516161511111616161f201a1313171a1d1a181a201c2024335472d4d4d8d8d7d7d7d8dbd9d9dc dcdddcdddedddededddddddfdfdee0dfdededd dbd4ccc9d9dfe2e1dbd3cacbcfcecfcfcdccd0d2d4d5dedee0e0e0e2e1dfdde1e1e0dac9bd825e 341b1715080506080707000000030800010001000a08040400000a0605000000110b0c08050a05 06020a0305070808090608020b0405100e060607090c140c0b0a1114111514171615110c0f1514 15151614181617151c1c1a190e0d1116141612121d1c1f1f242a46c6c8d3d4d5d7d7d8d9d8d9d8 dcdcdddcdcdddddedededfdedfdfdededededf dcd4cfcad6dfe0e0ded3cdd1cfccced0cdccd2d6d6d0d8dfe0e0e0e1e1e0dee0e1e0d7c9885e37 2315120c0505050809060600080b0800010000060c050606000006060601000007070505050a05 0100080a0f0c0c0809080a090c0d0e0e0800000b0b1013100f0d11171a18121a1616110e0f1717 151516161b1917171c18161715161717121215121213191c1a2540a0a6cbcdd2d5d5d8d8d9ded8 d9dbdbdcdcdddededcdfdfdedfdfdfdfdfdfdf dcd5d0cad6dfe0e1ddd4ceccc9cacbd4d3d6dcd8d8d3d6dedfdfe0e2e2e2dedee0dac8ae5f3824 1c121210090a0b0707060604060b0b0000000002060209090000070009000a0a09050303070703 000708040e0e0c0b0b0809080c14121106070b0b0b12130c0e1314161612131b1a171117161614 17181018191d1a191a17151818130c0e0f161514171512151919285a82acbec5cbd1d6d6d7d8d8 d8d8d8dbdbdcdddedbdededededfe0e0dfdedf ddd6d0cadce1e1e1d9d5cfcbcacaccdadfdddddddedfe1e2dedee0e2e2dfdfdfdfd2af5f2b211c 16150d0b0f000e0e0400000303040a0000020f04050301030308040a0c0b090f10110c0c0e0e0c 0c0206050c110e10080806070c0c04050c0c0b0b0a0a070c0c1017171414171612161515171810 0f160a1114121917131314151a130d0d0f1113161c14151116172324416587adc0c8d3d7d6dad7 d8d9dddddddddbdbdbdddfdfdfdddedededfe0 dbd4d0d0d9e1e1e2dad4cbcbcecfccd2d4d2d2d2d4d6d8dedcd8dedee0e0dddee0cbaf723e2519 130b0a0e09070a110803020400000b00000608040500050904070c0a0c0e0d1214141411111313 0e0b04060614161315110d0704030002100d0f0208090c1211171b0f1213141411161716161613 1916161a151515120e0b12151312140f11100f141812161315141c1b244b65a7c0c3d1d3d4d6d7 d9dbdcdde0dddcdbdbdcdedfdfdddedededfdf ddd6d1cfdddfe2e2ddd6cfcccfcfced2cfcacacacad0ced1d1cfd5d8d7dadadedbd0a1683c2619 100c0c0d07070a0608050b0c00050600000706000501050b0b070c0a1116131415151311131717 160d0c05060c0f12161605030003000a0b0d100a060c0f15161c1c161413140d15161816171b1a 1611141319191609090e0d120e11160f11100f11151a15131c15181b1b2b437fc2c0c7d0d4d7d8 d9dbdbdcdddddcdcd9dbdbdcdddfdfdfdedfdf ddd5cfcddddde1e0ded1c9cbcbcccbd1cbcbcbcbccd0d0cccacacdcfd0d7d8dcdcd0915f372315 0c0c0d0d070a0a090d0a060f0006060000000008080701110c0c110c111714171a1d1513171717 1b100b09080c0e1116110d09060906060e110d0c09070f1a2023201a1513130d13171015151b18 121916131215180a0a0e0e0e0e0e0d0e100e0e11151a15181b1716161d251d5772b5bacad5d8d8 d9dbdcdcdcdddbdbd9d8dcdcdcdddddddddede ddd6cfc9dae0e1e1d7cfcacdc9c9cdc8c9cbd0d8dcdcdddfddddddddd7dbdbdcd9b9864b261a0e 0d120b0f0c0c0c0e0e0c0606120d0a0a0a080e0e090c060d11191717151a20171c251c181b1c1c 25271d170c0c101515160c0d0a0e0e130d0c070c0c0a171f2722201917151715150c120f100d0d 1314151717100d110e0f0700070c0c0c071114110d0d14151a16151512141a1e3e64a8bbced4d6 d8d8d7dcdbdbdddddcdcdbdbdbdbdcdddcdcdd dbd3cbc8dadcdfdfd6d0c9cacac9c9c7caccd0d7dbdcdddedfe0dedfddddd9dcdbcd7c1a261a10 0f0d0a0e070505110c0d060b0408110a0a060b0a0b0b04131422191a1c20211c1c2222171e2624 2b2d1f1b0d0c13181a1617160e0f0c110e0e03080c0d0a1e1e1e1e16181a140f16100d0d0d0c10 12121515110d0f0e0a0c0e00070906100e0b1616090d10101a1a1617121618182e5bb0b8c5ced5 d6d9d8d9d9dbdcdcdcdbdcdcdfdbdcdcdbdddf d9d2cbc8dae0e0e0d7d1cccbcbcbc9c7c9cad0d5d7dedededfdfdedfdeddd9dbd9c76b381f1814 0e0c0c0c0a0a070e0d0a090c09070a080a0b0407090d081514231f212124212016202520232626 2d401d150d0b1520221c1815100f0c0b0d100f0b0b0c0c181d271e1818150f100e0f0d0d0a0d0d 050d0d14110d0f0c0b0a0a0d0d070b0e0b1212130d0f0b10181615171614151627457fa6b9cace d1d6d8d9d8d8dcdbdcdcdcdcdbdbdcdcdcddde d9d2ccccd6dedfe0d9d1cccccecbd0cac9cacfd6d7dcdedee0dedfe0dfdddbdbd992662c1f1411 0c0a0c0c0609070c0d0707090b0a0d06070b11160f0e12161d1e2630362d231e17212628232425 2e2919150f0c141f2724181b1a110a090f130d0e0c0b0917212a261b18131010100d0b0b0d0a0a 08030c1013101111120d100e0c0807111414141614100f1312121417191e1b1e222f6685a8c3cc d0d5d7d8d8d8d9d9dbdbdcdddadcdcdcdddfde d9d5cfcbd8dedfdfd8d2d1cecececbc8c8c9cfd6dbdddddfdededfdfdfdedddce0753c2216140d 0d08050a090a090d04060b0f0d0805080e0e1718131620211c20313f3f383226222328231a242f 2f20131616191d2b322c231c190f0c0c1515150d0a0d111a1d25272219131618120d110f0f0d0c 0d0e171414140a0c0c10131815090e1011111814110c0b13060808141515161d1d1f3367a2bcca d1d4d9d7d8d8d9d9d8dbdbdadbdcdcdddde1df d8d2cfcad8dee0dfd7d1cfcccdcbcacacacacbd3d5d8d6dddde0dedfdfdedde0dc6b2c2218120c 060e0c0c090904080a0c0f100b08070c12111118181a222220223f4449633e332a28292320242a 281915131a2626383d332d23231b160e131a160c0b111e1a1f2525261717161b1919161508120b 0a12171414140e0e16131314160e0b0b080e0e0e0f0c0d0d060b0d0e140c161e1a1b264369aaca d1d6d9d8d9dbdcdcdbdbdedadadcdcdddce1df d9d1c9cbd7dfdfded7cfcecbcacbcacbc9c9c9cbcbcbccd0d3d8dddddddcd7d5cb30261b16120d 0b0b0b040909060d0d0c0f0a0e0e090f14111c1717172525242c444e585845352f272921212526 251a131a212a2e3943453331291f1d10181b1d12171b1e1b1722252a201615191d1a171613120b 0b1215161b160e161810121516110b0b0a0d0a0e0c0e0d0a100c0e0d0e0d101a1d1b1f262074c5 ccd7d8d8d8d9dbdbdbdbdcdcdbdcdcdcdcdddd dbd1cbcad5dfdfddd6d1cbcacacacac8c7cacacbc9c7cbcad1d9dededfdcd5cf9450271b161710 070c0c100d1009090d0d13140f090c131c1a161c161a2b34333c505e7b5a4541352e2e2a273227 25201c232a373c46543e3b3b3e2a1b15171a1e17171a1d1a12171c2a2521191d20201716141613 151518120f0d1112100e1412110f191914151113170f0e0c0d120f0811130d161e1c1a22363e8c adc9d5d7d7d9dbd9d9dbdddcdbdcdcdddddddd dbd3ccccd5dedfdfd8d1cecbcacacac8c7c8c8c9c7c9d6dbdedfdddddddcd8cbbe502619151516 0f0c0c070d1312110f0f12180e0d0f18201c17211b26403f41455c5f5b53454b473c372f353a36 291f1f263b434d494441413737311f121d2023171a1f1c0a16171a2624231d1d201d1616171413 181b1915140b080e0f11101112151b1b1919141713130f140e12120d0d130e161b1c181e263d79 9fbed4d6d7d9d8d8d9dbdcdfdcdadcdddddedc d7d5d2cfd5dddeded8d1cccacacbcdc8c8c9d0d0d0d0dadcdfe0dededed9d8d8be3e251a13130e 0d09050c0b0c0b0b0f0d0d0c10131a212a282523264a454d52575c5c585359584e3e3d3f474743 3724273e3f4a4a44444641384036251b1c22221c1a1a170c141a172323221c1d1f1d1511171816 18181a14140c0d0c13191513161b1c1e1d1d1c16130f1314100e1412100d0f13191a1a1a223e74 9dbed1d6d7d8d8d8d8dbddddd9dcdcdddee2d8 dbd5d2d0d5dcdfdfd4cfcbcac8c9cac8c8ccd8d9dadcdddfdfdfdedfdfd8d4d694341c130f0a0c 06090d070b0f0e100c0b080a11181a252a2d282a32575155575f5e5c575a615b55464e54564f4a 3c303e454f4b4b4b4b4f4b3e403a251b1b24241c18160c0f13171b2021191a1f241f140f101414 0f1815111111141717151613181e1d1e231d1c19141113170e090a15150d0e131a1b1d1f1f3f73 9bc1d1d6d8d9d8d8d8d8dcdddddddcdddddedc ddd9d7d7dde1e0e0d6cdcccdcacbcbcac6c6d2d3d4d6d8dededddce0ddcdc89d69221816160b06 0704050a0a0610141a161619181d2c3632303142675d61676b665e656b6f746d5f636b76655b50 484251575767615a608451463e362d241e1d2218171311111617191a1b1d1c1a261f1411151514 171715111112151b1b1b1a1a1b232627272b26271d161414110c0f1312120f0f11131b22212968 aabad1d4d7d8d8d9d9d8d9dcdcdddcdcdbdddc dddfe0e0e4e6e1dfd8d0ccd0d0cccbcac7c7c8cbccc9d1d0d4d5d5d7dcc9c18751221819120f09 0408080c0e1211151d1b13181a29343b33303d4f5c5e7677736f63747872757170849a8176615b 4f4e5a6a70976a696968534838332d27231a1a17111417151d14171b1c1c1a1b1d1f1412111616 181717111815212c342e252423262b30332f2f30281e1614160b0b120c0f0f0b0b111a22212960 9fbcced4d5d8d9dadcdbdfdedbdcdcdcdbdddc dddddfe0e1e1e1e3d7d1cacacbcac9d1cbcccecfc9cccecccccfcbd6d7e6d97d4e1f15150d0a09 0908080d101613160b0d111b262f353d3c35495c666d809b7571727e7c79797881979289827666 5d6c7682889975736e6652483333382f2b201f1a1b18181a1d1918201f1b1a1b1b181813111819 1a1a2826212f3346594c3b302e2f30363f403c3e392a1a161914120e09090d080711161b1c2355 9fc0cbd4d5d8d9dbdbdcdbdbdbdbdbdcdcdddb dddcdee0e1e1e1e1d7d1cac9c9c9c8cfcbc9d4d6d7d7d5d7d7d6d4d7d8c6b87c3d1e17170e0506 0e07090e1419181a10101519333b3f453e455268738085867c717681848e8e939fa198928f7f72 798b939d96877d78776a573b5a574f41342a241b1b1e191e232021231f191d1a161619151d1b22 242c3c35344552585d645a43423e3e3b444d4f5247342d251e1d170e0e0d0813131416161b254e a8b7c6d3d5d8d9dbdbdbdcdbdbdcdcdddddddb dededee0e0e1e0dfd6cecac8c6c5c8cbcacbd5dcdedddedddcdbdddddedfad643f1b1516120804 06090e130e1716130d111b2636475447454e64718883888183818e9398989ba9aeababa5a39195 9a9ea3a59e8d8886837d80829e7f8576494238322e3233302e2826241c1b1b181b1f1f2226303e 42495458666b77766c7d6d6465626056515a605f5e5a4a33291c1911090b0d0f1313161a1a1e17 58a3c4cdd3d6d8dcdbdbdcdcdcd8d8dbdcdddd dedcdee1e0e0dfdfd5cfcac8c6c5c6c9c9ccd4dcdededfdedddddddcdcb38e5e231a1415090907 070e0f100e0c17161113312b445258504e67728495928e858e949b9e9fa6a8afafafaeaea7a9aa adacaaa8a396959395939da5948f8473564e43444d4c483e362e312e27241f2226262e2f364e5a 5e687878878d8d80797373757f79756264686f67655f5a4833241d120c0b0a0e12181a1a1c1f23 376dc1cad3d5d8dcdbdbdcdcdddbdcdcdbdede dededee0e0dfdfded2cec8c8c7c6c7c8d5d7d9dbdededfdfdedfdedcd7c7833b1a1614130a0b0d 09100f0f0e0c1713151f2a3e4f585b55676c7791959492919c9fa5a3a8acafb5b5afb0afa8afb6 b6aba5a9a49da6a8adb4b6b09b8f857e6b616063665c50504d423a32312c292c313538394a667a a6929b929b9ea592877d8690928c887d707175776868635a3e3027171615130c12121a1a1f1d22 2261b3cad0d5d9dcdbd9dde0dddddddcdce0de e3e6e6e6e6e4e5e3d4cfcac8c8c8c9d2d5d7dededededee1dfdfdedcd99f682a1e1714120e0d0a 0d0d0e0d0d121316212b36405a5f606a7a8995989a9599a2a2a2a8ababb0b7b3b4b7babcbbb7b4 b5adb1b0b0b1b1c4c4bebec1b6a89f9a88828288a7847b7b775b5f5d55484b4b45636d79869bb0 b2afb0b7b8b0a4988f9da2a4a09a90908888818077726d675c413525161313150a0e1616191922 2e4281c1c9d4dcdcdcdbdcdddedddddedcdede e1e6e6e4e6e5e5e5ddd7d3d2cdc9cad0d0d0d9dededddcdcdfdededed9ab5d281e18110e0a070a 0a0d0c0e0d111e202a32364b5f706a7b828c949ca39ea4a4a6a7aaadb0b4b6b2babbbebdbdbcba b6bababcbfbcc2c4c8c3c5c6bcb6b1b1a39d93969c8e8881818582756767636a7b8b9b989fb0b7 b8b4b8bcbdb6a99999abadaeaa9c93938d8c87857d77766c5f4c3832221716111410141f1b1920 263875a6c3d1dbddd9dbdbdddddddddfdfdddd dedfdfe0e1e2e2e2dfdeded9d9d7d6d7d5d4dbdfdfe1e1e0dfdededed2b658241c16140e0e0f09 0a0d0e0e161d2224554045526d7777828992969fa4a2a5a7a8a8acafb1b5b7babbbdbdbdbdc2c4 bbc2c6c6c6c6c7c9c9c8c6c7c7bdbcbdb1a39fa3a9a9a7a8c3a9c2937d818ea1a1aab8b3b8bdc2 c3bcbcbdbdb5aca7aab0b1adaea49c9b94928e87837e7b766b594c3c2e1f170f131714201d181f 222e73a3bcd0d8dbd8d8dcdedddededededddd dfdfdfdee0e0e0dedcdde2e2e2e1e0e2e1e0e1e2e4e6e5e3e3e3e1e1dda74d211c16140f080706 0a0a0d13141b252d554546597b7f82848b8d949ea7a5a8aaa8a7adaeb1b6b7b7b9c0bebdbdc5c6 c6c8c7c6cbcac9cdcbc8c7c8c6c0c0c1b7aeacb0bababcc4cbd0ceaaa3a3aaafbbbfbfc1c4c5c6 c8c6bfbebeb8b6acadb6b7b3afa8a49b97928c8788867f7971595047372c16101315211f1c1a1c 1d245fb2c7d3d7d9d9d8dddedededddfdddcdd e5e5e7e7e7e4e4e0dedededededdddd7dddfdfdedddee0e0e0e0e0d8d67b2f221b1818110c040e 0f0f11131b1d252e3e4c5e6e82848b93939397a6a8a9abafaaa8abadafb6b9bbbdc1c1bfc1c7ca cccbd0cfcfcfcfd0d1cfcccec7c6c4c3c4c2c1c7c8cbced0d0d3d4cdc5c6c6cbcbcac7c7c8cacb cbcbc7c4c4c3c1bcbbbbb9b4aeaaaaa09a968b878f8e8a86786c56524d31271813182f201a1b1c 20223165b7cdd6d8d8dbdcdcdddddddddde0dd e6e6e6e7e7e6e6e4e5e4e4e3e5e2e1dddfe0dedddcdcdddedcdcdbd7bf432d2d1f1713110d070d 080b1414191c22384151607785858c939a999ca2a9a9aaafaeadadacafb6b9bbc0c2c2c3c7cacb ccd0d0d0d0cfd0d1d2d2cfcecdcacbcac9c9c9d0cfd0d1d1d5d7d4d3cfd0cecfd2cfc9c8c8c9cc cbcbc8c8c6c6c4c2c2bebcb9b3adaca69a938e8f90908e897d715e5a53442e17131725251a1a1e 1e1e243989c1d6d8d8dadcdbdcdddddedbe0df e5e6e7e7e7e6e7e7e6e5e5e5e6e5e4e6e5e5e2e1e2e0dfdededed9d6a44424231d190c0e0f0d0d 0b111518141c253b4155637585878791959aa0a7abaaa8adaeafafafafb6b9b9bdc0c4c5cacccc cfd3d1d1d2d0d2d4d3d3d1d1d1d0d0cfd0d0cfd2d2d2d4d1d4d4d3d3d2d3d2d2d4cfcacac9d0cc cccbc8c8c8c9c7c5c4c1bebcb8acaca69b96918d908f8f8b7e76695b5b51332121171e27241d13 1b1b1f5288bcd3d6d5dbdcdcdcdddcdcdbddde e3e5e5e5e6e5e6e6e7e5e5e6e5e5e6e6e5e6e4e3e2e2e3e3e2e2d9d59b412a2118110d140d0d0d 0d1b1f242028343947555e7284888e969c9fa1a8aaaeacadb0b1afb0b1b7bbbabcc1c5c8cbd0d1 d1d6d8d4d3d4d7d7d8d2d1d2d2d2cfcfd1d4d5d2d1d0d0cfd1d4d8d5d7d7d6d3d1d1cfd0d1ced0 d3d0ced1d0d0cac9c5c3bdbcbbb7ada99c99969791919088868173635b5842281b181c22232216 181a385db5c5d4d7d9dadbdee0dededddcdfdf d5d8dbdcdfdfe0e2e2e1e1e6e5e5e5e3e5e5e5e2e2e2e2e1e2e2d6d8833b2522170f0e0c0d0c0d 161f1f262e34353a46555e738088919b9b9fa8a8a9acacadb0b1b3b1b1b6b9bac3c7cccdd1d2d3 d3d7d8d5d4d5d7d6d6d3d1d6d3d3d1cfd0d3d2d1d1d1d2ceccd1d4d5d6d8d9d9d3d2d2d2d2ced0 d4d4d2d1d0cfcecbcac1c2bdbcb8b6aa9f9e9d9b9292948f898777665d5b4c361d171a2525221b 17182e5db5dad8d9d9dbdcdddddcdfdfdedfdf d1d5d5d4d4d1d5d8dfdfdee1e1dfe3e2e3e3e4e2e3e3e3e1e1e2d5b8762b251a140d0c0c0a090d 1a21262831383536405563727f8b949b9d9fa9a9aab2afb1b4b3b8b7b1babebec4cdd0d1d2d4d5 d5d8d8d7d6d6d5d7d8d6d1d5d5d4d6d3d1d1d2d2d1d3d3cfcfd0d4d6d7d9dbdbd6d3d3d4d3d4d1 d6d5d5d3d1d0cfcecbc4c2c1bdb7b6aea1a09d9a969595938e887c6a5d5b55322519192629221f 1419265b8be1d6dcd9dbdbdbdcdddedededede dcd7d8d6d4d0d2d8e0e1dfdfdfdededddededbdddededededfdccea264241d1915120a0c0d0d11 192730332e3132373e4d5f707c8b9a9da1a2adacadafafb5b8b9bbbabbbabec4c5d0d0d1d3d7d6 d7d8d8d7d7d7d6d9d9d6d6d7d7d7d6d5d1d1d3d4d3d5d5d1d4d1d4dbd9dcdcdcd6d5d6d5d4d3d4 d6d6d6d4d3d1cfcbcbc7c4c3beb9b4b0a6a69e9c9b959795948d8779655e593e2b1b1f2128231f 1b1a2650afd5d3d9d9dcdcdddededfdededede e4e2e2e2dde0e0e3e3e4e4e5e5e3e2e2e3e4e2e2dfdddedcdbd9d8cb6e231d151210080d0d0d16 20232a2d3031313d434e6375868f999ca0a0a5abadafb4b4b6b9b9babcbec4c4cad0d2d6d6d7d8 dcdee0e1e0dedededededddddddcdad7d5d5d7d5d7d7d7d8d7d7d7d8d9dcdfdedcd9d7d6d4d3d6 d6d5d7d8d7d4cfcfccc8c6c8c2bcb8b0abaaa39f9b9794939a968c7b6a675e4331211a1a1e2323 221b235682b7cdd8d8d8dcdddddddedfdfddde d7d4d6dbdee0e0e3e2e2e4e5e9e7e3e4e4e5e6e6e6e2e1dfe0dcd19d6c271a191413120d0d1316 1e25242a303231344b5663758794999b9fa0a9afafafb5b7b9b9b8bcbdbfc4c7cbd3d6d3d1d7d9 dde1e2e2e3e2e0dedfe0e1e1dfdcdcd8d7d8d8d6d7d9d9ddd8d8d8dbdbdcdededcd9d7d7d7d4d6 d7d7dbd9d7d6d1d0ccc8c6c9c5bdbbb1aca9a8a09e9c94939b958e7e7067654d3c2819181e2324 251b235682b7d4d8d8d8dcdcdcdcdddededdde d4d2d3d4d6dddee1e2e1e1e2e4e4e3e4e4e5e6e6e4e4e6e2e3e1d5956c1c1b1a150f0e0e111518 1a272628313230344f5763768a919b9da0a0a9afb4b4b5b9b9babdc1bec2c8ced2d6d5d4d5dbdc e1e4e7e5e5e4e3dee2dfe0e1e1dfdfdcd9ddd8d8d9dbdcdedcdddbdbdbdedededddcd9d8d9d7d7 d7d7d8d9d8d5d4d1d0c9c7c6c6bdbab6aca9a9a3a19f9b999a938e7e77706d5546312018222227 221c1e54a6c7d6d8dbdbdcdddcdcdcdcdcddde ded4d3d5d5dee0e4e3e2e2e2e3e3e2e3e1e1e3e1e1e1e0e2e4e2ca9a6830201a0e0c0c11141a1a 222626262d35363d47596b8287919a9ea1a3a8b0b8b8babbbdbbbebdc1c4cbcfd0d5d7d5d7dcde e2e9ebeceae9e7e4e3dee0e2e3e2e1dddcdedcdedddddededededcdcdededcdedddcdcdcd9d9d7 d8d6d7d9dad7d6d2d0cbc8c7c4bab6b5afadada8a2a59a9997918f817c75715c4a332423253127 221c29548ad0d5dadcdbdcdcdcdcdcdcdcdddd e1e0e0dfe2e0e2e4e4e7e3e6e5e4e4e4e4e2e1e2e2dfdfdedbddcf925b2e231c171416161d2121 22252b2831353c3b415e6c7d8492979da6abaeb4b6b8bcbec0c0bec1c3c5d0d4d4d6d9d9dee0e1 e5e9eaeaebf0f0edebe9e6e6e5e5e4e2dedddee3e1e3e5dfdedcdcdedfe0dfdedddedfe0e0dedd e0dcd8dbdbd8d5d3d2cfcac4bdb8b5b0aeadaaa8a4a69f9e9193908a827a7662453b2829292825 1a1a305486c5d6d9d9dbdbdcdbdddedededede e2dfdfdfdfdfe0e1e0e0e1e4e4e4e4e6e4e4e5e7e4e3e0e0e2e2caab5f27211d17181b171f2425 22223131312c3335515e6c768491999fa9aaaeb1b6bbbdbdc0c2c3c2c4c5d2d4d5d8dbdbdee0e1 e5eaebedeef3f3f1efefefefe9eae5e3dedee2e3e2e2e3e0dfdfdddedfe0dfe0dedde5e2e1dedd dddcd8d9d9d7d5d4d2d1ccc8c2b9b6b1b5b2adada6a5a09f9693918b817e755f4a362e2a292726 1e1d2a577cbed6dbdbdcd9dbdbdbdddedfe0df e5e4e5e3e3dfe0e1dcdfdedddddfe0e1e1e3e1e0e4e3e5e2e4e4d6965a2c251f1b1a1d1c1e2428 282832313430323e515c757f869199a1a9acacb3b5bababcbfbfc4c6c5c5d2d2d5d8dedcdcdfe3 e9e9edf3f3f4f3f1f3f0f0f1ededeae4e0e4e3e5e5e5e4e3e3e3e3dfdce2e2e2dfdde6e6e4e0dd ddded9dcdcd9d5d1d2d0cbc8c4c0b9b8b3aeb1ada6a6a4a09c99968f83807d5f4e3d2d30353026 1d1c243d79c4d5dadad7dcdcdbdbdddedee1df ebe6e6e8e5e7e4e6e4e3e2e1e1e3e2e0dedddddddedee1dfded8bd8753322f26241b1a1b202222 232f3436312f333a5469757c8b929ea2a4abb2b8b6b6babec4c4c4c9ced0d7d7d6dbdbd9d8dfe5 e6eceff1f2f4f3f2f4f3f2f2f0edece7e7e5e5e4e6e7e9ebe5e6e4e2e1e1e3e4e2e0e4e5e5e2df dfdfdedddddcd8d4d3d1cbcbc9beb9b7aea9aeaca8a8a7a0a09d998e8a83826f574a2f272d3124 1d1d284371add0d7d9d9dcdcdcdddfdfdfdde0 e6e5e5e7e5e6e5e4e4e4e4e4e4e5e4e6e4e3e1e2e0e0e1dedcd5c0774c31302c251b1a1b1c2322 252f3732282c2d395469757e8b8f9fa2a6acb1b3b5b6bcc3c5c6c7cad0d2d5d6d6dbdbdfdce0e3 e5ebeceff1f3f3f2f3f2f1f1efefe9e7e6e7e3e4e5e5e6e5e4e1e0dfdfe1e1e1e2e1e4e4e5e5e2 e1dedededfdeddd7d6d3c9c7c4c0bcb7b1adadada8a8a6a2a39e97918d857f705f4b322f2d322a 1d1a273867c1cdd6d8d8dedcdcdde0e0dfdede dcdddedfe2e4e3e3e5e6e6e4e4e8e8e6e6e6e4e3e5e4e3e3e2d9a973432e2a2b251e1a1a1b2122 222f352e262d333c577575798d8f97a2a6adafb6b6b8c0c4c5c6c8d1d2d2d3d3d5d9dedcdcdee0 e3e6eceef0f2f1f1f1f0eeeeedebeae9e6e6e3e2e4e4e5e6e5e5e4e0e1e3e1e1e1e1e5e5e5e5e2 e1dfe0e0e0dee0dddbd2c9c8c8c1bdb6b1b0aeadaaa9a7a8a1a09996938883755c4c39322b2d2a 1d1d223665bad0d6d7d8d9dcdedde2e0dedede d3d3d1d5d9d9dbdedee1e1e0e4e4e3e5e5e7e5e5e5e5e5e4e3db9256402f2a28251e1d1f252822 22262528282f2f345364697d8d96999fa7adafafb8bac3c6c9c6c8ced1d0d5d5d7d7d9d9d9ddde e2e4e9edf0f1f0f0f0eeebeaebeaebeae9e9e6e7e9ebedecededebe5e3e5e1e1e0e3e6e9e9ebe4 e3e1e2e2e1dedddfdbd3cfc9c6c3bfbbb7b6b6afada9a4a4a19b9b9a928a80745c4e3b332b2c2c 231b223962baced4d6d9dcdddedfdfdfdfe0e1 dbd5d5d7dcdee0e2dfdbdbd7d7d7dddbdbdcdedfe0dfe2e5e4e361472f2c272729201d1d272729 2a282527272938394c61707d88919ca8a8acafb1b7b7c3c5c6c9cacbced2d2d6d8dedddde0dddb dde4e5ebf0efeff0f0eeeaeaeaecedecebe9e7e6e6e9ebebedeeede7e6e3e3e4e5e4eaeaeae6e4 e3e3e3e4e1dedcdcdcd5d2cec6bfc2bcbeb8b7b4aeaca6a3a19c9b968f848177604e3b322f2f30 2421233560a3ced4d7d7dbdde1dedededee1e0 e4e3dfe0e1e2e3e6e5e4e4e0dfdfdde1dddcd6d6d5d4d9d7d9eb9b6e5d31282b291f2724242428 2a312e29282931394d5a6a7d848f9fa8abafb2b7b7bdc4c6c8c9cbccced0d6d7dbdddee0e0e2de dfe5e5e9ecececedebe8eceeecececedeeecebe9e9e9ebeaececede7e6e5e4e4e6e5e9eae6e4e4 e3e3e1e1e0dededcddd7d5d0cabfc1bdbcb9b7b4b6adaca6a19e9b96918584775b4d3b3232302e 2a2228475f94cbd5d7dcdbdddddcdedddddfe0 e6e5e3e5e5e5e5e6e5e4e6e4e3e5e4e4e4e3e2deddd5d7d7d7d89b7360372f2b291f2724232628 2d302e292b2a2a37485a6c748798a1a5acaeb3b5b7bcc2c5c7c8d1d3d2d2d6d8d9dddfe1e1e2e3 e1e2e5e7eae9eae9e7eaedf0efedeceeefedeceaeaeaeaeaebecebe9e9e7e4e5e5e5e7e9e6e4e4 e4e3e1e2e3dededcdcd3cfcccac6c4bfbcbbb8b5aeafabaaa09e999493888477634d3a3531302c 2e212a435c94cbcfd8dcdcdcdcdddddddddfe2 e5e4e4e6e6e5e5e5e5e6e7e5e4e6e6e6e6e5e5e3e3e3e4e4ddd09e6f2528282a29252423282837 3327242223232c364c5d707f949fa9aeaeadb3b4b7b9bec5caccd3d4d4d6dbdddddedee0e2e3e3 e4e3e5e6e7e7e7e6e9ebeff2f2f0f3f0f0efedebecece9eaebedefebe6e6e5e4e6ebe9e6e7e7e6 e6e5e4e2e0dedddddcd0cccbcac7c5c3bbb9b9b4aeacaaa8a29c95948f86806f58493534353231 2c292e47709ec7d0d5d9d9dcdddedee0e0dedf e5e5e6e6e6e6e5e4e4e5e7e6e5e6e6e6e6e5e5e3e4e4e4e4e6dcc1743a28272525232421222828 2524211c1d242e3d586579869ba5adaeb3b3b7b2b9babdc3c9cdd2d3d4d8dedddddfdee0e1e3e4 e4e5e5e5e6e6e6e7eaebedf0eeeff0eeeeeeededebeae7e9ebedefe6e5e5ebe7e7eae9e7e7e6e5 e4e4e1e1dfdddddcdccfcecac8c7c5c3c2bcb9b4afafa9a49d9c9b939086766c58412f2b302e2b 2a2a2e4365a4c5d2dadadcdcdddedfdfe0dede e5e6e5e5e6e7e5e5e5e6e7e6e6e6e7e6ebe6e5e4e5e5e4e4e3dba26d4130252424222321222626 25251e1c23263346606e7d8c9ca7adb0b1b4b9b5b6b8c1c7c9d0d1d3d4d8dededde0dddfe1e2e4 e4e5e5e5e5e5e6e7e9ebedf0eeeaededeeededeeece7e7e9eaebece9e5e4e4e6e7e9eae9e7e5e2 e1e0e1e0dddbdbd7d5d1cecac8c8c6c4c3c0bab5b3adada7a19d9892908d796856402e262a3129 29272a2e6597c5d6dadcdddcdcdcdfdfe0dfe2 e6e5e5e6e6e6e5e6e6e7ece6e6e6e6e5e6e6e5e3e4e4e3e2e2df9f67412e2523211f2321242425 2527211e252a3849626c848e9ea8afb1b1b6b7b6b6b7c3c5cacfd1d1d4d5dededddfdcdfe0e2e3 e4e5e5e5e5e5e6e8e9ebeef1efefefeff0edecedecebece7eaeae9e7e6e3e2e5e7e9e9e9e5e4e3 e2e2ddd9dcdbd8d7d4d0cecacac9c6c5c5c4bfbab5b0b0aaa4a19b93908c7b6957462e241e2d2c 28272e3b6c90c8d4d8dbdcdcdddddfdededede e6e6e6e5e5e6e6e5e5e6e6e6e6e5e6e6e6e6e5e3e4e4e3e3e1dfa76b3b2b222123222223232326 272323262b2e38455e6a8591a5abafb7b4b6b9bbbdbec5c5c9cfd1d2d6d7dbdddcdddddfe1e2e3 e4e5e5e5e5e5e6e7e9ebedf0eff3efeff1f3eeeeededeeeeeeeae9e7e5e3e3e6e5e6e5e6e6e5e4 e3e3dcdbdbd6d5d8d5d0ceccd0c8c8c7c3bebdb8b5b5b5b0a3a29d928f8b856d59402a24272626 262634466c9ec2d3d7dadbdcdcdedfdfdfdede e5e5e5e4e5e7e6e6e6e6e6e6e5e5e6e5e6e6e5e4e4e4e3e3e1dfcf6f3b2322222224222425292a 26222628292b3747616d8291a2a8adb3b5b8b9bdb9c3c5c5c7cacfd2d4d7dedddce1dddfe1e2e3 e4e5e5e5e5e5e5e6e8eaeceeecedeeeeefefefeeececedeeefeaeae4e3e2e1e1e0e1e5e6e4e5e5 e2e1dedddbd6d6d6d5d0cccac9c8c9c6c4bcbdb7b7b3b2b1a3a19d928e8882735e402623242528 292936466097c9d2d7d8dddcdcdddededee2de e5e6e4e4e6e6e6e6e4e6e6e5e6e6e5e4e5e5e4e4e4e5e5e3e3e3a96f362b2322222d2723242a29 27232325272b3b4969768393a2a6a9b4b6b8b7bcbabcc3c5c8c9cfcfd2d5dbd9dddddddfe1e2e3 e4e4e5e5e6e5e5e5e7e8ebedeaebedeef1efefececebecebeaeae7e4e1e1dcdde0e1e3e4e5e5e3 e1dedcdbdbd7d7d6d5cfcccbc7c6c8c6c5bbbabebcb2aeaea3a19c918e888674603d2422202527 2c313b487094c9d2d6d9dcdcdddddcdddddedd e2e5e2e3e5e6e6e6e4e6e6e6e5e6e6e5e5e4e4e4e4e4e3e2e2e5c883452c2626242e2b29272c25 2222202325323f4e6e7d8c9ca6a8acb4b5b7b9bebfbfc3c5c8c8ccccd1d4d9d8dddddddfe1e2e2 e3e5e5e5e5e6e5e5e5e5eaece9e8ebedebecebebeaeaebeaeae9e7e1dedddcd9d9dce2e3e4e5e1 e0dddcd8d7d5d7d4d4d1d0cfcbc6c7c6bdbbbbbdb7b1aaa6a2a19d8f8f888774603d2421212142 2c2e3a4f769ac3d2d7dbdcdcdcdcdcdcdddedd dedededddfe1e0e0e2e2e1e4e4e5e5e5e4e4e3e3e5e5e0d1cbc2b3a763342a2725282926252726 24242427333b4c617f92979ba6acaeb4b5b5b7bab9bec3c6c8c9cfd0d2d2d6dcdcdedee0e0e1e1 e4e5e5e5e6e7e8e5e6e5e5e6e7e6e6e6e7eae6eaebeaeae9e9eae4e0dcdcdbdddcdee0e2e2e0df dededed9d7d5d3d1d2cfcfcfcfcac9c6bfb9bbbcbab4ada0a09f9b948e8a83705b462b20222328 2e2e394e85a8cad5d8dbdbdedddddcdedededd dededddddedddddedcdedcdedee3e0e0e1e1e1e3e2e1cdc2b5a3a18c613c2f2a272c2b24272928 221e26263947566e88979ba3a8acaeb8b6b6b5b7b7bcc3c5c9ccccd1d2d3d9dcdededddededfdf e3e5e5e5e7e9e9e5e7e7e4e4e5e4e4e5e7e6e6e6e8eae8e6e6e6e2e2dededfdedddde0e5e2e0e0 deddddd9d5d5d1cfc9c9cacacacac9c7c0bdbcbcb9b0a7a09b9b9a94908d836b61482c201a2127 2b2b3b5887a8cad7d8dcdbdedddcdddedfdfe1 dfdedddddcdcdcddd7d9dcdcdcdddcdedcdddfdfddd7c0a9a1a1a5917c4a3d312d2b2122272625 1a21282d3f4d5a778c9d9ea3a9abaebab6b6b4b7babebfc6cacbcbced1d3d9d9dddddddbdddfdf e0e4e3e5e5e7e6e3e4e3e2e3e3e3e4e3e3e5e5e5e6e5e5e6e5e4dedcdddedfdedfe0e2e2e1e0e0 dddbd7d4d5d2d1cbc6c3c8cac9c4c5c4bebebebcb5b1a39a9a9a9892908d826c60432522222225 2f2c33568aa6ccd6d8dddcdddddcdcdedddedd dddddcdcdcdcdbdcdcdbdcd9d9dcdbdcdcdbdbdbd3c6b2a9aaaca8a78e684f383325211e212423 1b23233e515c6e879b9e9f9fa2a9a9b4b4b4b4b7b4b7bdc5c6cac9cacbcfd4d5d8dbdbdbdddddd dddfdedfe1e2e3e3e2e2e2e1e1dfe1e0dfe0e1e3e2e0e1e4e2e1e0dcd8d7dcdee2dedee0e0dfdd dcd8d6d2d1d0d3d0c9c0c4c4c5c8c4c3c4c4bdb8b3aea9a09a9c9794928d87775a462a211a1f24 2d2f416592b1c8d3d9dcdbdddddcdcdcdcdddc dcdcdcdcdcdcdbdcd8d8dcd9d8dbdcdcd9dadedcccb9b6aba9aca9aeb67d64433525211e21201a 1c2334466e6e87959e9ea1a19fa7a7afb6b4b0b2b3b3bec5c5c5c8cbcdcad3d5d6d9d9d8dddcdc dddddde1dfdedddddee1dfdbdededededfdfe0e2e2e0e0e3e1e1dedcd8d6d7dadddddcdcdedbdc dcd8d5d3d1d0d4d1d0cac5c4c3c8c5c3bfbfbdbcb2afa9a6999a9493928d85745f4a30211a2124 2d2f416895b3c6d1d9dcdcdddddddcdcdddddc dcdcdcdbdcdcdcdcd8dbdfdcdcdcdcdbd9d9dddac9c1adadb0ada9a8a7c9845f433225211e1818 1c313c577988939da4a2a2a1a0a1a8b0afaeaeacb0b6bbc2c4c5c6c8c9cad1d3d4d6d7d6d8d9dc dcdcdbdcdedcdbdbdde1dcdcdddfdedcdddcdce1e2e1e1e3e2e0dcd8d8d7d7d7d9dbd7d7d9d8d8 d9d8d4d2d0d0d0cfd1cac5c5c2c0c2c4bdbbbbbbb5afaaa69a958d928f8c8474674a2f221b2127 3236457090b2c6d1d6d9dddddedededededddd dcdcdcdddcdddddcdbdcdededcdddcdbdcdbd8d5c7c4b8b9bbb6aeaeafcbbb7854352d21231d1c 1d334a5d7f91999da2a3a6a3a0a6acb2afa8a9acafb6b9c1c2c2c1c4c5c6c9cdd1d1d1d1d3d6d7 d5d8d7d7dbdbd8d8dbdcd9d9dee1e1dddcdcd9dcdddfdfe0e1e1ddd7d7d8d7d9d9dad7d7d9d7d7 d8d7d4d0d0cfcccbcacac9c6c2bebbbdbcbabab9b5abaaa29d918d8a8d8a8275684b2d221e2227 3238517793adc4d3d6d8dcdddedededededddd dcdbdbdbdbdcdddcdddddcdcdcdcdbdcdbd9d8d1c6c7c2c1beb4b6bfbdb7be95663428271f1a1a 1b3551678d939b9fa8a4a3a7a7a8abafb0a9a8adafb3bbbbbcb9babbbbb9bbc4c7c9cacad1d2d3 d3d5d7d8d8d7d2d7d8dddddadcdddddcdcd9d8dcdbd9dcdcdde1dfdbdbd5d5dbdcdbd8d8d9d9d8 d9d7d6d5d4d0cecbcac8c8c6c2bebbbbbabbb9b7b7aba39f97918c8787868682716033251f2426 313c587796acc5d1d4d8d8dbdedddddddddcdc dbdbdcdcdbdbdbdbdbdcdcdddcdcdbdcded9d7d1c9c5bfc1c0b7bbc0c4b7b7b77c3d2a27231b15 1b3b577d8c949a9fa3a3a3aba8a8abb1acaaa9a7adb1b7b2a9a9acb0a8aaaeb4bcc5c3c5c8ced2 d4d5d7dddcd6d6d8d9dfdedededddddce1dfdcdbd9d8d9dddee0dddddcd6d9d9dbd9dadcdddcd8 d8d8d7d5d2cfcecbc8c5c3c3c4bbb8b8b8b7b7b4b1aaa3a694928c848684868276623b2b20202b 313e64799dabc3cfd7d7dcdbdcdddededfdfdf dcdbdcdddcdbdcdbdbdcdcdddddcdbdedbdcd8d8cec5c0c0bfb6b7c3c8c5bcc7873d3425282716 16334f7d8992959ea3a3a3aaa8a9b0b1afaca9a9acb0aba29d95979c9b9c9da4b0b7b7b8c2c9ce d5d4d3d7d8d7d8dcdee0dfdfdfdfdfdee1deddd8d7d7d9dbdee0dededddcd9d8d7d8dddddedddc d9d8d7d7d2cccccdcac4c3c2c0bbb5b6b7b1b1b0aaa3a1a498928b888686877f7f69452b21212c 324873869eaec6d0d5d7d8d8dddddedededfdf dbdbdddedddedededcdddddcdcdddddbdcdcd9d2cac7c2c0baafbac8d0c9c3bfb03833282e2923 1d2f4f7b8692939aa3aaa6aaa7adb0afafafababa4a299928f8d8a868e8f999fa0aaadacb5c4c5 cbcccdd1d2d7dcdddfe0e0e0dfe0e1e1e0e1dfdddbdadbdedfdfdedddbdcd8d9d8dcdedddfdddd ddd8d6d6d4cfcbc9c9c6c3c0bebab4b4b0b0afaca4a09d9d96938c8b8b8889817f6b5a2b23242c 345977839eaec5d0d4d8d8dbe0dcdddfdddfe0 dddddddcdddedde0dcdcdbdcdbdddddcdcd9d8d6cac7c2c2b4abb9c3d0d5c1babb6936352f2f2f 282a364a8a8a8d989fa5a6a7a7a8aca9a9a69f8d8376737b7f807f868e929c989499989ea0b1b1 b6b6b9c5c7c8d2d7dce5e4e5e1dfdfe1e0e2e3dfe2e4e3e2e4e1dddcdbdbd9dbdcdededfe2e1dd d9d7d4d3d2cec9c3c3c3c2bbb6aeadababababaa9c918f88928f8c858585867f7b78503427262a 3e697f899bafcad5d7d9dbdcdddddddcdddede dcdcdcdcdddededddcdbd8dcdcdcdddddcdbd8d5c9c9bbbdb4a8bac6ceccbfafb3713f332b2f35 2f2e36395f7f8c9a9ba2a2a9a9aaa4a5a39b86756f656d757a8180868e8b8e9191948f8e919195 8fa6a7a9a6b4c0ccccd7dcdedfdedee0e1e2e2e2e5e6e5e3e6e1dedcdcd8d8d8d8dddedfe1e3dc d8d6d2cccbc8c5bebcbbbab6a9a7a59aa1a1a8a1928a7e77868a89848584877f7b784d32262631 47697f949eafccd3d7d9dcdedddddddededede dcdbdcdcdddedededddbdbdcdcdcdee0dddbd8d0c7c6b9b6b6afbbc6cac4bbb0ac87553b313135 34333737496179949da2a4aab1ada6a08f867269666572787778797f89928c8c898b867c747774 82898d8d8d96a2a4b7c0cbd5d5d9dce1e2e2e3e4e5e7e9e4e5e5e0dddddbdddcdcdddedddedfd6 d5cfc6c0c0c2bbb9b4afada8a39c9c9a938f91998f877068717d85818585857e7976513126272e 526b88939eaec9d3d3d9dddfdedddfdfdfdfdc dededddddddedddedededcdcdcdcdcdededed8d1c6c4bcc9b1b1bec6c6c2bbb2a8a27449373636 3e43434537235a6c9d9ea8acb0aeaa867067626873747571767a838290918785867f766b60605d 5f67676e6e747d888fa5b5c3c9d1d1d8dedcdce0e3e5e5e3e2e3deddd9d6dadfe0dde1dedad0ca c7b5adaeaca3a19e9a9692927f857e848181787671726e645c6275757e7d7d7d76744d362a293f 5d90828d9ab7c7d0d7dcdee0dcdddedfdfdedf dddddde0dddddcdddedfdedcdcdcdbdcdddcd8d6cec2bcbbb7b5c2c4c6c5c0bbad9e83623b3638 424c794c493d1d598993a8a8aea3956f68696675797c7b7e7f8986828a85877f7f7774716c625d 5d58564f5368747984989ca7b7c5cad2d6d6d9dfe1e4e3e2e1e1dedcddd5d7d8dbdad7d6d4c9c1 b8ab9e958f828882817b73716264666a6e6e6e6a6063605656575e7276787a7f786a45342c3458 739f81939bbbcdd4d9dcdddcdbdbdddededdde dbdcdcdcdedddcdcdde1dddddcdcdbdcdfded8d6ccc2bcb8b0b4c4c6cac8c8c4b59d926e4f4541 43577994594b44386993a5a7a094846b666e778181818e8e8e928b8b8f8d878284828482736f6f 625d5753525d656e8289909bacb3c5c5cdd2d8dfdfdcdce1dfdfdcd8d6d3d1d7d4d2c9c8cdc5bc af9e847976717066635f645b57535555626267625a5656514e4f546572767c7b74664035374063 99a58393a4b5c8d2d8dcdddddddbdddededfde dce0dedddddddcdbdddddcdcdcdcdfdcdcded8d2c5c1b9b4b1bad0d1d4d4d0d8b59e9578684f50 4e5b6e86725f4a3c2c6e9fa89987766e6f7a858c90929897979a9da1a1a2979c9da6a6b49c897a 71665b5b5b5d5f6275868b95a1a5b8c5c6c8d5deded5d8ddd9d7d4d6d3cfd1cfcdc9c3bfc1b8af 988773706d6961595c5453554f4d474951565f5d5a504f48494d525b616d78736f6544322c4777 b4a78490a1b4c8d4d8dbdddfdedddedededfde dddcdcdcdcdcdddddcdddcdbdbdddcdcdcddd5cfc7c5b9adc0cbdbe0dcd6c5bcb9aa9e7e76706b 5b6b7a899c826c573f2e5e9c897e7b818a91979d9ea5a1a0a09ba4a9b0afadadadb2b3b1b1b4a1 b3897c777476757380848a93a8a9b0bdbdc5ced9d7d0d1d7d8d6d4cfd0cac8c8c8c7babbb6a392 867d6d625e5a5351585656564c4c4f534a4a4f4b58505249464c524c4f586375706644371a5796 b0907988a1b4cad6d8dbdddfdedddcdddee0df dedddcdbdcdcdbdcdbdddcdcdcdcdcdcdddbdbd1c8c8bcb1c1d2e2e1dcd2c5c3c8b6a080787c79 777783959ca2a26c483e495f797f7f8e9ea2a9a0a5ada6a4a6a4a0a9a8aba8adaeb1aeacaea9a6 a0ad9285828181848b8f959da2aaacb2bdc5ccd4d7d1d0d5d5d3d2cacac9c7c8c5bfb4b3ac948d 847a736258504c4e545f5e5e5e6569646262595a60514e4d4b4f524d4b4d5c686d674e371957ad b0898494a6b8cbd6d8dbdddedededddddee0e0 dcdddddcdcdcdcdddcdcdcdcdcdcdbdcdcdbd9d1cbc899b7cad9e3e2dfd4cecccfc1a481788182 80848e959b9d9f7d5d45494a689a7ea0aaacada8aaada3a3a09d9d9ca1999b9facb8baafaf9c93 948e8e8b9986858b9b9c9aa0a4a4a7b4c3c7cbd0d3d0d1cfcdcdcbc8c2c4c4c4bfb7b3ada3928d 8580695e58514c5056606971748181847e7c79776b645a5150514e50484b586c6d684d37155fb4 93878899abbfd2d7dbdcdededddfdfe0dfdfde dcdddcdcdcdddededddddbdcdcdcdcddddddd7d1c8c2c2c8d1e0e1dedad4d2d4dad9b08b7e7e86 8d8f92989a9d9bad7a594b3e4f584aa8babab0acaba89d9d8a827e7b6d757f8fc5fcfcfcca9082 776e70756d7076838f959aa2a3a7a9a9bac0c4c6cbcdcac9c7c5c2bcbdb9b7b7b5aba59d8e8c86 82786d6a6464646973868aa6ab9798989ab996907f786c6351514d4a4747576c768b56352a68ac 8568859eacbed0d6dbdcdedededfdfe0e0dde0 dcdddddcdcdddedddedcdcdddcdcdcdcdcdcdad6cbc4c3c9d9dedcd8d6d4d5dbdfd5af8d808486 8b9597999a9fa09fb9755b41424a6ea9b8b8b4a7aaa2917a736a666067697782a3b3c0c0a78c7f 6a6359565a5e67697789969ea3a7aaaab7b9bcc3c0c1c5c8c4c2b9bbb8b5afb2aba79d93898881 8176746f706a767f848d8c8c93aa9f9c97969392857e786c5e5e5a4c4b4858767791533c265ea0 7270859eadc1d5d7dbdcdcdddededfdfdfdddd dbe0dedddcdddededcdddcdcdcdcdddcdcdcdad1cac1c3d0e3dfd9d8d6d8e0e5e1d5b28d808488 8c9697979c9ea0a0a5a5754d442667a8abb3ae9b91917565605d5b5f6365737682929ea2ad827f 7366635858374a305d707b8e9ea1aaabb0b6b7bdbdbec3c8c4bdbabbb7b1a8a7a39a928c85817d 7d74747f85887f7c7a79747b7f7e7e83838c7b7c847f7f7286616657555861739596533b14576c 696c8ea2bac6d9dcdcdcdbdddedddedededcdc dbdddddddddddcdcdcdddddcdcdcdcdcdcdcd7d2c7c2c7d4e3e0d9d9dce0e6e5ded2b28e80838a 8e98999c9ea0a0a5a0b28c6433444694c1b3af7c71934d5f5e5a5e6b6c696f777b7c848489847f 81686c65645c584b4c29657089989ca1afb5b5bcbec2c3c6c2bbb8bbafaca79c958983837b7473 7170748694c6877e7369675f5c5f60625a64646868696e68656463665f6269767f7a57431e3d5c 637295aabcccd9dcdcdcdbdbdcdddfdfdedddd dcdcdddedddcdbdbdcdededededddbdcdbdbd7d0c6b9c4cde4e1d7d7dde8eee6decaa6837f8390 9490999da0a19e9ea29e9da6725d3a85a7a7c6cde6e1946f646061706a60615c5c2f532db2865c 2c5b5f686564625e5a57575462788391a6aeb2c1c3c6ccccc6beb7b7b5aea29c8977747170605f 6261575afcfc9c897465605d5b534e504c45474a45454d51525e66766b6c707f7f7792491e4154 6a7ba4b6c0d2d9dcdcdad9dddfdddddeddddde dcdbdcdedcdbdbdddcdddedddddbdcdddfdbd8ccbdbbc7cde2ddd5d6dfe8ece6decba7847e8491 9497999c9f9e9d9ea4a5a3a39b8a8686869393919ba0987570635e5b5154375c5f4b4a234c5d50 1d5a6967655e646f6c666765603d76889fa4abbec3cbd1d1cbc6c1b5b6ad9d8a7e72716d615c50 4f50544894dca3947b737266665c5c524c4c4e4a4e4a48474d4d5b62737371777c756947373a53 6a7fa2bcc8d2dcdbd9d9dad9dcdddededddfdf dbdcdddddddbdcdddfe0dddcdcdddcdddddbd6d2c4c0c5cde2d8d0d4dce6e7e1decca785808790 939b999b9c9c9ea0a0a0a3a9a79894958b8359597b8b817a6c6254324e50636695594a2d325046 1d63abab6f5b6165706e6e7169693a73869b9fb7b8c7d1d5c8c3bebdbdad8e7c7370705f584b4b 4b4f5e637694a39a839483786c666160534f4f5859595655505054566c686c868a6d6d41363a51 6d84a2b8c4d1dcdcdad9dad9dbdedddeddddde dcdddcdcdddddcdcdee1dcdcdcdddcdcdcdcd7d2c6bec6cadad5ccd0d9e4e3dfddc59d877d7e90 949999999c9da3a1a0a0a0a9abbac1afb38b5f737b7f7b72695f585b616671809866544437302b 5c80b1b4785a5b616d7a787a837972636e7574899bb9d0d7c8bdaba1a5a5726d6c6f635a514b51 585c685f3e37d3bb6f565752525b6162585250585e5c5b5f5c5d5d50474a4c4b52523a352f3b51 62799eb1c4d0dbdbdbdcdbdcdcdbdcdddddede dcdddcdcdddcdbdbdbdcdcdcdcdcdcdcdcded6cfc5bcc6cad4d6cdc7d1e2e2e2dfb69c837e7e88 9298989a9ea3a5a1a0a4acadb6c1c2bcc8937e78818178736d6d757e8888848187868080868494 8182848382726767707e81939899a06f382f38396893f3fce9b6857254534041424342424d5664 757bb56b3522668846372241424c4c495055565a5e616568726c706b56461424242d23292a3b4b 566a99a8c0cad7dbdadbdadcdcdddddededede d9dadadcdcdcd9dbdbdbdfdbdcd9dbdbdbdcd6cfc8c1c1c4cdd9ccc7c6d7e1e2ddb699817e8088 91969b9d9da5a5a0a0a0a8abb6bbbdbfb3937e8786867d77767c87909b9f9d949e98a0aca49faf b48f8a8a857d7f7d7f868d94999ead976236553b425e93a29a5f57564840332d37371d404f626c 93b4c2906429502a223c41718753313d3f4649565e676a6e787d7a6b69553e1f232827292a3748 506896a9bdcbd8dcdcdad8dcdddddedfdfdede dbd9d8dfdbdadedbd9d9d9d7d9dbdbdcdcd8d5d1c8b9c2c4cdd5cec7c6cfdae0ddb892867d8290 90959b9da1a1a29f9b9ba3a9b6babdbeaa6b8288888c8d7e81858f9c9ea2a5a4aaadadafb6aeb0 ac9f958e87817f80849494a0a9a8adad696694707a7e6a6666574c54514633353a40414d5b696e 7785988776655d4f4449548996624a3d353549505c656c717579796c6a67523030345155364045 556a97acbdcbdce0dddddddddddededededddd dadbdadbd9dbdbdcdbdcdcdcdbd8d9dddcdcd6ccc4bcc2bbc3d2d0d0c8bec5cad9b08d8984858c 92989d9ea0a2a09e9e9da2abb6b8b8b9c0717f8c93938f8f8f8f8f919097a3abafb9b4b2b9b6b2 ac9f968a817c7e818296a0a9b1a68b705d687f8cb3b4bec3d8b5a6a86a664d494a4966757f857e 87929b98958883776b666a6e716d68635353494e54676a757a7a7a736c6a5b535960314141444a 5c71a1b5c3cfdbdddddfdedddfe3dededddfde d9dcd9dbd9dbdcdcdbdbd9dcdbdbd9dcdcdcd7d3c6bbc0c3c4cad3d3cdc4bcbbbca8928b828088 919c999ca0a8a29f9e9da2adb5b6b8bcc0947b8f939594969693918f8d90969ca6ada7a9b0adab aa9a92888180888b959da7a8ab9a794557667b98a8b4bec7c7c1b7a4846b5c4d4955848d99999b 959ba6aba9a6968f7d7f787d807f8a79725c5c575b696e777d8177726d675f59676c3c5f4d484d 5e7da3b7c8d4dbdcdededfdfdfe0dfdfdedddd d8dbdad9dbdbd9dbdcdbd8dbd9d9d9dcdcdcd7d3c9b8c3cccbc9ccd3d1c6bbb9b99a8885828189 8f989599a0a2a2a2a1a0a4afafb7babcba95708d989a9a9da09f9f9a98979696a29b9b9c9c9f9f 9e9a989290989ba3a3a8aebaa483684d55667a9ea8b3c0c8c7bebaa286785a4b4055869499a09a 9ca0a9aeaba89e90908b8583848a8a89827c6e6c676d7477807b7972716963617079a9a66c5b57 628caabdcad4dcdcdcdddddddedfdfdfdfdedd dbdddddbdfdbd9d9dcd9d8d9dbdbdbdcdbdcd6d2c9babbc7cdcacaccccc3bec1c79e878382898f 8f949596989ba2a3a19da4abb4b4b9bbb89b659099a1a3a5aaaaaaaba5a1a3a3a59c9d9ea19c9f 9ba3a6aaa7aab3aeaeb3bbc0b1886755586a7aa2abb6bec4c6c0b8a287795f5527398d979b9f9a 949b9fa2a7a29c979291938e8d8b8b817675736a6d75797a7d7b796e6e6d5e657582caca856560 7892acc2ced7dedbdcdddddddededfdfdfdede dce0e0dbdcdbdbd9dcdcd8dcdbdedcdcd9d8d3cbc4b4aec0c4c9c3c3c2c4ced1d6a08a81858584 8d9198999a9a9b9fa4a0a8aab7b9bac2c3c5a19297a2afb2adaeb6b5b8bbb5b7b7b3b4b5b0abb2 b2b9bbbdc0bcbabbb9bbc1c6bba27e646a717e9da9b3b9c5c4bcb7a58d756c5d316ba09e9c9ba1 9d979795929196908c898b8e8c848078767176787b7e7d7a7d72706d6a695d6b7989a8b07d6764 7c97b6c7d4dadcdddddededcdedfdfdededfde dcdddddcdcdbdbdbdcdddcdddcdbdcd9d9d8d3cfc1b2a9b8bec3bcbcc2d1d8def0a8878383838a 8f9399999a9b9a9ca3a3a6afb7babcc4c5c5aa6a9aa2b3b8b8b8b9b8c0c4b9b9bcbbbfc1b8bbb6 b9c1c1c3c3c5c3beb8c0bec8b8a17f71737781a1a7b0bac2c6c3b7a28d77766b4d8ba4a7a09ba8 a8a79e948a8a8784838383817d7f8076797f7f81858583807973716b6662606d7b89a0977d6766 89a3bdd0d7dcdddcdddddbdbdddfdedfdedfdf dbdcdddbdcdcdbdbdcdfdcdcd9d9d8d9dbdbd2cfc4aea3adb5bbb6bccbd5e0dee2a28786838787 8f929a99989a9ca0a3a7a9b4b8bbbcc5c8c8c06d8f9ab0babdc1c4c5c4c5c6c3bcc2c2c3c3c0be bdc6c6c4c3c4c5c3bac3c6c8b3a18c7f7c7d86a0aeb7bdc2c6c4b6a28f7b75796687aaaaa8a0aa aaadaa9c95958c888483818183828485848a898b8d8c8c827e7471696460607580919e937f4c7c 91a8c3d2d8dededcdddddcdcdcdddde1dfdede dbdbdbd9dbdbdcdcdbd8d8dbdbdbd8dbdbdbd7cbc7b1a09aa9b4bac6d6dddeddd8a28684848888 8f91959594969da1a7a8acb2b8babec5c7c8c7ab728facc0c5c8c7c7c8c7c7c4c4c5c2c3c8c1c4 c5c4c4c6c8c4c3c1bdc3cac2b0937982818293a1b2b6bec2c0bcb9a3967b74797667aeb1ababaf aeb5afaaa5a5a0938e8e9091918f92939e929493938a8d8c80776c695c5d677a83979e947c6982 98b0ccd8dcdedfdedddddcdddbdcdcdededdde d8d8d8dedbdcdddddbd8d7d8d8d9dbdcdde0d4cbc3b59c888ea7bbcdd9e1e0e0e09e858489888b 909299939399a0a1a8aaadb4bcbebac2c8c9cac6b0a48db0c3cacbcac8c8cbc9c9c6c7c9cac7c7 c5c1c2c3c3bfc2bebdbfc8c18c8787838c8d94a6b1b9c0c3c3beb8a89774787f945da0b8b1b9ba b8b9b7b3b9b4afa19b9ca29f9e9e9fa5a3a19f9e9a97958b83786b5a4d60667a84a7958f747393 a9bbd7dbdddddedddbdcdbdcdfdddddededede d8d7d8dbdcdcdcdcd9d8d9d9d8dcdcdbdcded2cac6b29c898791bbc9d5dedfe0e09f858285858c 9091909794969ea0a8abafb4b8b8bdc6c8c9cbd0cbbc88afb9c6ced2d4d0d2d2d2c9cdcecbc7c6 c5c0bab7b8bcc3bebbbca19f85878986919aa0a4b1bfc4c5c5c2b9ac9b807785a6985b8f9faeb8 bfb9b5b4b7b6b6a8a4a2a3a6a79fa3aaaaa7a19e9e99948f837667505967777d8d989589777c9a b2c8d5dcdcdddddedddcdddddddcdcdcdcdfdf dbdbd9dcdcdbdbdcd9dbdddcd8dbdbdcdfded1ccc6b89f8b7d83bbc5d3dbdfe3df9f868585848f 9091929494989aa1a1a8b1b4b7b8bdc3c8caccd3d4ccbbb59cb4c6ccd3d6d7d7d7d5d3d0cfc8c7 c6b6aca9abbbbeb8b2a1948b908b8b8f9b9ea1b1b6c2c6c6c5bfb8b19d84737c8e985e868fa7b1 bab9adabb6b7b7aea8aba7abaaa5a6a9adaaa8a6a19c928b816e5d5b67707f82929898837e84ab b7c9d8dddddddcdddedddddedddcdcdddcdfe1 d9d9dbdcd7d8d8d9dadcdcdddcdcdbded6d6d6d0c6baa68d815b95b7cdd8dde1e5ae8286858b90 9298949491949aa3a8abaeb1b7bbc1c4c6d0d3d8d7d5d8d0c6c19ac1c7d2d7dbdbddd9d3d0ccc9 c6b9a8a7afb4aaa29998989fa3a39f9ea7a8a8b4bac0c4c7cac4bab19c857379858c93745b93a8 adadacabb2b8beb7b7b4afadacaaabaeacaba9a79e928d8571646d7373777d7f87978a7b7e8fa9 bdcadcdcdddcdcdddcdcdcdddddddddddddfde d9d9d9dbd7d7dadad9dcdcded8dcdbd7d6d6d4d0c2b89e8e7d695894d8d4dde2e6ae8086858b8e 9293939192929ba2abadb0b0b8bac0c8cbd2d5d8d8d5d8d9dbd6d2c8c7cfcad1d9dad6d0d0d2d0 c7c1bab7b4aea3a0a2a2aab0ada9a8a7abadaeb6b9bec1c6c7c6bbada08b7b79828b938c7c6593 afa6b2b2b2b8bbb9b8b6b3afb2acb4b1b5afaba99c968f7f40757880877b78858d9685768093ac bdcadbdbdbdbdcdcdcdbdbdddcdedddddedede dbdcdbdcd9d9dbdbdcdcdcd6d3d7d6d1d1d2cfc9beb49b927f6858519fd3d7e2deae7e8284858c 8c93959593929ca2abb3b4b5b6bcc1c6cfd2d2d6d4d6d6dbdfdfd9d3d1d4cacacacfcbcbccd5d8 d1cbcbc5c5b2b2b2aeb8bfbcb7ababb1aeabb1b7bcc0c6c8c8c3bbb0a18e7e7c808b92948d665f 93a1a9c7b6b8bcbebdb7b5b7b7b7b4b4b2adababa19d8f7f8283848e857f7e869a937c707f9baf bfd1dadcdcdcdcdddcd9dbdcdedfdedddfdedd dbdcdcdcd9d9dbdbdbdbded6d7d8d5d0d1d5d2c8c1b5a1937f695a575bb3e2ecf1ae808083858b 8a9395959393a0abb4b6b6b8b7bcc1c5cfd2d2d3d6d8d7dce3e4eae5e4e1dbd6d0cfcbcccfd4d5 d9d5d4d4cec6c5c5cac5c2bfb7afb5b7b1b0b7bbbfc3c5c7c8c5bcb3a7998280858e939b9f9b99 738d9ca3a7b0b7b9bcbcb9b8bbb9b0b4aeabadb4dfaca08e8c8e8f8d837e8089b2a379527f92af bdcdd7dcdddcdcdcdcdcdcdddfdfdfdadedfde d9d8d8dcdbdbd9dcdbd8dbd7dcdcdbdbdbdcd4d0c9bca69875655b5a5a5e808aa3877e7a7e828c 9296939292939ba5b3b9b9b6b8b8bdc8d0d0d3d9d6d7dbe0e4e7ebefeeedeee9e4e4e1e1e0dfdf dfe2e1dfdbd8d6d4c9c3bdbbb3b8b6b4b6b7bec0c2c2c9ccc8c1bbb2afa28b848689959ca7b2b2 b3b4a1807c7da8a7a5a8a9aca9a4a08686abb5b8c5bdb4a69d95918f857d7a83b9b6616a819aaf bec6d7d9dbdcdcdcd9dddededddfdfdfdee1e0 d9d8d8d8dedbd9d9dbdedbd9d9dbdbdcddded6cfcabfa3927f645d59555e554c767a7676818589 9195939193929ba3b3bababcb8babdc4cacdd3d7d6d8dbdee4e4ecedefeff0efeee6e5e4e4e0df e3dfdeded9d6d4d1c8bcbcb7b3b7b6b4babcbcc2c5c8cacbc9c1bab1aaa390838288909ba6b2bb c3c5c5d8bbb4b890867ea5a673858486a5afb6c1c0bdb6ac9d99918d8582798ab9a061617f9faf becbd6d9dadddededddde0dfdfdedfdedededf dcd9d7d7d9dbdbd9dbdbdadbdad9d9d9dcdcd6d4cbbfa3927f665f5a5a5a595a5a686f75828589 8f90919292939aa3b4b9bab9b8b4b8bfc7c7d2d7d7d8dddee3eaeeedefeff1f0eeedebe6e7ded9 d8d6d6d1d0cdcec6bbaeaeb2b3b7b6b6bbbcbcc2c5cacccec9c4bbafa8a493867c8388949cb0bd c5c9d1dcdbdbc5c6c1afaaadb2afc4bab8bac4c5beb6b0a89c95928e86807c8ab198a39d9cb0be c2cdd5d8dbdddfdedddddfe0e3dfdedee1dddd dbdad9dcdbdbd8dadcdbd9dcdad9dadcdfdcd6d4c8c1a8957f6b5d5c5e585959585b6c77848386 888c8d9094949ca1b6bbb8b3b6b6b4b7bac5cfd8d7d7dddee1e3eaecf0f0efeceae5e3e3e1d3cb c7c3c5c8c8c6beb8acada6aaaeb7b8bcbbbdc5c9cbcecfd2cfc7bdb0aaa29486827f848794acba c3cdd5d8d9d9d9dedcd6d8d2d1d1d0c9c4c1c7c5beb8afa599958e8e897f799193a4e2e2e0dad6 d7d4d9dbdbdde1dddcdededededddddedcdede dddbd9dad8dadbdbdcdbdbdcdcdbdbdcdcdbd7d4cbc5a996806c5c5a5d585959585d707883828c 8c878d919396a2a9b6bbb9b3b5b6b3babec7cfd4d4d6dddfe1e3eaecedeef0eee9e1dedcd4c9c4 c1bbc0c4c4bdb8ada5a9a9abadb6b5b9bac2c5c9caced1d3d1c9c3b0abaa988a8585878691a4b7 becbd2d5d8d8dededdd8d8d6d2d3d4ccc8c5c5c4beb9b0a39b928d87847f7c8f98b2d8e1e1e1dc d9dad7d9d8d9dbdcdbdcdedddedbdcdedddedd dcdbd9d8d8d8dbdcdcdbd9d9dcdcdbdcd9d7d6d5cdc3b09c81725d57575959575a5c777b80858a 898c8f93949ca1aab8b9b6b4afb5b9bcc2c7cfd4d4d7dfe0e1e3e9ebedededeee4dddbd5cec2bc b9b7c3c7c5bcb6a8a7a8abb3b7b9b5b7c0c2c3c6c9d1d3d8d5d1c8b4b0ab9b90868c8c8388a0af bec8ced1d3d4dcdddcdbd8d7d6d1cfcac9c5c5c3bdbaada09792948e847b7b6dacc6d8dee1dfdd dcdbd9d8d6d4d7dadbdcdddedfdddde1dfddde dcd8d8d9d9d8dbddd9dbdcd9d9dcdcd8d9d7d7d4cdc3b4a08c725e56585b54546dc58881848888 898f9295959b9ca9b6b8b7b2b0babac3c4c8cbd3d6dddddde0e1e6e9ecebe6e3e0d8d2ccc8bcb6 babac8cbcab6a9a1a3adb5b9bdb7b7bab9bebfc5ccd4d8d8ddd8cbbcb7aba48e8e939187889fb0 bcc1cacfcfced7dbdcdcdbd9d8d1cbcac9c7c5c2c1b1ab9c938d8a8881787378bbdddedddfdfde dddcd8d6d0cdd5d7d7dbdcdcdcdededdddddde d8d8d8d9d8d8dbdbd9d9d9dbdbdbdbd9d9dfdad6d0c8b9a9917f625b679bc7e0f2f1ab8c858587 8e918f939797a1b0b3b8b6b3aeb1bbbcc5cacecfd5d7dbdcdee0dedfe0e1ddddd8d0c8c5c0b3b5 c2cdd0d3d3b5a39a9ab0b7bbbbb8b6b5b7b9c0ccd1d4d5e1e5e1d7c5bfb3a1978c90968e869aaf bcc1bec5c9cad1d2d2d6d8d9d5cecacbc6c5bfbcbcb3afab8f8a8787828080e8dfe0e5e3e0e3e2 e2ddd2d0cecfd0d4d5d7d7d9d9dfdddddddddf d8dbd9dbd9d8dbdcd9d8d7dcdbdbdadbdbded8d7d2cbb8aa998174a0a5dee2e0e5eab18b83848b 8d8d8e939ba0a8b0b7b9b8aeabb2bac3cacdd0d1d3d5dcdcdddddddbd8d9ddd9d0cac2b9b3b8be cad0d3d5d5b5a39c9dadb8b8bcb7b5b5b7babfccd1d4d8e6eae9dfd3c5b7a396898996908ba2ab b6b9babcbdc0cecec9cfd5d5d3cbcacbc5c3bfbcb6b2aca2938c88827f8080dadee8e6ebe4e3e3 e2e0d6d2d0ceced3d6d8d3d3d3dbd9dddbd9da d9d9d8d9dbdedcdcd8d8d7dcdcd9d9dbdbdbd8d7d4d1bab0adb8e4e6e1e6e5e5e4dbb09586858b 8d8c92939da5acabb8b7b5b2adb4bbc3c7cbd0d1d1d4dbdee0e0dcd9d8d6d5d1cabfb9aeadbec7 d0d0d4d2ccb9a79da2adb0b6b8b6b5b6b6b9bec7d0d5dce6ecece3d5c8bca79c8989938f8fa0ab b2b6b4b9bbc1cdcccbced2d4d2c9cacac7c2bfbcb3aaa5a18f88887c7c7d70e5dde4e5e6e7e5e3 e3e0d8d5d0cbced1d6dbd6d0cfd3d2d2d0d3d0 d7d8d9d9dbdbdbd7d7d8d7d9d8d8d8d8dbdbd7d7d6d6c8cbd3e5edeae6e7e6e3ded3bd95838585 8f9091959ca5adb1b8b5b0afafb5b9c3c5c7ced1d1d1d6d9dcdcd8d8d8d5d1ccc5bbb1b0b6c5c7 d0d1d0ccc7beada1a3aeb1b5b6b6b7bab5b5bbc6ccd5e1e5ece8e6d5ccc3af9e88898e8b92a0ab aeb5b4b8b8b9c3caccd0d0cfccc8c8cac5bfbdbab0aba3978e87847d74736ee6e0e0e3e4e7ebe3 e4e3dcd8d0c9c8ced6dbdfd9d6d5d5d3d0d1d0 d6d7d8d8dbdad7d7d6d7d7d7d6d7d8d8d8d9d9d8dbe0e1e4e9ebeceae9e7e4d9d3ccc6a2858489 8b9396959da6b1b0b4aea8adb0b0b5c0c4cbcbcbcccfd4d5d4d4d6d5d5d0c9beb9acb5bdc9d1d2 d0cacac7c3bdb8ab9fa8b1b3b5babbb7b2b2b9c4cad2d6e2e2e1dcd2c4bbaa9686878b8a98a4aa aaadaeb3b5b4b4bfc5cbcbc9d0cbc8c6c2bfbabaada199948d84847f7e79afd8d6d5dbdee3e7e5 e5e4dfd9d5cfc7c8cfd6dddfe1dcdedbd7d9d8 d7d8d8dbdadad6d5d8d7d6d6d7d8d8d9dbdddee2e4e9ebece9ecedede9e5e0ddd5d1c7a2838487 8b8f93999ca5afb0aeaea9a9afaeb6bbc1c7c7c9cfd2d1d0d0d0d2d3d2cebfb5b1b5bec3ced1d5 cac7c8c3c1b9b8b2a2a2a9a2adb1aeafa9afb6c2c7cfd2d7dbddd6c7c2b9a5928584849196a2a5 a5a6adb2b6b6b3b6bfc9c5c6c8cac4c3c1bdb9b4ada39f958b85847b7a70acd3d8d6d5dce1e7e6 e7e7e4dcd6cfc6cbcbd2dfe3e4e1e0dfdddfe0 d8d8d7d6d7d7d5d5d7d7d7d8d8d8d9dadfe0e6e8eaeaeae5e4e5eaebe9e5e0ded6d1caa8808385 8c8f929c9aa2a6adadabaaabb1aeb1b6bcc3c5c9cfcfd1cecccccecfcbc2b5adacbcc3cacdcfce c9c3bebfbcb8b9b4aca2a19ea0a1a3aaa7adb1bfc2c7d0d1d6d6d1c6bcb99e858186838f959aa1 a5a5a8aeb7b6b0b0b6bdc2c6c8c6c3bfbeb9b7aea8a29d908787817b7d7facd1d8d6d0d4dfe5e7 e9ebe6e4d6cdc7c7c9d1dce2e1e1dfdfdee0e0 d7d6d6d6d7d8d8d8d8d7d9dcd9dbe0e4ebebecededede9e3e0e2e6e7e6e3dfd8d3d0cabc878686 8f9295989e9ea7acacacaaaab5b1b7abb2bcc2c8c6cacacbc8c6c7bcb9b3acafb6bfc2c5c9ccc8 c6c2bcbdbebbb6acaca7a19e9e9893939eb2acb2bec5c9cbcacacac0b2a39285878a8c90959ca0 a0a6a6a8acafb1a7afb4bcbdc2c3c1bcb7b5b1afa59e918f8685837a7865dbdeded2c5d1dde5ea ebeceae5dfd6c9c5c6ced8dddce1e2e2e4e3e3 d7d6d6d7d9d9d9d8d8d8dbdde2e2e8ebebebededededebe3dedfe1e1e2dfdcd4d8d0cfc5918584 8d939098a0a1a9aeafadabacb1b4b7aeb3babbc1c5c6c4c5c5c3bdbbaeabacb4b7c2c2c2c6c9c8 c7b9babcbcbbb6adacaca49fa19f9793909ca8b2b4bec3c8c1c5c7b7ae90888e91919293959e9e a0a8a6a8acacaaa4a4aeb4bbbdbbbeb9b5b5afaba3978f8f848681797792ecdfdeccc5cfdde8ea ebebeae9e1d8cbc6c5ced8dce3e2e2e4e4e3e2 d6d6d7d7d9d8d8d8d8dcdee4e5ededecebecedededede9e0dadbdedfe1dfd8d8e0d2d2c79b8585 8b8f9398a0a5abadb2adacb6b4b4b4b3b5b5b5bdbfc3c1c0bbbbb8aea9acb5bbbec1c2c4c8c8c6 c6bab9bdbebab8b8afabadaaa19e9d9490919aadb2b4b8bfbbb8b8a290878a959999999a959a9e 9ea4a2a3aaaaa7a3a3acacafb5b5b9b5b1b1abaa9f948f8f84827e787098dcdfd6cbc2cddee5eb ebeeeeede6dfcdc7c7cbd8dce1e2e3e4e3e6e2 d7d8d7d7d8d6d6d8dee0e6e9eaeeedf1eeecededeceae0d8d6dbdfe1e5dfd7dce1d3d3c7a48587 8b8c9397a0a4aaadb0ababb4b5b4b5b4b5b5b7bcc1c1c3bab6b7aca5a6afbbc0c2bfbfc2c6c5c6 c5bdbabfc1b8b9bdbbacabaaa4a2a2a29793909cb0aeb3b9b4a99b8683878f8f989f999998969c 9e9f999d9da3a6a29d9ca1a9b0b5b5b0adaca7a79f948c8883807f7a719fdfded8cdc1c9dee3ea ebeeefefebe3cdc7c6cfdadfe2e2e2e3e3e2e2 d9d8d6d5d7d7dde0e7e6eaeae9ebebf1edebebeae6e2d9d2d3d7e0e7e1dad6dde2d6d6dfa79780 848c9297a0a5abadb0b4b5b6b9b7b4b3b1b4b9bcbdbdb8b6b2ab9fa1acb3bdc1c2c5c1bfc2c4c2 c3c1bdbfc1bebdbcb9b8b5b5afa4a7a79c949191919598979290898c8c939293979a9d9a93969b 9c9ba19e9da0a3a2a09a969ba3afaeaba7a4a5a2978f8c8683817e7b62c5e8dfd3c2c0ccdfe4e6 e7ebeef2ece1d1c8c6ccdde1e1e1e3e4e3e2e1 d9d9d6d6dbe0e3e6eae6eaebeaebebefecece6e4e2e1d4cac9d3e3e5e1d7d8dde2d6d6d2ac9785 878d94979fa2aaacb7b5b5b8bdb9b7b3b0b4b8b7bdbab2b0aba89ea6afb4bdbabebfbec0c3c3c3 c3bebdbdc1c3c3bcb7b7b7b5b4adabab9c9b998f919190919196948e8f918d9295999d9c98939d 9f9da09f9d9da1a2a19e979a9da7aba9a7a3a09d948f888885837d7a69e3e3e1d1c1c2d0dde4e5 e9ebeeeeebdfccc8cbd5dee1e2e2e5e6e5e4e1 d8d8dee1e5e6e9ebeceaececeaebebeae6e5e4e3e2dfd1c4c1cce3e5e1dbdcdee2dbd7d1b29e87 888f9494a0a7acb0b5b3b6babdb7b8b6b5b8babdbcbab4aba4a0a6a7aab2b8b7babababdbec2c3 c0bec0c1c0c6c3bcb8b7b7bbb9b2b2b59e9c9e9796989ea6a1a1a0999594929296999f9c999399 95999d9f9d9ea0a2a5a19a9d9ca1a5a7a79f9c9b8f8c88898780797573e3e6e6d5bec5d5e0e3e5 e9e9eaede9dfcfcfd5dcdfe3e4e4e5e6e7e5e4 dbdde0e5eaedecedededeeedeaeceae3e1e2e3e6e3decfc0bbc4dae1dedee0e6e3ddddebb2a08b 898e8f94a1aaafb1b8bab9bcbcbbbbb9b7b6b6bcbdbab6a9a0a09da2a9abaeadadaeb4b4b4bebe bcbbc0c2c5c3bebcb8b9b9bebdbec4c1b9aba4a1a4a5aab1b1acab9f9c9a9e9a9e9f9e9b999393 929293969b9b9d9fa49c999b9ea5a7a8a39f9c948c8a878887807954a5e3e8e3d6bfc5d6e2e3e4 e4e6ebefe9dccfd4dde2e2e3e5e6e6e6e7e3e2 e1e4e7e7ebeceeeff1edeceae6e7e6e4e2e1e5e5e6e2d1c7bbbfd3d7dbe1e6eae0dadedfb69a93 8c899194a5aaacaeb7b7b7b8bebcbbb9b5b4b9bcbdbdb8b0aba7a2a2a2a4a0a098a3a4a9a9b4b8 b8b8bdc4c5bfc2c1bcbbc4c5c6c5c5c7c8bcb5b0b5babcbebeb8b5a2a4a5a4a3a4a19a9c9d9292 908c8e8e8d8b8d8f989593999ca8aaa8a19c9c938785858588807a54a9e9ece4d2c2c4dbe6e6e6 e9ebeceee4d9d5dee4e5e5e5edeceae8e8e6e4 e3e3e5e6e9eaeceeecebeae6e3e5e5e7e5e3e5e6e6e3d2c7bcc2d1d1dee1eaece4dedfddb99f98 8c888d8f9ea8abacb4b6b6b7bebdbdb9b7b2b5c0c2bfb9b7ada8a49e9ea39f968c84849496aead b8b8bbc0bfbfc2c2c2c4c5caceccc8cccbc4bab5babfc5c7c8c3b8b4afada8a4a8a7a09d9d9292 908d86807c84818a8f9091989cacaba89d9c9c92858586878380776fd3e0e7e4cfc1cedfe7eaea edecececdfd6dee5e9e9e7eaeeedf0eeececed e3e2e2e1e4e5eaeae6e3e4e3e3e5e6e6e6e5e6e5e5e2d4c7b9bdcad6e4eaebede5dfe1d7ae9f99 918c8c8d9ea6a9b0b0b1b9b8bebec3b7b5b4b7c4c4c4c1bab3aca3aaa0a09e8e84534d76799696 a9b6b8bec0c4c7c7c8c7c8cad0d2d2d3cccbc4bdc1c4cccfccc9bcb7b5b0a9a9acaca59b9b908c 86867f7478818d919596989ea1afafae9b9b958d87878f8e827e70a6d3dde7ddccc4d2dfebedee eeeeedebe3dfe6e9e9e9e6e7e6eaebecececeb e5e5e3e1e0e1e2e4e1dfe2e8e9eaeaeaeaeaeae6e5ddd2c7bac3cad8e3eaebebe5dedfd8ba979d 9b8a8c8d95a0aaafafb1b5babcc4c1bdb5b6b6bec4c8c4c1bfb9b7aeaeaead9d8d82796b486e7c 8ba9adafb6bcc0c2c9c8c8cbd1d2d5d9dad4cfcacbcacecfd0cac3bcb5b6ada9a6a49998827878 766f707f889aa3a3a3a8acaaafb9b9b09e948f8f8c8c8d8f84837aeee9e4e7e3d9d4dde2e4e4e6 eaebebeae9e8e6e6e3e4e4eaeae9eaecececec e3e3e2e0e1e1e1e2e0e1e3e6e9eaebebedece9e6e5dfd2c7c2c6d5e1e4e9edece5e0e1dbba7e9e 9d888c90959da8aab0b0b5babec4c2c0b8b8b9c2c4c5c5c4c4c3bdbab6b8b4b2afa2938574757f 899da1a9abb5b6b8bac1c3c4ccd2d5d8e1d8d4cac9c9cacccdc0bbb7b2a8aca29e98957a706e6f 726d8088a0aaafb0abb5b5b8b9bbbaae9c948d888d8c8d8d837c9af3eaebece7e3dfe3e3e3e1df ddd8dedde3e4e5dfe3e4e6eaeaebeaebeceded e3e3e2e1e0dfe0e1e2e3e3e6e7ebefededeceae9e6e3d3c8c0c7e1e5e9ecedeeebdee2ded0a19c 9f8f898f959ba0a2abb0adb9bec3c3c0bcbdbcbfc2c5c5c7c8c9c0bbbbbdbcb9b9ada292818388 93a1a9acb1b7b490b4bcb9b9bdc0cfd1ced1ccc8c8c3c3bebeb5ada0999d9c9793866c5e57696a 737a8d9daab1b6b3b6bbc0c5c2beb7a49b928a898f8d8d85817bafe5ecedededece6e5e6e4e3e0 d7d2ced0d2d9dce0e3e4ece9eaebebebececed e4e3e1e0dfdfe1e4e3e3e5e5e6eaecedecebebeae6e3d3c8c5d2e4ebeceeededebe4e2dcd0a59c a39f8b8c9297a0a7a9aeaeb7babdc2c2bcbbbdc1c3c8c9c9cacac7bbbcbdc2bfc2b9afa494888d bfa29fa9b8c3bc92bdbebcb0a5b2bbbdbfbfbfbfc3c0b7b0a89b83968e74a49b8c52465257696c 7582a1aeaab3b6b6bac1c3c7c7bcb0a494918f918f8f8b86817bc9eff0efeeefeaeaebebecece2 e0d8d9dcdddededfe3e6edf0ecedededececed e4e2dfdee2e2e2e3e5e7e7e7e6e8eaededededebeae6d4cad5d8ecefeff2efeceae3e2e3ef8891 9a9f948b92969ba1a3a9abafb7bebdc2bebebdbfc3c7cbcbcacac4bfbabbc4c7c8c6c4bca79592 88888da0b9ccccccd4e4dbd2bfc7c7cbbbb68bacbebebaa79196afb0adaad1d5857d56565e7182 8f9ea7b7b8b5b6b9c1c3c4c7c4b7aca1958d8a92918a877f70b3e2f0f0efede6e5ebf1f1f2f3ef ece9edebebe6e1e6e7eaedeeeeececeeeceaea dee1e4e5e4e4e4e5e6e7e7e7e6e7e6eaefeceeeeedebd6cfdee6eeefefefeff0ece5e0e4edb27c a2a5a18e90949699a3a7a9acb6bebebebac0bcc1c2c4cbcecfcbc2bcbabdc5c8cbc8c6c2bca092 8582829b9fc9d2d4d6e0dcd9d0d7dbdbd0c8bfc3c8ccd4c1b8bccdbfbfc3d5cc90725d6374828f a1afb9b8b8bbb7b9c3c3c6c7c4b7a79a938f8d92938b817da4e1ecefefedebe6e6e7f2f2f2f4f1 eeeeefebe9e6e9edebebeeeeeeededeeedebeb e5e6e9e9e6e6e6e6e7e7e7e7e6e9e9e9ebeceeeeeee6d9dee3eaeeefefeeedeeefe5e4e4eac87c 9da8a3998e939595a4a6a5a9b6b6bdbfbcbcbdbec1c5c9cacac7bdb8bbbdc6cbd0cbc7c7c2a995 907f7e8b96bbbcc4d0deded8d5dae1e0ded2d2dce5edf1dacfced3d0cbc4d1c07e726b75808fa1 acb8bcb9bcb8b5b7bfc4c8c7bcb19f93929392918a877f4db1e4eff0efece9e4e7eaf2f3f3f3f2 f1f0f0eeeeebedefeeeeecf2eeeef0f0edecec edededededebebece8e7e7e9e9e9e6e7eaecededebeadddde3eaefefedecf1eeeee7e3e3e7e778 8da0a9a389928d8d9c9da5abb0babbbbbcbcbcc3bdbdc4c6c6c6bebebec0c9cccfcfced0ccbeb2 9d95928b7d969ea0ace2d8ccd3e1e4e5dad5deeceff2f2dfdcd8cfc4b1d4a490766b7983889fab b5bbbababab8b8bcc2c4c5bfb6a3969390908d8c86835a6cdddfedefeeece9e7ebeff2f4f6f6f3 f3f0f1f1f0f0edf0f1efeeeff1f0f0f0efecec f0f1f3f3f0f0efefececebe6e5e6e7e7e9ececebebeadddde4eaefefebedeef1ebe7e3e5edf2b3 759fa5a3948b8e8c959da2a8afb8b8bbbebcbcbdbdbec3c5c6c5bdbebec1c9cfd1d2d0cfccc4ba aaa19e988c8b8b88979dabb6cfdde0e1d8d3dce8eeefece0d5d3cda9a19b92837572848797a7af b5bbbfbdbab8b6bbc0c3c1b8ac99928c8a8f8c8c807a56a2e7ebefefedeae9edeef0f6f7f8f7f7 f4f3f2f2f1f1f0f2f1f1eeeef0f1f0f0efecec f1f2f4f4f2f2f1f2efedede9e7ebebeaeaebebebebe8dcdce3e7f0efebedeeedede5e5e6eae6d3 759ca5a79c8c8e8d91949da2aeb0b4b8b9b8bbb8bbbdc2c2c5c3bac1bdbecdd0d0d6d3cecac7c2 b1a19f9d95918f8c8e8c8b66ced5dad4d1c3cbe7e9e8e6cebdb6a593747e7f7b76788892a4aab3 b6b9c0bdbbb6b8babdc2bcaea696948e89898b87784e5ed7e1ecf1efeeeaeaeeeff1f8f8f9f7f7 f7f4f3f2f3f3f2f3f3f1eeeff0f2f2efeeecec f3f3f4f4f4f2f2f2f1efededecededeaebedecebebe9e1dce3e7efeeedf2eeeeefe7e6e7edeee7 809da6aba19a8e8c90959a9caab1b3b8b6b8babdbbbbbdbcbcc0b7bdbabccbd0d1d5d4cfcac8c3 bda9a59f99929194938b8b63a9bfbfbbb5b2b7bcc4c7c7b3a49191837f7e7d7f7f80899ca7b0b6 bcbdbdbcb8b7b9bdbdbdb9ae9a94948f8d87888362479ee3e4ecf0eeedeaeaeef1f2f6f8faf8f7 f7f7f6f4f3f3f6f6f6f6f1f1f1f2f5f0eff0ec f5f8f4f6f7f7f7f6f2f2f2f0efeeeeedededededeceae2dee9eef0f0efeeefeff2ece3e9ece9ee b58ea3a6a7a29c8f8f8f939ba3aeafb8b8bcbebbbdbdbababcbebabdb8bac6cad0d3d3d0cfc5c5 c3c3b1a79c9c9b9e9fa1a09ea395a69d999c9fa4a6aca59390888582807e7f79828d9ca3acb4b7 bbbdbab7b4b0b6b7b7b4afa1948f888588847c773e94d4e1e9ebeff0ecebebeff2f2f6f7f8f8f7 f7f8f6f6f3f3f3f4f3f3f3f2f5f2f2f3f3eeec f2f3f4f4f7f6f7f6f3f4f3f2f0f0f0eeededededecebe2e0e8eef0efefeeeeeff0eeeaeaebedfc c59b9fa2a9a79c8f8e8e919aa1a8aeb7babebcb7bcbbbababebeb7b8bab9c3c8ced3d4d2d0c5c3 c2c6c3b8ada09da1abacacadafa9a39997a2a6a7a3a19f92928c8981807e83868d969cabb2bbc3 bcbdbbb5aeabb1afadaba39b928e8886817c704c6cafe1e3ececeeeeebebeceff3f7f7f7f8f8f7 f8f7f6f6f4f4f4f5f6f2f2f1f1f1f1f1f1efec f1f2f2f6f7f6f7f7f6f4f3f2f2f2f1efefeeeeededece3e0e5eef1eeeeeeeef0f1efe9e9ebecec f4a09e9eaaaaa99a8b8c9093a0a7acb4babcb7b0b5b8b8b6bab7b8b7bab9c1c3c7d1d1d1d0c8c4 c4c2c3c2baaaaaacb1b6b9c0b6b6afa3a0a5b8afaba6a199939088807f81888f9b9fa1a9b8bbc3 bdbab8b4acabaaa7a2a396928c8d8f8680764d4dabb9e3e4ecedeeebebeceef1f7f6f7f7f8f7f7 f7f7f7f6f4f4f4f5f7f6f2f1f0f1f1efedecec eff2f2f6f7f7f8f7f8f4f3f3f2f2f1efefefeeededede3dce4eff1f0eeeeeef1f1efeae9eceef0 e9b5a09daaaba9a28b87889297a0a5aab6b4b7b0b4b4b0b4b7b9bdbbb9b9c1c3c6cccfd2d4cac6 c7c3c3c2c2bcb1bcbfb4b8bfbebdb8ae9ea6b9b8b1ada79c918a8785848b969da09da7aab8bdc1 c0bbb2ada79e9e9d9d998c8c858b868477753b8ad0d0dee5ecedebe9eaedeef4f7f7f7f7f7f6f7 f8f9f9f7f7f7f4f6f4f3f1f0f0f2f2eeedeceb edeef1f8f7f7f8f8faf6f3f3f3f3f2f2f0eeeeedecebe4dde3eef0f0f0f1f1f1f3eeebedeaedf2 eecbb29aa7adada99f8d8d8d919ea0a2acacadadabaaafafaeb0b7babab4b8bac5ced1d3d2cfcf c9c6c7c3c5c2c6c9c8bfb6b8b9bcc1baafa9b8b8b0a9a39d93929294959ba0a2a3a3aaaabac0c4 b9b6b0b0a89e98938d8d85858182807b4c7d95ccccd0d7e3eaeae6ebedeeeff3f3f3f7f6f4f4f4 f8faf9f7f4f4f6f5f3f3f0f1f1f2f2f0edefef ebeaedf0f3f6f8f8f7f6f4f4f4f3f2f2f1f2efecebeae2dee5edf4f3f3f3f3f3f3efeae9eaedee ecdfb996a4a8abaaa0968e8d8d93989fa4a8a8a8a9a9afb0abacb6babaafb8bbc4cad2d4d6d1cf cfc9c8c6c0bec4c4c3c5bcbabcbdbbb7b4b0b8b6afa9a5a2a29a9ca0a0a4a5a9a3a3afbcc0c4c0 b5b3acaaa19a939089848383867f7b6e4a95b9ccd0d0d6e0e7e9e7ecedf0f1f3f3f6f7f4f3f4f4 f8fafcf7f4f6f6f6f5f6f3f2f2f2f2f0efeff1 eceae7ebf2f6f8f8f7f7f3f4f4f3f3f3f3f2f0edeaeae3dee1ebf3f7f8f4f3f3f3f0ebe9eceeef efdfceaea4a8aaa9a29f948c8d8f949da3a0a0a8a4a8aea9a8a8b5b6b6afb0bbc0c4d2d4d4d3d0 d0cbc8c5bdbabcbcc2c0bcbdbebebbbeb5b5b6b1b0afacabaaa19da3a2a5a2a6a9a9b8bcc1bcbb b6acaba097938d8d87838284847a7246a1d8c9cdd2d1d5e0e9eae7eef0f1f5f4f3f6f6f6f3f4f7 f9fafcf9f6f6f4f4f4f4f3f1f1f1f1efeff0f2 ece6e5e6eff3f3f4f6f4f4f4f3f2f4f4f4f4f3f1eee5e8e1e2ebf1f1f2f2f2f1f1efeeecececef f0efe7c3a2a2a8a8a7a39b958d878f989ba0a2a5a3a4a5aca8a7aab2b1afb3b9bac3c8d0d2d4d2 d3d0cbcac5bcbab8b8b4acaaafaca5a1a9a8a8a4a7aca6aba7a49ea3a0a09ca3a8afb9bac1bab6 b0aba1968f8e8c8a7e827f827a6a5c9fe2d4d4c9d0d1d6e4e9ecedf2f4f6f7f7f5f7f6f3f4f6f6 f8fafcfaf4f4f4f7f4f3f2f2f1f1f2f1f1f2f3 edebe5e5eaeff1f3f4f6f4f4f4f4f6f7f8f6f3f2f1edebe5e5ebf1f1f0f2f0f0f1efeeeeecedef eff0ead9a7a2a8acababa495938c8c95979b9e9ea1a5a6aaa8a3a9aaaaaab0b8b9c3c8cfd4d7d4 d4d0c9c9c8bcb7b9b6b0aca8a0a39e9b9d9e9ca0979c9e9a9a9c9c9aa0a09ca3adafbabcbfb9b2 b0ad9f95888788837e7d7a7a7a4c9be0dbdad4caced2d9e0ececedf2f4f6f8f7f7f7f3f3f3f6f7 f8fafaf7f4f4f6f7f6f3f2f2f2f2f3f3f2f2f2 f1f0ece5e4eaf0f3f6f6f4f6f7f6f6f7f7f6f3f7f4f2efeceaebf2f2f1f1f0f0f4efeeeeeceeef f2f3f0eabca7a9abafada89e97918d9192939a9ea1a2a7a7a3a2a2a3a6a7abb5bac2c6cfd3d8d8 d3d2d2cec9c4bfbab9b6b1a9a3a39f9a9a989c9b96969a98979b9ca6aaababadb0b3bcc0bfb9ac acac9f938884847e7e7c777960a2e1e7e3e0d7d0cecbd4dfebeceef1f7f6f8f6f3f2f2f2f3f7f8 fafbfaf8f7f6f7f7f6f2f3f3f3f3f3f3f3f3f3 f1f0efe8e1e2eaf2f3f9f6f7f7f6f6f8f8f8f6f6f5f3f0f1ececf3f2f1f1eeeff1efeeedeceef0 f2f2f2eec4b4a7a9acaca9a39695948c878f94a1a2a0a3a7a19d9da1a3a6a9b6bac3c6ccd3d9d8 d9d3d0d0cecec9c1c4bdbab1aba49c949b9b9a9b9b9e9ea0a0a3a6afb0b5b4b7b7b8bcbcbeb7ae a9a7978e87838079797b756b69d2e4e4e2e1dcd5c9cad4e0ebeceef1f7f7f6f4f2f2efeff2f6f7 fafafaf9f7f6f7f7f6f3f4f4f4f4f4f3f3f3f3 f2f2eeece4e0dee5f3f6f8f7f7f7f7f8f8f8f8f7f7f6f3eeeeeceef2f2f2f3f0f2f0efefeeeff1 f3f3f2efe8d2b5aaacababa69a98989688848b989a9a9d9f9e9c979da2a2a8a8b1bdc0c2c9d0d5 d5d2d0cfd2cfcfc7c7c4c1b8b1aba7a3a5a5a0999a9ca2a9acb7bcb9b6b9bbbbbbbbbabab6ada7 a09b9088827b767a7b7265a6cddbe2e2e1ddddd3c8cad6e6eeeeeef3f4f4f3f4f3f1efeef2f7f9 fafcfcfcf8f4f7f8f7f3f1f4f7f3f5f3f3f2f2 f1f1f1f0eee6e1e1f1f6f8f7f7f7f7f9f7f7f8f8f7f7f3f0edeaeef3f2f2f4f0f1eeefefeeedf1 f3f3f2f1ece8cbb3adacaca6a09f989a958585929899969b9b9597969ea0a1a2aeb7b9bdc4cacc cdd1d0cececcccc8c7c5c0b7b0aba8a8a8a5a19a97a1a4a7abbabfbbb7b9bdbcbcbcb9b9b5aaa0 99948f8680787676745f99cccde2e8e2e1dfdbd2cacbd6e2ededeef1f2f2f2f4f2f0efeff1f6f8 fafcfbfaf8f6f4f8f7f4f2f8f8f6f3f3f3f2f2 f0f0f1f2f2efe4deebf5f7f8f7f9f9f9f9f9f9faf8f7f5f1ece9f0f2f3f2f2f0efededf0f2edef f2f2f2f2f1fcf2c2adaeada7a3a29b9b9a92908e92949494989592959e9ba19ea8b6b8bbbec9ca c9cecececac8c8c6cac5beb6b0aaa9a8a8a5a4a19d9ca3a9adb8bbbab8bac0c3bdbdb7b4ada59f 9490887b7b77736d6794ccdddce4e6e6e4e1dbd5c9cad4ddebecedeef1f3f3f3f2f0f0f0f2f7f9 fbfcfbf9f8f6f6faf3f4f4f8f8f6f6f6f3f2f2 f0f0f1f3f2f1e7e1e6eff8f9fafafcfcfcf9f9fafaf8faf6ede8edf3f3f1f2f0efeeeef0f0edee f2f2f3f3f4f2f2c9aeadacaca9a89f9c9a9b91878d92939595928d9094949898a4b5b8babbc4c8 c9c6c9c7c6c8c8c5c5c0b7b7b0acaaaaaaa8a49ca1a1a6a8adb1bbb8b6bbbdc0bdbbadaba99d9a 908b7a797774734d4eb5cfdae0e4e6e7e3ded7d5caccd6e0ebececedf1f3f4f4f3f0eff1f3f7f8 fbfcfaf9f8f6f8f8f4f2f3f5f7f6f6f6f3f3f4 eff0f2f3f1f0eee9e9eff4f8fafcfcfcfbf9f8fafbfbf7f7f4eeebf2f4f2f2f2f1eff0f2f0eef0 f3f4f4f3f4f3eee3c3b4adaab0aaa29f9a95949190868f8f8f8a91909093989da6afb0bababebf bfbdc2c3c3c8c7c6c7c3c0c1beb3b0b0acacafa8a8a6aeadb0b0b3b4b4b6b7b1b3b1acab9f908b 8e86767373715590cfcfe0e3e7e6e6e4e3e1d8d2cccfd8e3edededeff0f2f2f6f4f2f1f4f7f7fa fbfcfcfcf7f7f6f5f3f3f3f4f7f7f7f4f4f3f3 f1f0f1f2f1f1f1ecedf0f4f8fafcfcfbfbfaf9fafbfaf7f7f6f0edf3f4f3f3f2f2f0f1f3efeff0 f0f3f3f2f2f1eeeccfbcb8aeb1acab9f9d969898918884838c8c8d8e8e91929ca6a7b0b6b1b7be bec2c2c3bdc6c5c5c8c8c7c7c7c4c3c3bdb4b6afabadaeb1b8b0b1b4b3b4b0adacaaa7a3988988 897f736f6d6988cbf2dae0e2e7e9eae9e2dfd6d3cfd3d9e2ecededf0f0f2f4f3f2f2f3f4f7f7f9 fbfcfcfcf9f8f7f6f7f6f4f4f6f6f6f6f5f4f3 f3f0f0f1f2f3f2eff1f2f3f9fbfcfcfbfbfaf9f9f9faf7f7f6f6f0f4f4f4f4f4f3f2f2f3f0eeef f1f2f3f2f2f2f1eee2d3c2b5b5afada0a09d9b99948d868482828b8b8b8e8e9a9fa4a9b1afb6bd c3c4c5c6c5c4c4c6c8cbcccac4c4c3c4c3bcbcb8b8b6b7b5b8b6adb3b0aeaea9a7a7a09e958e83 7e7a6f6b6b3cbfdbdbdfe2e2e5e9eaebe1ded7d4d2d7dce2edeeeceff0f2f4f3f2f2f4f4f7f7f8 fafbfbfbf9f8f8f8f8f7f4f6f7f8f7f7f7f6f4 f4f4f2f1f4f4f2f2f3f3f3f6f8fcfbfbfbfbf9f9f9faf7f6f8faf1f2f4f7f7f4f4f3f2f2f1eef0 f1f3f6f3f6f3f3f5f1e9d2c5b9b6b1a69d9c9c9b9a9690888380858785868b8e939a9fa5aeb5b9 bcc6c5c5c8c9c9cdcccccccec8c6c4c9cac8c5c3c3c0bdb2b8b6b1b0aeacafabaaa3968c888a7d 737163473f97d4d6dde4e6e7e9ebebeae4e0d8d2d4d7dee6edeeeef2f2f1f2f3f3f2f1f3f6f7f8 fbfbfbfbfbf9f7f7f8f8f7f7f7f8f7f6f7f6f7 f6f6f3f1f2f4f4f3f4f6f3f6f8fafafbfbfaf9f9f9faf9f7f8faf1f1f3f7f6f3f3f2f2f3f1f0f0 f1f6f7f5f7f6f4f2f1ece1cdbdb6afadaaa09d9b9993939088858382818187898e9aa3a4a9aaaf b8c2c3c5c9ced3d4d5d4d0d0cbc8caccd1cbc9c8c8c3bdb5b9b9b5b0b3acb1abaa9f9388858079 706b5c358da8dbdbdce4e6e8ebecece9e2dfd5d4d5d7dfe6ebeeeeefefefeff1f2f1f1f2f4f6f8 fbfcfcfbfbfaf7f7f8f7f7f7f7f7f6f3f7f7f6 f4f7faf2f3f7f6f3f3f6f4f3f8f8f9fcfcfbfaf9f9faf9f6f7fbf3f0f3f6f6f6f3f3f3f3f3f1f0 f1f8f9f9f7f7f7f3f1f1eddcc2bcb5b2a9a59fa19f9492909187847f818281868b95a1a29ea8ab b2c2c6c7cad1d4d5d3d4d7d8d3cfd0d0d1cecac9c8c5c4bdb9b9b8b0b4b0b3aea4948d86817d78 6a5e4480b3cae0dedce3e6e6ebeceae8dfd8d4d2d4dde0eaecf0edeeeeeef0f1f1f1f1f2f7f7f8 f9fcfcfbfaf9f7f8f7f8f6f6f6f6f6f2f4f3f3 f4f6f8f4f6f7f6f6f3f4f6f3f7f9fbfcfcfbfbfafaf9f8f6f6f7f3f0f2f6f6f4f6f6f4f4f3f0f0 f0f8f9f9f8f7f7f6f2f1efe5d2c5bdb7adaba8ab9f9993919391898483827d7d87939e9f9ba1a7 adbfc7cdcad2d5d7d5d9d9d9d7d1d0cfcacfcfc9c9c5c5c2babab9b5b4b1afa8a19287817e766b 5c4d4ea6b4d1dedee0e5e9e9ebecebe6ded7d4d0d2dce1e6edededeeeeeef0f2f2f1f3f5f7f9fa f9fbfcfcfbfcf9f8f7f8f3f3f3f3f3f2f3f5f3 f5f6f6f6f2f3f3f6f2f2f4f7f7fafafafbfbfcfcfbfbfbf9f7f8f7f0f2f9f7f4f6f7f6f3f3f0f0 f3f6f7f7f7f6f7f7f3f3f3f2ebd7c7bfb8b0ada9a19f9e9e99938d8d8b857e7e7b82929999a4a4 adb9bdc5c5c8cad3d8d7d7d4d2d0d0d0d1d2d2cac7c7c6c2c2bbb8b4b3adafa19893857d77635a 3f378fc2d0dfe0e1e5eaeaebecedebe6e1d6d5d2d8dfe2e8ebeeeeeef0f1f2f3f6f3f3f6f9fcfa fafbfcfcfbfaf7f6f4f4f1f1f4f3f4f3f3f6f6 f4f6f6f4f3f3f6f7f4f4f4f7f7f9fafafbfcfcfcfbfbfcfbf9f8f8f1f0f6faf8f7f7f7f3f6f2f1 f3f3f7f8f8f7f7f7f6f4f6f6f3ebdac6bbb8b1aba89e9fa19d9c93928e8885817b80828f9aa1a1 a9adb0bac1c7cacfcfd4d6d0d0d0d0d0d0cfc8c6c6c8c5c2c0bcb8b3afa9a795918d857e75584e 3f68b5d0dae2e2e3e6ebededededede5e1ddd6d3dddfe4eaecedeef0f0f1f2f4f7f4f5f7f9fbf9 fbfcfcfcfaf9f7f4f4f4f3f2f3f6f6f6f4f9f7 f1f2f4f4f3f4f6f8f7f8f3f7f7f9fafbfcfcfcfcfafbfcfcfaf9f9f6f0f2f6f8f8f6f6f6f6f2f1 f2f4f7f6f8f7f7f7f7f7f6f6f6f0e4c9beb8b7b2ada6a5a19f9d9a958e8d8789817e7882939ea3 a6afa9b4bbc4c5c8c9cfcfcccdd0cecbd1cac6c5c4c2c3c1bdbbb9b1a8a79f928c84806d69565b 6587bed1dde4e4e5e6ebedededecece4ddddd6d6e1e4e6eaededefeff1f1f2f6f6f7f7f8f9fafc fcfbfcfcfbf9f7f5f6f6f7f4f6f6f6f7f6f6f4 ebf1f4f6f6f6f6f8f7f7f3f3f7f8f9fbfcfcfcfcfcfcfcfcfbfbfbfaf0eff2f6faf7f7f8f7f3f3 f6f5f7f7f7faf6f7f7f7f8f7f4f1efe0d2c1b9b6afada9a8a49fa099968b8684827e7c797e8d99 a0a9a9b4b7b9bebdbcc3cac7c4c4c5c7c7c4c0bdbec3c4bfbcb9afa69e9c938d847a6969667181 9bbad1dce1e3e5e5e9ededecebebe6dfd9d8d6d9e2e4e9eceeedefeff1f2f6f7f7f6f7f8f9fafc fcfcfbfcfaf7f7f7f7f3f5f6f4f4f7f6f6f6f6 e2ebf1f3f7f7f7f7f7f7f3f2f2f7f8fcfcfcfcfcfcfcfcfcfcfbfafaf3eef2f3f7fbf8f8f7f3f4 faf7f8f7f9fbf8f8f8f8f9f9f6f2f0ebddccbdbbb5b3b4a99fa3a29f9a9186848283817b7a8690 99a7aaacb1b7babbbab9bdc0c1bdbec4bdb9b9bebcbdc0b9b7b3aea09c918d837b725e6571849e b9ccd8dee2e4e6e6e7ececedece8e6dfd9d8d7dee2e6ebeceeefeff1f3f4f7f7f7f7f6f8f8fafb fbfafafaf9f9f7f6f4f3f7f7f3f3f6f6f6f6f3 dbe1ecf2f7f7f7f8f8f7f7f3f2f7f7fafcfcfcfcfcfcfcfcfcfaf9f8f6edf1f5f9f8f7f7f6f7f7 f7f8f9f7f7f9f9f9f8f8fcf9f6f3f2f1ecd9c7bab8b7b6b6abaaa3a2a195908f898685807e797f 899fa5a5a8adb2aeb0adb6b6bcb9bab8b6b0b2b7b7b6bab2adaaaa9c97917d7a6a6565778c91b7 cdd7dce1e5e6e6e7eaececebebe8e4dddcd8d7e1e3e6ececedeff1f3f4f4f6f7f7f7f7f7f8f9fa fafaf9f9f9f9f7f6f4f4f3f7f7f2f3f6f6f7f4 dcdeebf2f7f7f8f8f8f8f7f4f3f6f7fafcfcfcfcfcfcfcfcfbf9f8f8f4eff1f5f7f8f8f7f6f7f8 f8f9faf7f8f8f8f9f7f8f9faf8f7f4f4f2e8d6beb9b7bab8afaaaba3a39d949290868685847a7e 7e83959c9aa5aaacaba7a8b0afadb2b3b0abaeaeb0afadaba3a09c93908a78665b5d788991add0 d7d9dfe2e5e6e6eaebededece6e3e1d9dbd9d7dce3ebefedeeeff1f3f4f3f3f6f7f7f7f8f9f9fb fbfcfbf8f8f9f8f6f4f4f3f3f4f3f3f4f4f6f4 f0e0e0e9f3f3f7f7f8f7f6f4f2f2f3f9fcfcfcfcfcfcfcfcfbfaf9f9f6f1eff0f6f9fafaf6f7f8 f8fbfbf9f9f8f8f9f9f9fafaf9f8f8f5f2f0e9cfc2bfb7b7b7b2a9a7a7a19594928e898886847e 7b7a7a7f7f878e8f999698a59d9f9fa6a3a19da7a4a0a4979191877d736c5f6066738e93a2ccd4 d7dee4e4e5e5e6e5eaecece9e5e2dfd8e0d8d7e1ebeef0f0f1efeff1f2f2f4f7f6f7f7f7fafbfb fbfcfcfbf9f9f8f7f3f2f3f3f4f3f6f6f6f6f4 f2f0e6e2eef3f4f7f6f6f6f4f3f0f0f7fbfbfcfcfcfcfcfcfcfaf9f8f7f2efeef4f7f9faf9f2f6 f9fcfcfaf9f8f8fbf9f9f9f8f9f8f8f8f6f2f0e4d4c3b9b7b7b5ada7a5ac9e9e98968f8d8a8687 7f737372707d7d7b78828a8a948f8e969c9c989a95928e8d857979686162646b7b849595b6ced6 dddfe5e4e5e4e5e5eaeae9e6e5e0dedbdfd8d7e4eceff1f2f1f0f0f2f2f2f6f7f7f6f3f7fafbfb fbfcfcfcfaf9f9f7f3f3f3f4f4f3f3f4f4f3f4 f6f4efe6e6edf1f3f6f6f6f4f3f2eff5f9fafbfcfcfcfcfcfcfbf9f8f7f1eeedf0f3f7fafcf7f4 f7fbfbfafaf8f8f7f7f8f8f8f9f8f8f9f6f4f1f0e5d3c4bcb6b6aeadadaca6a7a09f9d94908b8b 7f7974797171706c6d7174757e7a7c7e7a7e7f7e7d7679797768605b6162727d899096a6bad5d6 dde5e8e6e6e5e5e5e9e9e9e5e5dfd9d9dbd8dde3ecf0f2f4f0f0f0f3f2f2f6f7f7f6f6f7fafbfc fcfbfbfbfbf9f8f7f3f1f3f4f3f4f4f3f3f3f4 f8f7f4ede3e9ebf1f4f7f7f4f3f2f1f2f4f6fafbfbfcfcfcfcfbf9f9f7f3efedeef2f5f9fbfbf7 f4f8fafafbfaf8f7f7f8f9fafaf9f9f7f6f5f4f2eee1ccbeb8b6b6b5aeafaea8a0a0a09d9a9792 868181827972736f6d6a6d6f7271707174747071726b6b68675f5d65707f8e929297a1b8c5d8d9 dfe8eaebe9e5e6e8e9e9e8e6e4ddd7d7dbd6e0e5edf1f3f4f2efeff2f3f4f5f9fbf7f7f8fafbfc fcfcfbfbf9f9f9f8f2f2f3f4f2f3f3f4f3f4f4 fcfbfbf5f1e5e2e6eef2f4f3f3f1f1f1f2f5f8fbfbfcfcfcfcfcfaf8f8f5f1edecf3f7f8fbfcfb f9f7f8fbfcfcfaf8f7f8f9f9f9f9f9f8f7f7f8f8f3efe1d0c2bbb5b4b6b3ababada0a4a19f9d9d 9e9594918f86807a777572747272767a79757571747b727574788186929294999798adc3d2d9de e4e8eaeae9e7e6e9ececeae6e4dcd9dedddde5ebeff3f5f7f4f0f1f2f6f6f6f9f9f7f7fafafbfb fcfcfcfaf8f7f8f8f5f2f2f1f2f2f3f2f2f4f4 fcfbfaf9f6f0ece8e4ecf0f2f3f2f1f0f1f3f7fafafcfcfcfcfcfcf9f8f7f3f1eff1f6f8fbfcfc fbf9f7f7fcfbfafcf8f9f9f9f8f9f8f9faf9f8f9f3f3efe0d0c2b8b6b6b8afacacaaa7a4a4a19e a19b9c9f9d928f8782827f8383827c81858483898989898f8c91969397969a9a9ea1bcd0d5dfe1 e7e9ebeaeae9e7e6ecefece6e3dcdbe1dddfebeff0f2f6f7f6f1f2f2f3f6f6f7f8f7fafafbfbfb fcfbfaf9f8f7f6f6f6f2f3f2f1f2f3f3f3f4f4 f9faf9f9f8f7f5f4eae5ecf2f3f3f2f0f1f3f7f7f7fcfcfcfcfcfcfbf9f7f6f2f2f0f2f7fafbfb fbfaf9f7fafafafaf9f9f9f8f8f8f8fafafaf9f9f7f8f5ede2d4c4bcb6b6b6adacada9abaca8a6 a79fa0a4a7a19c948d939293928f8f8f8e8f939191939394969a9d9998979fa1aab1ccd5dee2e3 e9ebebebebeae7e6e7ecebe5e2dcdfe0dde5eceff0f1f7f8f3f2f2f1f1f6f6f6f7f8f8f9fbfbfb fbfcf9faf9f8f6f7f7f6f4f3f3f3f2f2f2f3f3 f9f9f9faf9f9f8f8f2efeceef0f3f3f1f0f1f4f8fbfcfcfcfcfcfcfbf8f8f8f3f0f0f1f3f8f8fa fafafaf9f7f6f7f9f9f9f9f9f9faf9f9f9f8f8fafaf8f8f3f1ebdfc8bfb8b1b0afafa9a8a8a8a7 a7a3a8aeafa9aba19d9b9b9a9997979c9b9da3a19fa0a1a09f9c9a9ba0a6b5c4ced4dbdcdce0e3 ecebeaeaebe9eaeaeaeae9e4e2dcdfdfdee5eceff2f2f3f6f3f2f2f1f1f3f6f7f8f7f7f8fbfbfa f9faf9fafaf9f7f7f7f8f7f7f4f2f1f2f2f3f3 f6f7f8f9f9f9f9f8f7f7f2efeff2f2f3f1f1f3f8f9fcfcfcfcfcfcfcf9f7f7f4f1f1f1f2f7f8f6 f8fcfbfaf8f7f7f7f9f9fafaf8f9f9f9f9f8f9faf9f8f7faf6f2ede1c8c2b1b1b1adaba7a4a3a6 a3a6aaaeafb1aba4a09b9899989c9d9d9e9ea6a6a3a39f9d9b9b9ca3abb5d6d8dfdedcd3ced1e6 e8e6eaeae8e2e9e9eae7e5e4e0dce3e1e4ebeef1f3f3f4f4f3f2f1f2f2f3f4f7f8f7f7f8fbfaf8 f9f9fbfcfaf9f7f7f7f8f7f7f4f1f1f3f3f2f6 f2f6f8f8f9f9f9fafaf7f8f2eff1f1f3f2f0f2f7f8f8fcfcfbfcfcfcfaf6f6f3f2f3f3f3f7f7f6 f7fbfbfbfafbf7f5f9f9fafafafaf9f9f9f8f9fbf9f8f7f8f6f6f0ede1c8b6b4b1abaaa8a39d9d a2a3a7acaeb2ada5a29b949a9ba3a7a4a3a1a6a8a7a19f9e9d9b9fb1c1d8e9e7e6e3d4c7b8b0ba e7e9e4e4e4e3e5e6e8e5e4e2dddce4e0e4eef0f2f2f3f3f4f3f1f1f2f2f2f4f8f8f7f7f8f9f9f8 f8f9fbf9f8f8f8f7f6f7f6f6f6f0f1f2f2f2f3 eff3f7f7f8f9fafaf8f7f7f7f3f2f2f4f4f0f3f7f7fafcfcfbfbfcfcfbf8f7f6f3f3f3f4f6f6f6 f6fbfbfbfbfcfcf7f2f7f9fafafaf9f9f8f7f7f8f8f7f8f8f8f7f3f0edddc4bab2aaa7a7a2a09e 9e9ea1a6aaadb1aea99d9a9fa8aaadaca9adaea8a8a1a09e9fa6b3c9daf0ebe5e1dbd1c2b3a083 93aee3e3e3e3e8e5e4e5e2e1dcdee1dfe9eef0f1f1f2f2f3f3f1f1f2f2f3f3f9f8f8f7f8f9faf9 f8f9fafbf9f4f8f8f6f7f6f6f6f3f3f2f2f3f2 eeeff3f7f8f9fafaf9f8f9f8f7f7f4f7f7f2eff3f4f7fcfcfcfcfcfcfcfafaf8f4f6f4f4f3f6f7 f7f8fafcfbfbfbfcf7f2f4fbfbf9f9f8f8f8f7f4f7f7f7f7f7f6f4f2f1f0e2d1c7b5aeaba1a5a1 9f9da0a4a4a3acaeb1aba4aba9abacada7aaaaa8a6a0a0a5b4cae1f8f8f1e4dcd5cfc7bcbda288 764171c0d2d8e2e2e1dfdfddd9e3e2e1ecedf0f2f3f2f2f2f3f0f1f2f3f9f7f9f9f8f8f9f9f9f9 fafafafaf9f8f7f7f7f7f4f3f3f3f2f2f2f2f2 eff1f3f7f8f7f8f9faf9f9faf9f9f8f7f6f4eff2f3f7fcfcfcfcfcfcfcfafaf9f6f7f6f7f3f3f6 f7f9fbfbfbfbfafaf9f6f3f9faf9f9f8f8f7f4f5f3f7f9f8f7f6f3f1f1f0e0ded8c4b8b1a7a5a2 a3a1a1a49e9da0a4a9aaadb0aeafadada2a8aaa7a3a3a6bdd5e9f7f8f2ecddd5cdccc1b1bda285 74529cbdc9d2e0dfdcdcdbd9d9e1e2e6eceff0f2f3f2f2f2f3f1f2f3f4f9f6f7f8f8f8f9f9fcf9 fafafafaf9f8f7f7f6f7f4f2f2f1f0f2f3f1f2 efefeff0f4f7f7f9faf9fafbfafaf9f8f7f6f1f1f2f3fbfcfcfcfcfcfcfaf9f8f7f6f6f9f4f4f6 fafafbfafcfbfaf9f9f9f6f4fafaf9f8f7f7f3f6f6f6f7f7f7f4f2f2f0ece0e0e0d9ccc1b5a9a3 a5a6a19f9e9d9fa3a4a8acb0b4b6b6ada7a8a7a6acb3c1eaf5f7f9f1ece5d7d3cac9a86ec59480 5657dad4d4d8dcdddddbd9d8dce3e4eaedf0f1f2f3f2f1f2f2f2f2f4f4f4f5f6f7f7f7f8f9f9f8 faf9f9faf9f8f7f7f6f6f4f3f2f2f0f1f2f1f0 f3f0eff0f2f3f4f7f8f9f9fafafbfbf9f8f6f2f1f0f6f7fcfcfcfcfcfcf9f9f9f7f3f8f9f8f3f3 f7f9fbfbfbfcfbfaf9f9f9f8f7f9faf8f7f7f8f7f6f6f7f4f3f3f2efece0dde2e3e4e3dad1c4b7 b0a79ea2a19fa0a3a9a7a9adafb0b1a6a7a7a7b8cfd5e9f9f5f4f0e3ded4ced4c7ba9c8cbd9345 48bfdce1e5e3dbdcdcd9d8dce4e3e6edeff0f2f2f2f7f3f5f1f1f1f3f3f4f4f4f4f4f6f7f9faf8 f8f8f8f8f8f8f4f4f5f6f3f3f3f2f1f1f2f2f3 f4f3f1eff2f2f3f6f8f8f9fbfbfbfbfafaf6f3f2f1f3f7f9fbfcfcfcfcfaf9f9f8f4f7f8f8f4f3 f7f7f9fafbfbfcfbf9f9fbfbf7f7f9faf9f8f8f6f4f6f6f3f3f3f4ede2dbdcdcdfe3e4e2e3d2cb c1b8aba9a2a0a0a1a3a4a7aaacacaca6a7adc2d5e3f1f1f2f1ece8d7cec7c8d7c6ab8f867d5d4d b3f2e2e7edece9dcdad7d8dbe4e3e6efefeff3f3f4f7f2f1eff0f0f2f3f2f4f4f3f3f6f7f7f8f8 f8f7f8f8f8f7f3f2f6f5f3f3f3f0f0f0f1f3f3 f6f4f3f1f3f2f2f4f7f8f9fafbfbfbfbf9f6f3f2f2f3f7f8f9fbfcfcfcfbf9f9f8f6f4f7f8f7f7 f9f7f8f9fafafbfbf9f9fbfcfaf7f9f9f9f8f8f7f6f3f3f2f3f2f2e8d9d4dfdbdce3e4e4e4e4e0 d8cbc4b8ada5a0a2a2a2a2a9a8a4aab2bfccd9edf2f1f1ebe9e5deccc7c8e7e7d4b7737173619e e6e8e3e6edeeefe7dfd5d5dcdfe5ebeff0f1f2f2f9f6f2f1f1f0f0f2f2f2f2f9f4f6f6f7f7f7f8 f8f9fbfbf7f6f3f3f3f3f4f3f2f1f1f1f1f3f3 f6f7f7f6f6f3f3f4faf9f9f9fafbfbfbf9f7f8f2f2f2f6f8fafcfbfcfcfbf9f9f8f7f3f4f8f8f8 f8f6f6f7f9fafbfbfafafafbfbf9f8f9f9f8f9f7f3f2f2f1f3f2f0dfd7d7dcded8dcdee4e5e4e1 e4e1d6cec4b8b0b0aea6afaec0bfc5c6defcefeff2eceae5e3d8d1c7c9cac7b39ba26a5d439dee eee0e4eaeceff0ebe0d5d5dfdfeaedf0f1f2f2f2f4f3f1eff1f1f1f2f2f2f2f8f5f4f6f6f8f9f7 f7f9f8f7f6f6f3f2f2f2f4f3f2f2f2f1f3f3f3 f7f6f4f7f7f7f7f6f3f7f8f9f9fafbfbfbfcf8f6f3f4f6f9f9fcfbfbfcfbfbfbfbf7f5f7f9fafb faf9f9f7f8fafbfafbfbfaf9fafcfaf7f8f8f8f8f7f4f3f3f4f1e1dee0e5ddd4d3d3cfc9d5d5db dddcdfd1cfcac9c4c4cef3f3f2ececedecebe9e6e6e5e3dacbc1c6ccd1c7d39e6d6c574395fcee eae5e6edeeeeecece7d8d7dee2eceef0f1f2f2f2f2f1efeff0f1f2f2f2f3f2f3f6f7f7f7fafaf7 f8f8f8f9f8f7f3f3f3f3f6f4f2f2f3f2f3f4f8 f7f7f6f4f7f7f7f6f6f6f7f8f9f9fafbfbfbf8f7f4f4f6f8f9fbfbfcfcfcfcfbfaf7f6f7f9f9fc fbfafcf8f7f8fafbfbfcfcf9fafbfaf6f7f8f8f9f9f8f6f4f4ecd7d6e0ebe5e1e4d8cfc5c8cbda dad0cac3c7c9cdceced7e1e7e8e9ebeae6e3e3e3e4e3d8cbc2c3ccceccbba49ba36e436bdcf8ec ebe9eaeceeebebebe6dddbdfe5edeef0f2f2f1f1f2f3f1f1f0f0f1f2f2f2f3f3f4f6f6f7fafaf8 f8f8f9f8f7f8f3f3f4f3f3f4f2f3f3f3f3f3f3 f7f7f7f7f8f8f8f6f6f6f7f8f8f9f9fbfcfcfaf9f7f4f3f6f8fbfbfcfcfcfcfbf9f7f4f4f8f7f9 faf9faf8f4f7fafcfafbfbfaf9fafaf9f1f7f9f9f8f8f7f4f0e8b7c1e2ece9e4e7dfd1c1c2c5c9 cbc1bbb4a9bec7c9d4dadee5e0e2e5e1e3e3e0e0ded5cac4c5cbcbcbc1b48d8d9d6b65d1eeeae8 eaeaedeaebe7eaede4d5dbe0e9eef0f0f2f8f2f2f3f3f2f1f0f0eff2f3f3f3f2f3f3f7f7f9faf9 f8f8faf8f7f9f4f3f9f3f2f3f2f3f3f3f3f4f3 f3f7f7f7f8f8f7f7f6f7f7f7f8f9f9fbfcfcfbfbf9f8f6f6f8fbfcfcfcfbfbfbfbf8f8f4f7f7f9 f9f9fcf8f6f7f9f9faf9fafaf9fafafcf7f6f8f9f7f7f8f5f6d25b79dceceadde2eed8c6bab7be bcb3aea7a6adacb4bfcedbe5d9d1c0c9d4dfe0dcd1c8c4c4c9d3eebfafb47e7e7d4cd7e0eaeeeb ebeaeae9ebe9e8e4dbd5dfe3ebeff1f1f2f8f3f2f3f8f2f2f0f0eeeff3f3f3f3f3f4f8f8f8f9f8 f8f8f8f7f7f8f3f3f3f3f2f3f4f3f3f3f5f4f6 f3f3f7f8f8f8faf7f7f7f6f8f7f8f9fbfcfcfcfbf9f9f7f6f7fafbfcfbfafcfcfcf8f8f4f7f7f9 f9f9f9f9faf7f7f7f9fafafafbfbfafafaf7f3f8f8f8f6f3e3b14c43329dbdc4bdc4ccf2ccbbad aca7a6a09e9c9fa1a18f93bab7b4aab4d4d7d0c6c3c3c5c5cef1cdb3d2a3817353a7e9eaf3ebea e7e6ebebebe6dfdae1e8e9eaecf1f2f2f2f2f2f3f2f3f1f0efeeeef0f2f2f2f3f4f5f6f8f8f8f9 f8f7f8f9f7f7f3f2f3f3f3f3f4f6f6f6f6f7f6 f3f3f3f7f7f6f7f8f8f7f7f8f7f7f9fafcfcfbfaf9f9f8f7f6f8fafafbfbfcfcfcf9f7f4f8faf9 f9f9f9fafbfaf8f7f8f9f9fafcfcfafbfbfaf4f7f8f7f6f4e3b85357394e9fa2b4adbae0c6baa7 a5a3a3a19c9ba7a7a8adaeb9b3b1bbc2dec5c4c5d1d4e4e2cfa3a4b6d2a356539eece9f0efe9ea e7e6ebebe7dedfe6edebeaeceef1f3f2f1f1f2f4f3f3f4f0f0f0eeeff1f2f1f2f7f7f7f8f9fafa faf8f8faf9f8f5f4f2f3f3f6f5f4f4f5f6f6f6 f0f0f3f7f7f6f6faf8f8f7f8f8f7f8fbfcfcfcfaf9f8f8f7f5f8fafbfbfcfbfcfcfaf9f7f8fbfa f9f8f9f9fcfaf9f8f7f8f8f9fcfcfcfafaf8f7f4f6f7f7f6e3c49d827278c991879aa7d3c0aba0 9e9499949499a0aab5bdc0c1b9bbbbbfc0bebed0d0e4e497913875dbd1a0589ee3e8ebefecebec eae9ebe4dddfebedf0edecedeef0f2f2f2f2f4f4f2f1f5f2f1f1f0eff1f2f2f2f4f7f8f8fafafa f9f7f8faf9f8f4f3f2f2f3f6f6f3f3f5f7f6f5 eef0f0f6f9f7f6f7fbf8f8f8f8f8f9fafbfcfcfbfafaf8f7f7f7fbfcfcfcfcfcfcfcf9f8f7fbfc fbf9fafbfcfcfbfaf8f7f9fafcfbfbfafaf9f8f7f4f0f4eeddc9d7d7c78d7f7d63656577727b93 9f938080a5a9c2cbdde7d8d4c2b8aeb5bec5e0e2e4a2966a384775eadec0c5ebe7ece9e7ebf0ec eae6e4e0dfdfe9eff0edeceff0f2f3f3f3f3f4f3f2f2f1f0efeff0f0f0eff1f2f2f3f6f4f7f8f9 f9f8f7f8f8f8f3f3f2f2f2f3f7f4f3f7f7f6f6 f2f2f2f3f9f8f8f8f8f8f8f8f8f9f8f9fbfcfcfafbfbfaf8f7f7fbfcfcfcfcfcfcfbf9f9f7fafc fcfafafafcfcfaf9f8f8f8fbfbfafafcfcfbfaf9f7efefeedaba76807c6e8788665c533f523a56 66645d6262727c8ac6b7b7cba6a5a0a3aeb7b5a394637967585269bcd7c2e8ecede9e3e7eef0ec e6e5e4e1e9e9e9eeeeececeef2f3f4f3f3f4f2f2f2f2f1f0efeff0f1f0f0f1f2f3f3f3f4f7f7f8 f8f7f6f8f8f8f7f3f4f4f4f4f9f2f2f5f7f6f6 f3f2f2f3f9f8f8f8f7f7f7f8f8f7f8f8fafbfbfafbfcfbf8f8f8f9fbfbfcfcfcfcfbfbfcf8f9fc fcfafafafcfbfbfaf9f8f7f9fafafafcfcfcfbfafbf2efeee1c639285f64655e5e505148484d4f 4e4747474a48464b4b5c514663827d98a6b0a46b6541706b6657493a9ac3ebeeede5e4ebeff0ea e4e3e6eef0f0f1f0f2eceef1f3f3f3f3f3f4f2f1f1f1f1f1edeef2f1f0f1f2f4f4f4f3f4f7f7f7 f8f7f7f8f7f7f7f3f4f4f4f4f8f2f0f1f3f6f7 f4f3f2f8f7f8f8f8f7f8f7f8f7f7f7f7f9fafbfafafbfbf9f8f8f8f8fafcfcfcfcfbfbfbf8f8fa fcfbfafafbfbfbfbf9f8f7f8f8f9fafbfcfcfbfafcf5efeeebea61313b574d4f514b4e4a47484f 4746434342484d403a3c6272afb0bcb3aba6998a88817b766e6c5437a7d6eeece6e5e9e9ebeae5 e4e5eeeff1f1f1f0f0eef0f3f3f4f3f3f2f3f3f2f1f1f1f1eeeceef0f0f1f2f3f3f3f4f6f7f6f7 f7f5f6f7f7f7f7f4f7f6f4f3f2f1f1f1f3f6f9 f7f5f2f3f7f7f8f8f8f8f8f8f7f8f6f6f7f9fafafafbfbfaf9f8f8f8f9fbfbfcfbfafbfbf8f6f8 fafbfafaf9f9f9f8f8f7f7f7f7f8f9f9fbfbfcfcfcf7f1eeece3e052373b3d41434b4b4a484b49 4348494544367e7eadc3c4dae1d2d1c2a59f99b79a9990797377629be1e2ece5e3e5e7e9eceae1 e3ebeeeff1f1f2f1efeff2f3f3f3f4f1f1f2f3f3f2f2f2f1eeedeef0f1f1f1f2f3f3f4f4f6f5f4 f4f4f6f8f7f7f6f6f6f3f3f2f2f2f2f2f2f4f6 f7f6f2f2f4f8f8f7f7f6f7f8f8f8f6f7f7f8fafafafbfbf9f9f9f8f8f8fbfbfbfbfbfbfbf8f8f8 f9fafbfbf9f9f9f9f8f7f7f7f8f8f8f9fafbfbfcfcfcf6f0efe5ddd2492536343f474946484c49 484648423c89b5cec6deccd0d6d2d2d0a79b959c9e9b8b79724f58dde8eae5e0dfe2eaecedece4 e4ecf0efeff0f0efeff1f2f3f3f2f3f1f1f2f3f3f1f1f1f1f1eeeff1f2f2f1f3f2f2f4f4f4f4f7 f6f7f6faf6f6f6f6f4f2f3f3f3f2f2f2f2f9f3 f7f7f3f3f2f3f7f7f6f6f6f7f8fbf6f7f6f6f9fcfafafbf9f9faf9f9f9fbfcfcfcfbfbfbfcf7f7 f9fafbfcfaf9f9f9f8f8f7f6f9f8f6f9f9fafbfcfcfcf7f7f0eee0e4902637363f3e4746494b4d 4b5173899cb5d7c0c0caccd0d3d0d0cdafa0909091b88b736e609edfeaebe1dee0e5eeeff1efea e4eef4f1efeeefeff0f3f3f3f3f3f2f1f1f1f2f2f0f1f0f0efefeff1f2f2f2f2f3f4f4f7faf8f7 f7f7f8f7f6f6f7f7f4f3f2f3f3f3f6f3f3f4f4 f8f4f3f2f2f3f3f6f7f6f6f7f7f7f6f7f7f7f8fcfafafafafafaf9f9f9fafcfcfcfbfcfcf9f7f4 f8fafbfcfcfaf8f9f8f8f8f8f9f9f8f6f8f9f9fcfcfcf7f7f3efe2e0fa842d3a3c4143434c4c52 53a0bdbdacaebebeb8bbc6c8c9c8c8c9d7aea19088887769609ae1dcece8e3e4e8edeff0f2f0ec eaedf6f3f2eeefeff1f3f6f7f3f3f7f2f1f1f2f2f1f0f0f1eeeff1f1f1f2f3f3f3f6f7f7f8f8f7 f7f7f8f8f7f7f6f6f6f3f3f3f3f4f5f2f2f3f3 f7f3f3f2f2f3f3f6f7f7f7f7f7f7f6f7f8f8f7f8f9fafbfaf9f9f9f9f9fafbfcfcfcfcfcfaf9f7 f7f9faf9fcfcf9f9f8f7f9f9fafcf8f6f7f8fbfcfcf9f7f6f7f2ebe5e9fc463335353f3f47799f bdc0aca6a3a29e9b9b9491a9adb3b8c2c9c0b4ac9765363393deece3e3e0eaecedf0f2f2f2f2ed e8edf3f3f2eff0f1f2f4f4f6f6f3f2f1f0f1f1f1f1f0f1f4efeff1f1f2f2f3f6f6f6f4f6f7f7f6 f7f4f7f7f7f7f7f6f4f3f2f2f2f0eff1f1f3f3 f9f8f6f2f3f3f3f7f6f7f6f7f7f7f6f7f8f8f7f7f8fafbfbfafafafafafaf9fbfcfcfcfcfbf9f6 f4fafafafafaf9f9faf7f9f9f9f9f9f6f8f9fbfcfbf9f9f8f5f3eee5e1fcb333302f35447ccece aea8a39f94908f8e868484849ca1a8b8bdbbb6b59e6e3687e8e8e6e1e2e5ededeef1f2f2f2f2f1 edecf0f3f1eff2f2f4f3f2f3f3f3f2f5f1f0f1f2f2f0f0f0f0eff0f3f3f3f4f4f7f4f4f4f7f8f7 f6f6f7f8f8f8f8f6f2f2f3f2f1f0f0efeff3f3 fafaf7f4f4f3f3f7f7f4f4f6f7f7f4f7f7f7f8f8f8f9fbfcfbfbfcfcfaf9f9fbfcfcfcfcfbf9f7 f6fafbfbfafafaf9faf9f9f9f8f9f9f7f7f7fbfcfafbfcf9f7f4f1e7e1e4e29b4f3d72abc2c1ae 9a989a939196888585848480838b97a0b8b8b6a38a7236cef5e9e6e1e2ebedeef0f1f3f2f7f5f8 f3eeeff1f0f0f0f2f3f2f1f1f1f1f2f3f0eff0f1f2f1f0f0eff0f2f3f3f1f1f3f3f3f2f2f7f7f7 f7f7f7f9f8f8f7f6f4f4f6f3f0eff1f0f1f6f3 faf8f8f7f4f3f4f6f6f6f6f6f7f7f7f7f6f7f8f8f9fafbfbfbfcfcfcfaf9f8fafcfcfcfcfcfbf8 f6f9fbfbfafbfbf9f9f8f9f9f9f9faf7f7f8f8fafafafaf7f4f6f5eee9e4e3c9a293b4bebea79e 938a89898c908a8586878381817d7990a6aaaa9a653977edeae7e4ecefefeef0f0f1f1f2f3f8f9 f9f2eff0eff0eff0f2f1f0f1f1f1f1f1eff1f1f2f3f0f0f1efeef0f2f2f1f2f3f3f3f3f6f7f7f7 f5f5f6f7f6f7f7f6f6f6f4f3f2f1f1f1f1f3f7 faf9f9f8f6f4f6f7f6f7f7f7f7f8f8f7f6f6f7f9f9f9fbfbfbfbfcfbfafafaf9fcfcfbfcfcfbf9 f7f8f9fbfbfbfbfaf9f9f9f8f9faf9f8f9f9f7f7f9f8f8f3f3f7f7eeeaf0ece1c9a688989c9e9e 9c8d868686908a8c8885828181828290a7a7a99f9264aee9e9e4e2f3f3f1efeeeeeff2f2f4f8f7 f9f6f1f0efeeeeeef1f0f0f1f1f1f1f0eef0f0f1f3f0eff0eff0f2f2f2f2f3f3f4f3f4f4f6f6f4 f2f3f6f4f4f7f8f7f1f3f2f3f1f0f1efeff2f7 faf9f9f7f6f6f6f6f7f7f7f8f8f8f8f7f4f4fbfbf8f8fafbfafafcfbfafcfcfafbfcfbfbfcfbfb f7f7f9fafbfcfcfbfafaf9f9f9fcf9f9f9f8f7f6f7f9f8f6f7f7f8eeeaf0f2effcaf9d908b9595 b595908a8c948f8d8c898b8b87929b9ca4a6a79ea3b1e9e9e5e0e5f4f3f1f0f0eeeff2f2f4f7f7 faf7f2efeeebebe9edf0f1f2f5f0f1f2eff0f0f2f3f0f0f0edeff2f3f3f3f3f3f3f3f4f4f4f7f7 f3f4f9f6f6f7f8f3f2f2f2f1f1f0f1f1f1f1f6 f9f8f8f7f6f4f6f7f4f7f7f7f8faf7f6f4f7f8f8f8f8fafafafbfcfcfafafafafafcfcfbfcfcfb f9f6f7f8fbfcfcfbfaf9f9f9f9f9f9f9f8f8f7f5f6f8faf9f9f9f9efeaeaefefeddba8877f5384 83a49d96959595979a9b9ea3a5b1afaa9da0a3a4b6dee3e2e0e2ecf3f3f1f1f0f1f1f2f3f3f6f6 f6f4f1efebe9ebebecf0f1f3f5f1f1f2f0f0f0f2f3f2f2f0ededf2f3f4f3f3f3f3f2f3f4f7f9f7 f4f4faf6f6f8f8f6f2f1f1f1f1f1f1f2f2f4f6 fafaf9f8f5f3f6f6f4f4f2f6f6f6f6f6f6f8f7f8f8f8fafafafafcfcfbfbfbfbf8fbfbfbfcfcfb f9f6f4f7f9fafcfbfaf8f8f8f8f9f9f9f8f8f8f7f3f5f9fafbfbf7eae6eaeeedeae9f09c818688 754a8ac1a5a2afb2b7d7b9b5bab8b1a49a969cb7ced8e1dfe1eaeff2f2f2f2f1f1f1f2f1f2f4f4 f3f0efede9e7ecedf0f2f1f3f3f0f0f1f0f0f2f4f4f3f2f1eff2f3f7f7f4f3f7f3f3f6f6f7f8f8 f6f6f7f8f7f7f6f3f2f2f2f3f3f1f1f2f2f4f6 fcf9f8f8f6f6f6f6f3f4f3f6f6f6f7f6f7f7faf9f9f8fbf9f8f9fbfcfbfbfbfbf8f9fbfbfbfbfb faf3f3f6f8f9fafbfaf8f9f9f8faf9f9f9f7f8f8f4f4f8f9fafaf3e9e5e6f0efe9e1e3b2707a8d 74604680b0d2b7c1caccc0bbbebbb59e908e94c1d7dddddfe9eceff7f3f2f2efeff1f2f1f1f3f3 f3efebe9e9e9f1f1f1f3f3f3f3f0f0f3f0f0f2f3f3f4f3f2f0f1f4f6f6f4f6f7f7f6f7f6f7f7f7 f4f6f6f8f7f7f6f4f2f2f2f3f3f1f3f2f3f6f6 fbfaf8f8f7f6f6f6f3f3f3f4f7f7f7f7f7f8faf9f8f8f8f9f9f9fafbfafbfbfbfaf9fbfbfbfbfa faf3f3f2f9fafafbfaf8f8f8f8f9f8f7f8f7f9f8f6f4f4f6f9f9f1e5e3e5efefefe6e4ccaa7070 655f64697cd7d7c5cecbc4bdbebbb69b909187ded8dbdce6efeff0f3f0eeedeeededeff0f1f1f0 f0eeebeaeaebf2f2f2f4f4f4f3f2f0f1f1f1f3f3f4f2f3f2f0f0f2f6f4f4f6f7f7f7f3f6f6f7f6 f6f6f7f6f6f6f6f3f2f2f1f0f1f1f3f2f2f4f3 fcfcfbf8f7f7f6f6f7f7f6f6f3f6f7f6f7f8f8f7f7f7fbfaf9f9fafafbfbfbfafafafbfbfafbfa f9f6f4f3f9fafafafaf6f6f7f7f7f6f8f8f9f9f7f6f4f3f4f7f7efeae6e6ecf0f1f1ede9e86d5f 60544c49477bc8d4c9c9c2c5c2c1baa79494b1d8dce1e7eff1f0f1f2f2eeedecededeff0f0f0ef efedecebebeef2f2f2f3f4f4f1eeeff0f2f2f2f3f4f3f3f2f0eff5f3f4f4f4f7f7f7f7f7f6f4f6 f6f4f3f4f5f6f6f6f3f2f0efeff0f2f3f2f3f3 fbfcf9f8f7f7f6f7f7f7f6f6f4f6f6f4f7f7f8f7f7f7f9fafafafafafbfbfbfafafafbfbfaf9f9 f9f8f5f3f9f9faf9f9f7f6f6f8f7f8f8f7f7f7f7f4f4f3f3f6f6ebeaebeaecf1f1f2efeef2934b 41404242435164c3d8cbc6c7ccc7b7aa9c9ddcd8e1e7efeff0efeff8f3f1eeedeeeff1f0f0efee eeedededeeeff3f2f1f2f2f0efeeeff2f4f4f4f4f3f3f3f2f0eff0f4f6f6f4f8f8f7f5f5f7f7f4 f6f2f2f3f4f4f4f3f3f2f0efeef0f1f2f1f5f2 fbfafaf8f8f7f7f7f6f7f6f6f4f6f6f6f7f8f9faf9f9f9f9fafaf9f9fbfbfbfbfbfbfafafaf9fc faf8f6f6f4f8faf9f8f8f8f7f8f8f8f8f8f8f8f7f4f4f6f6f2f2ecf1f3f0eeeef1f3f2efeedc62 3840474141524a78c7e5c7c7cbc4b2a9a0b0d4e0e6eef0f0eeedf0f6f3f1efeeedeef1efeeecec ededf0f0eff1f3f3f2f2f2f1efefeff2f6f8f7f6f4f4f8f1f0efeff4faf6f3f4f3f3f3f3f6f6f3 f4f3f4f6f6f4f4f3f4f3f0efeef0f1f2f2f3f3 fbfbfbfaf8f8f7f7f7f7f7f7f6f6f5f6f7f8f9fcf9f9f8f9fafaf9fafafcfcfbfcfbfbfbfaf9fb f8faf6f6f2f9fafaf9f9f9f8f7fafbf8f8f8f7f8f6f4f6f5f3f2f2f5f8f6f1f0f2f3f3f1eeeca7 84664a414341425073d9c7c7c7beb5aaa2b5d4e2ecf0f0f1f0eff1f6f2f0efeeeeeef0ededeaed eeeef1f2f3f2f8f7f7f4f3f1efeff0f1f4f7f7f6f7f4f2f1f0f0f1f3f7f7f5f3f4f3f3f3f3f3f6 f6f4f4f7faf9f3f3f4f2f0f0f1eff2f3f3f3f2 fbfbfcfaf9f8f7f7f6f7f4f7f7f7f6f6f7f7f9f8f7f8f7f8f8f8fafafafbfbfbfcfbfbfbfcf8fa faf8f7f7f3f3f7f7fafafaf8f6f8f7f8f8f8f7f8f3f3f6f7f6f7f8f8f8f8f6f6f6f4f7f4f0eedf ae88746e6254554c4c70dbd8c2b9b1aba7c0d4e3e9eeeff1f3f2f2f6f6f1efefefeff0efecebed f0f1f3f4f7f6f9f7f3f2f1f0eef0f2f3f3f7f7f6f7f6f3f3f1f1f2f3f6f6f6f6f6f6f3f2f2f3f6 f7f4f2f3f6f6f6f4f4f4eeeff0f0f1f2f1f2f2 fbfbfbfbfaf9f8f8f3f3f4f2f6f6f6f6f6f7f8f8f7f7f7f8f8f8f9f9f9fafafbfbfafafaf9f7f9 f9f8f7f7f2f1f3f7fafaf9f7f4f6f7f8f8f7f6f7f6f4f7f7f7f8f8f9f9f9f8f9f8f4f9f4f1efee bf98928396705858563870d8beb8b0a8afc9dde3eae9edf3f3f3f3f6f6f2f0efeeedefeeecedee f0f2f3f4f6f3f3f3f3f2f1f1eff1f2f3f6f7f7f6f7f5f4f8f0f0f2f3f3f4f3f3f3f3f4f3f3f2f3 f4f3f2f3f4f6f4f4f3f2f1f0f0f0f2f2f2f3f2 fbfbfbfbfaf9f9f8f3f3f2f2f4f4f6f6f7f7f7f8f3f7f7f6f8f8f9f9f8fcfbfcfcf9fafaf9f8f8 faf8f7f8f2f1f9fbf9faf9f7f4f7f7f7f7f6f6f7f8f8f7f8f8f8f8f9faf9f9f9f8f6f7f2f1f0ef e0a89b9196a9a3736c48406cc4cea075c2dae2e9ebe5edf4f3f3f3f6f8f3f1f0efeceeedeff2f3 f3f2f3f4f3f2f1f1f1f1f1f1f0f0f2f2f6f7f8f7f8f3f1f2f1f1f1f1f2f3f3f2f2f3f4f3f2f2f2 f3f4f4f4f3f3f3f2f1f1f1f1eeeff2f3f3f8f1 fbfbfbfafbfaf9f7f6f3f2f3f3f4f6f6f7f7f7f8f6f4f7f6f6f8f8f8f8fbfafafcfbfcfcfcfbfb fbfafcf9f6f3f6faf7f8f8f7f6f6f8f6f6f6f6f8f8f7f7f8f8f8f8f8f9f9f9f9f9f6f3f1f1f1f0 e7b09c9393989e9e857b6b50c4ce8972e3e2e3f0f0edeff6f9f3f3f6faf6f3f0f0eeefeff0f2f3 f3f2f3f3f2f0f0f1f1f0f1f1f1f1f1f0f6f7fbf7f3f2f1f1f0f0eff0f2f3f3f2f2f3f3f2f2f1f1 f2f3f6f3f3f6f3f2f1f1efeeeeeff0f3f2f3f3 fcfcfbfaf9faf7f8f6f7f6f3f3f6f6f7f7f6f4f6f3f6f3f2f2faf9f9f9fafbfbfbfcfbfcfcfbfb faf9f8f8f7f3f2f4f6f6f7f6f4f6f7f7f6f7f3f6f6f7f7f8f8f8f9f9f9f8f7f7f7f5f3f2f0efef e8c17b908c94a4aaa79694916b665d6adce3e6f2f5f1f0f9f3f2f2f6f8f7f0f0f1f0efefeff0f2 f3f2f3f4f2f1f0f1f2f1f2f1f2f2f4eff2f7f7f3f2f2f1f0f1f1f1f0f1f2f3f2f1f3f2f2f3f2f1 f4f4f4f4f7f6f4f3f1f0efeeeff1f1f0f0f2f2 fcfcfcfbfafaf8f8f6f7f6f3f3f4f7f8f6f4f3f3f3f3f4f5eef7f9fbfafbfcfcfbfbfbfbfbfaf9 f8f9f9f8f8f3f2f2f6f7f7f6f4f4f7f8f7f7f4f4f4f3f7f8f8f8faf9f8f8f7f6f7f7f3efededec ecde777a8494b5b0b0a981694c2f3c9be1e0e4eaefeeeff1f2f2f1f4f8f7f1f4f1f0efeeeef2f3 f5f2f3f3f3f1f1f1f1f1f2f1f2f1f2f0f2f7f6f4f2f1f1f2f1f1f1f1f2f5f5f2f1f1f1f2f2f2f0 f1f3f4f4f4f4f3f2f0f0efedefeef0f0f0f1f1 fcfcfcfafafaf9f8f6f5f4f3f3f4f7f8f7f7f5f6f6f6f5f2f0f9f9f8f9fafbfbfbfcfcfcfcfcfb f9f9f9f9f8f6f2f0f4f7f7f7f6f4f7f7f6f6f4f4f6f4f4f7f7f7f8f8f8f8f7f4f4f3efeae9eae9 eae2a757809daeb59f7b63503c2525c8e3e1e1e3e3e4eff3f3f3f0f2f9f8f2f1efeeeeeeeef2f2 f1f1f3f3f2f1f1f1f0f0f1f1f1f1f2f1f2f9f6f6f4f2f2f2f0f0f1f1f0f1f2f1f1f0f1f2f2f2f2 f2f3f2f3f4f4f4f1f1efeeedeeeef0f0f0f0f4 fbfcfcfaf9f8f8f8f7f4f6f3f4f5f6f8f8f8f7f8f7f8f8eff0f7f8f8faf9f9fbfbfcfcfcfcfcfb fbfbfbf9f9f7f2f1f1f4f7f7f4f1f3f6f4f4f4f4f6f6f3f2f2f2f2f2f5f3f2f1f0ece6e4e5e9eb ecfce3927c6f736d5c4e46403d3b42dbecebe9dee2eaeff3f0f0f0f0f6f3f1efece7ecececefef f2f3f2f2f1f0f1eff0f0eff0f1f1f1f2f2f6f5f4f3f1f1f1eff0f1f1f0f0f1f2f2f1f2f3f3f2f2 f2f3f1f3f3f4f3f2f1f0f0f0eeeef0f1f0f0ef fbfbfcfbf9f9f8f7f7f7f4f3f3f3f6f7f8f8f6f7f7f7f8f7f2f8f8f8faf9fafbfcfcfcfcfcfcfb fbfbfbfafaf9f4f1eff4f7f9f4f1f1f3f3f3f3f2f3f2f1f0f2f0eef0f1f1f1ecece4e3e3e5eaee eff9ae9f5c455d3653484843353596dfeef0f0efeeeeeff3f1f0f0eef1f2edecebe7ecebebedef f2f2f2f2f1f0efeeeff1f2f1f1f2f2f1f3f8f5f3f2f1f1f0eff0f2f2f3f0f2f2f2f2f3f3f3f3f1 f0f2f3f3f3f4f4f3f2f0f0f2eeedf0f0f0f0f0 %%Trailer end %%EOF %pstack showpage apsfilter-7.2.6.orig/template/0000755000175000017500000000000010203621211016523 5ustar covencoven00000000000000apsfilter-7.2.6.orig/template/README0000644000175000017500000000230507155754245017435 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/template/README,v 1.5 2000/09/07 18:04:21 andreas Exp $ # New since apsfilter 6.0.0: apsfilter configuration in - /etc/apsfilter/apsfilterrc (global, recommended) - /etc/apsfilter/QUEUE/apsfilterrc (printer specific, mandatory) - /etc/apsfilter/QUEUE/apsfilterrc.USER (printer specific, optional) - $HOME/.apsfilter/apsfilterrc.QUEUE (printer specific, optional) This enables the system administrator to configure the printer to some sane defaults, so that every user on this system can use the printer without trouble. If the administrator can absolutely trust all users, the USE_USER_CODE config variable in /etc/apsfilter/apsfilterrc (for all printers) or /etc/apsfilter/QUEUE/apsfilterrc (for just one printer) can be set. However, this is considered dangerous and a major security hole, since lpd might use a prvileged user for calling apsfilter (like root or daemon). But it is possible for users to ask the admin to create a user-specific configuration file for any printer (/etc/apsfilter/QUEUE/apsfilterrc.USER) so that users can set their default values. As a special case, the admin can trust a single user and set USE_USER_CODE in /etc/apsfilter/QUEUE/apsfilterrc.USER. apsfilter-7.2.6.orig/template/apsfilterrc.in0000644000175000017500000002113607563236704021424 0ustar covencoven00000000000000############################################################################## # $ApsCVS: src/apsfilter/template/apsfilterrc.in,v 1.42.2.8 2002/11/09 16:54:28 andreas Exp $ # # Sample apsfilter template file for apsfilter @VERSION@ # # This file is for customizing apsfilter's behaviour # Enables you to configures some aspects of apsfilter to fit your own needs. # # # Possible locations for configuration files: # # a) global configuration for all printers: $CONF_DIR/apsfilterrc # b) printer specific: $CONF_DIR/$QUEUE/apsfilterrc # c) printer specific, supplied by user: $CONF_DIR/$QUEUE/apsfilterrc.$USER # d) printer specific, controlled by user: ~$USER/.apsfilter/apsfilterrc.$QUEUE # (admin must set USE_USER_CODE for this to be used) ############################################################################## #============================================================================= # apsfilter specific configuration #============================================================================= # include special paths you need # default: PATH="/usr/local/bin:/usr/X11R6/bin:/usr/bin:/bin" # #PATH="/opt/bin:/usr/openwin/bin:/usr/local/bin:/usr/X11R6/bin:/usr/bin:/bin" # change this if your awk chokes on our programs and/or command line options # default: AWK=awk # #AWK=/opt/gnu/bin/gawk # who is to be notified in case of a failure # default: NOTIFY=root # #NOTIFY=lp # directory for temporary file creation # default: TMPDIR=/tmp # #TMPDIR=/var/tmp ### ### WARNING ! ### ### This setting allows users to provide configuration in a shell script; ### do _not_ set this if the input filter runs under a privileged user. ### ### To be on the safe side, you can also create user-specific config files ### $CONF_DIR/$QUEUE/apsfilterrc.$USER ### which contain settings that have been inspected by the administrator. ### # default: USE_USER_CODE="" # #USE_USER_CODE=set #============================================================================= # printer independent configuration #============================================================================= # search path for embedded images used by dvips; this path will be extended # by "$HOME:/tmp:/var/tmp" (where $HOME is the home directory of the user) # default: TEXINPUTS="" # #TEXINPUTS=/usr/accounts/andreas/pictures:/usr/share/dvips/pictures # set this of your MakeTeXPK tool works correctly # default: HAVE_MAKETEXPK="" # #HAVE_MAKETEXPK=set # dvips option for setting the resolution # default: DVIPS_RES_DorP=-D # #DVIPS_RES_DorP=-P # ghostscript environment variables # defaults: # GS_FONTPATH="/usr/X11R6/lib/X11/fonts/Type1:/var/X11R6/lib/X11/fonts/Type1" # GS_LIB="$GS_FONTPATH" # #GS_FONTPATH=/usr/X11R6/lib/X11/fonts/Type1 #GS_LIB=/usr/X11R6/lib/X11/fonts/Type1 # set this if your (remote) print jobs are erroneously sent in "raw" mode # default: IGNORE_LPD_RAW="" # #IGNORE_LPD_RAW=set #============================================================================ # printer dependent configuration # (these should go into the printer specific apsfilterrc) #============================================================================ # media type; one of plain, coated, glossy, premium, trans # default: MEDIA="plain" # #MEDIA=coated # whether to print uni- or bi-directional # default: SWEEP=bi # #SWEEP=uni # custom DVI-to-PrinterLanguage filter (stdin->stdout) # default: PRINT_DVI="" -> will use dvips # #PRINT_DVI='/usr/local/bin/my_super_filter -X -Y -Z -' # escape sequences to be sent before/after a "raw" print job # defaults: # RAW_PROLOGUE="" # RAW_EPILOGUE="" # #RAW_PROLOGUE='\033&k2G\033(s2Q\033&k5W\033&l0L\033&a7L\033(s12H' #RAW_EPILOGUE='\014' # escape sequences to be sent before/after text output via "recode" # (in addition to the RAW_PROLOGUE and RAW_EPILOGUE stuff) # defaults: # RECODE_PROLOGUE="" # RECODE_EPILOGUE="" # # these are examples for the LaserJet/DeskJet/PaintJet family #RECODE_PROLOGUE='\033E\033&k2G\033(0N' #RECODE_EPILOGUE='\033E' # these are examples for the newer Stylus models (probably 740 and later) #RECODE_PROLOGUE='\000\000\000\033\001@EJL 1284.4\012@EJL \012\033@\033@' #RECODE_EPILOGUE='\033@' # codes (printf-style) to create a single blank page # default: BLANK_PAGE='\012\014' # #BLANK_PAGE='\033@' # ghostscript options; will be altered by quality/color/... settings # default: GS_FEATURES="" # #GS_FEATURES='-dBitsPerPixel=32 -dMicroweave -sDithering=fscmyk' # printer initialisation (used by gs) # default: PS_INIT="" # #PS_INIT=stcolor.ps # printer cleanup (used by gs) # default: PS_EXIT="" # #PS_EXIT=showpage.ps # options for the POST_FILTER (called after gs processing) # default: POST_FILTER_OPTS="" # #POST_FILTER_OPTS='-f /etc/my_pnm2ppa.conf' # printer is a duplex capable printer # default: HARDWARE_DUPLEX="" # #HARDWARE_DUPLEX=set # disable duplex printing; only needed if HARDWARE_DUPLEX is empty _and_ if # apsfilter doesn't run on the local host # default: DISABLE_DUPLEX="" # #DISABLE_DUPLEX=set # set these if even/odd pages should be reversed for fake duplex mode, # and control whether the odd pages should be printed first # defaults: # DUPLEX_REVERSE_EVEN="" # DUPLEX_REVERSE_ODD="" # DUPLEX_ODD_FIRST="" # #DUPLEX_REVERSE_EVEN=set #DUPLEX_REVERSE_ODD=set #DUPLEX_ODD_FIRST=set # papertray selection # default: PAPERTRAY="" #> class options: tray0, ..., tray9 # #PAPERTRAY=1 # maximum number of copies printed via "lpr -C copies=42" or "lpr -Zcopies=42"; # this is independent of the "-#" and "-K" switches to lpr # default: MAXCOPIES=10 # #MAXCOPIES=1 # printer is capable of printing multiple copies # default: HARDWARE_COPIES="" # #HARDWARE_COPIES=set # copies should be done at the remote server (if possible); # currently for NetWare and lpd servers # default: REMOTE_COPIES=set # #unset REMOTE_COPIES #============================================================================ # visual appearance of the printout #============================================================================ # filter for ASCII files; one of a2ps, mpage, enscript, recode # default: ASCII_FILTER=a2ps #> class options: a2ps, mpage, enscript, recode # #ASCII_FILTER=recode # override a2ps default options # defaults: # A2PS_BASIC="--delegate=no -X iso1" # A2PS_PAPERSIZE="$PAPERSIZE" (case-corrected) # #don't format troff documents, by Joerg Wunsch #A2PS_BASIC='-Eplain' #A2PS_PAPERSIZE=Letter #A2PS_PAPERSIZE=A4stylus # override the complete a2ps commandline # default: A2PS_OPTS="" # #A2PS_OPTS='-X iso1 -m --borders=yes --prologue=color --highlight-level=heavy' # override mpage default options # defaults: # MPAGE_BASIC="-CISO-Latin.1 -f" # MPAGE_PAPERSIZE="$PAPERSIZE" (case-corrected) # #MPAGE_BASIC='-CISO-Latin.2 -f' #MPAGE_PAPERSIZE=Letter #MPAGE_PAPERSIZE=A4 # override the complete mpage commandline # default: MPAGE_OPTS="" # #MPAGE_OPTS='-CISO-Latin.2 -a -e -r' # override enscript default options # defaults: # ENSCRIPT_BASIC="-X 88591" # ENSCRIPT_PAPERSIZE="$PAPERSIZE" (case-corrected) # #ENSCRIPT_BASIC='-C 88592' #ENSCRIPT_PAPERSIZE=Letter #ENSCRIPT_PAPERSIZE=A4 # override the complete enscript commandline # default: ENSCRIPT_OPTS="" # #ENSCRIPT_OPTS='-X 88592 -r --ps-level=1' # set level of pretty-printing (0=none, 1=normal, 2=heavy) # the text-to-PostScript converter must support this # default: PRETTY_PRINTING=1 #> class options: pretty=0, pretty=1, pretty=2 # #PRETTY_PRINTING=0 # print headers and borders for ASCII files # defaults: # ASCII_HEADER="" # ASCII_BORDER="" #> class options: header, noheader, border, noborder # #ASCII_HEADER=set #ASCII_BORDER=set # multiple pages per sheet (can be 1,2,4,8) # default: PS_NUP=1 #> class options: 1pps, 2pps, 4pps, 8pps # #PS_NUP=2 # # same setting, but for ASCII files only # default: ASCII_PPS="$PS_NUP" # #ASCII_PPS=2 # force paper orientation # default: LANDSCAPE="" #> class options: landscape, portrait # #LANDSCAPE=set # # same setting, but for ASCII files only # default: ASCII_LANDSCAPE="$LANDSCAPE" # #ASCII_LANDSCAPE=set # override htmldoc options # default: HTMLDOC_OPTS="--webpage" # #HTMLDOC_OPTS='--book --charset 8859-2 --no-title' # override html2ps options # default: HTML2PS_OPTS="-e ISO-8859-1 -u -H" # #HTML2PS_OPTS='-e ISO-8859-2 -u -H' # override recode options # default: RECODE_OPTS="latin1..ibmpc" # #RECODE_OPTS='latin1..cp437' # use pstools to alter the PostScript printout # defaults: # PS_BOOK="" # PS_UTILS="" #> class options: book # #PS_BOOK=set #PS_UTILS='psselect -r' # duplex printing (will be "faked" if printer can't handle this by itself) # default: DUPLEX="" #> class options: duplex, simplex # #DUPLEX=set # binding edge; must be long or short # default: BINDING=long #> class options: shortbind, longbind # #BINDING=short apsfilter-7.2.6.orig/template/watermark.ps0000644000175000017500000000153607156366260021120 0ustar covencoven00000000000000%!PS-Adobe-3.0 % watermark.ps % A. Reuter 2000 % $ApsCVS: src/apsfilter/template/watermark.ps,v 1.2 2000/09/09 07:54:24 andreas Exp $ /wmtext (Watermark) def /wmfont (Helvetica) def /wmfontsize 72 def /wmcolor { 0.5 0.5 0.5 } def /oshowpage { showpage } bind def /Watermark { gsave currentpagedevice /PageSize get % Seitenmaße bestimmen {} forall /pheight exch def /pwidth exch def wmfont findfont wmfontsize scalefont setfont newpath 0 0 moveto wmtext false charpath pathbbox /y1 exch def /x1 exch def /y0 exch def /x0 exch def /width x1 x0 sub def /height y1 y0 sub def newpath wmcolor setrgbcolor pwidth 2 div pheight 2 div translate pheight pwidth atan rotate width -2 div height -2 div moveto wmtext show grestore } bind def /newshowpage { oshowpage Watermark } bind def /showpage { newshowpage } def Watermark apsfilter-7.2.6.orig/tools/0000755000175000017500000000000010203621211016050 5ustar covencoven00000000000000apsfilter-7.2.6.orig/tools/prtmgmt0000755000175000017500000001543307214705417017521 0ustar covencoven00000000000000#! /usr/bin/perl # # Copyright (c) 2000 Andreas Klemm . Neuss. # All rights reserved. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND # ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE # ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE # FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS # OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) # HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY # OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF # SUCH DAMAGE. # # $ApsCVS: src/apsfilter/tools/prtmgmt,v 1.5 2000/12/10 13:54:23 andreas Exp $ use diagnostics; # read variables sub variables { $ENV{PATH} = "/bin:/usr/bin:/usr/local/bin"; # set sane PATH $config = "./prtmgmt.conf"; # config file for prtmgmt $printcap = "/etc/printcap"; # location of printcap $debug = 0; # turn on debugging $verbose = 0; # list printer aliases as well $printer = ""; # printer name $palias1 = ""; # printer alias 1 $palias2 = ""; # printer alias 2 $lp = ""; # lp - device name for output $rm = ""; # rm - machine name for remote printer $rp = ""; # rp - remote printer name $if = ""; # if - name of input filter script $sdbase = ""; # spooldir base $sd = ""; # sd - spool directory $lf = ""; # lf - error logging file name $af = ""; # af - name of accounting file $mx = "mx#"; # mx - maximum file size (BUFSIZ blocks) $sh = "sh"; # sh - suppress printing of header page } # read configuration sub read_config { print "DEBUG: in read_config\n" if $debug; print "DEBUG: verbose = $verbose\n" if $debug; print "Reading $config...\n" if $verbose; open (C, $config) or &init_config; while() { print "debug: $_" if $debug; # strip CR chop; # ignore comments ... next if /^\s*$/; next if /^\s*#/; # XXXXX print $_; } close C; } # create empty config_file sub init_config { print "Creating config file...\n" if $verbose; open(C, "> $config") or die "$config: $!\n"; print C < $config") or die "$config: $!\n"; print C <) { print "debug: $_" if $debug; # strip CR chop; # ignore comments ... next if /^\s*$/; next if /^\s*#/; # ... and continued printer configuration lines next if /^\s*:/; # read printer name ($pname,$palias1,$palias2) = (split(/\|/, $_)); ($palias1) = (split(/:/, $palias1)); ($palias2) = (split(/:/, $palias2)); if ($verbose) { print "$pname:$palias1:$palias2\n" } else { print "$pname\n"; } } close P; } # modify printer in $printcap sub modify_printer { print "not yet implemented\n"; exit 1; } # remove printer from $printcap sub remove_printer { print "not yet implemented\n"; exit 1; } sub confirm_yn { local($message, $confirm) = @_; local($yes) = '^(yes|YES|y|Y)$'; local($no) = '^(no|NO|n|N)$'; local($read); if ($confirm && ($confirm =~ "$yes" || $confirm == 1)) { $confirm = "y"; } else { $confirm = "n"; } print "$message (y/n) [$confirm]: "; chop($read = ); $read =~ s/^\s*//; $read =~ s/\s*$//; return 1 unless $read; if (($confirm eq "y" && $read =~ "$yes") || ($confirm eq "n" && $read =~ "$no")) { return 1; } if ($read !~ "$yes" && $read !~ "$no") { warn "Wrong value. Enter again!\a\n"; return &confirm_yn($message, $confirm); } return 0; } ################ # main # &variables; # initialize variables &read_config; # read configuration &parse_arguments(@ARGV); # parse arguments &write_config; # write configuration exit 0 apsfilter-7.2.6.orig/tools/uppdescr0000755000175000017500000000073307100570514017641 0ustar covencoven00000000000000#! /bin/sh # $ApsCVS: src/apsfilter/tools/uppdescr,v 1.3 2000/04/23 12:49:16 andreas Exp $ # get description from upp file # for printersupport file TMPFILE=$(mktemp 2>/dev/null /tmp/uppdescr.XXXXXX || echo /tmp/uppdescr.$$) if [ -n "$1" ] then UPPDIR=$1 else UPPDIR=/usr/local/share/ghostscript/*/lib fi cd $UPPDIR for i in *.upp do echo "`egrep "\-supModel" $i \ | sed 's/-supModel=\"//' \ | sed 's/\"$//'`|$i" \ >> $TMPFILE done sort < $TMPFILE rm -f $TMPFILE apsfilter-7.2.6.orig/uniprint/0000755000175000017500000000000010203621211016560 5ustar covencoven00000000000000apsfilter-7.2.6.orig/uniprint/README0000644000175000017500000000360707135207454017471 0ustar covencoven00000000000000# # This directory contains contributed uniprint files for apsfilter: # # $ApsCVS: src/apsfilter/uniprint/README,v 1.6 2000/07/19 02:15:08 vela Exp $ # printer: Epson Stylus Color 740 mode1: stc740ih.upp : Epson Stylus Color 740, 1440x720DpI, Inkjet Paper mode2: stc740p.upp : Epson Stylus Color 740, 720x720DpI, Plain Paper mode3: stc740pl.upp : Epson Stylus Color 740, 360x360DpI, Plain Paper contributor: Francois D. Menard # printer: Epson LQ-570/870/1070/1170 24-pin Dot-Matrix The Printer Parameter files for this printer use hardware weaving in the printer, and print grayscale for color rendition. mode1: lqx70ch.upp : Epson LQ-1170 ESC/P2 Dot Matrix, 360x360DpI, Plain Paper mode2: lqx70cl.upp : Epson LQ-1170 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper mode3: lqx70cm.upp : Epson LQ-1170 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper contributor: Harold Bower # printer: Epson Stylus 800 (Monochrome). The Printer Parameter files for this printer use hardware weaving in the printer, and print grayscale for color rendition. mode1: stm800hh.upp : 360x360 DPI, Hardware weave, Unidirectional Print mode2: stm800hm.upp : 360x180 DPI, Hardware weave, Unidirectional Print contributor: Harold Bower printer: Epson Stylus Color 640 mode1: stc640ih.upp : Epson Stylus Color 640, 1440x720DpI, Inkjet Paper mode2: stc640ih_g.upp : Epson Stylus Color 640, 1440x720DpI, Grayscale, Inkjet Paper mode3: stc640p.upp : Epson Stylus Color 640, 720x720DpI, Plain Paper mode4: stc640p_g.upp : Epson Stylus Color 640, 720x720DpI, Grayscale, Plain Paper mode5: stc640pl.upp : Epson Stylus Color 640, 360x360DpI, Plain Paper mode6: stc640pl_g.upp : Epson Stylus Color 640, 360x360DpI, Grayscale, Plain Paper contributor: Michael Lossin # apsfilter-7.2.6.orig/uniprint/lqx70ch.upp0000644000175000017500000000172507135207454020624 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/lqx70ch.upp,v 1.3 2000/07/19 02:15:08 vela Exp $ # Revised 7 Jul 2000 for Monochrome, White intensity, H/W Weave. HFB -supModel="Epson LQ-1170 ESC/P2 Dot Matrix, 360x360DpI, Mono" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 43.92 9.0 24.0}" -dupWhiteTransfer="{ 0.54000 0.48942 0.44208 0.39791 0.35678 0.31859 0.28322 0.25057 0.22054 0.19301 0.16787 0.14500 0.12432 0.10572 0.08906 0.07425 0.06118 0.04973 0.03983 0.03132 0.02412 0.01813 0.01322 0.00927 0.00622 0.00392 0.00227 0.00116 0.00049 0.00015 0.00001 0.00000 }" -dupOutputPins=24 -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2869 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupEndPageCommand="(\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/lqx70cl.upp0000644000175000017500000000173107135207454020625 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/lqx70cl.upp,v 1.3 2000/07/19 02:15:08 vela Exp $ # revised 7 Jul 2000 for Monochrome, White transfer, H/W Weave. HFB -supModel="Epson LQ-1170 ESC/P2 Dot Matrix, 180x180DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r180x180 -dupMargins="{ 9.0 39.6 9.0 24.0}" -dupWhiteTransfer="{ 0.54000 0.48942 0.44208 0.39791 0.35678 0.31859 0.28322 0.25057 0.22054 0.19301 0.16787 0.14500 0.12432 0.10572 0.08906 0.07425 0.06118 0.04973 0.03983 0.03132 0.02412 0.01813 0.01322 0.00927 0.00622 0.00392 0.00227 0.00116 0.00049 0.00015 0.00001 0.00000 }" -dupOutputPins=24 -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2869 0100 01 1b2855 0100 14 1b5500 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupEndPageCommand="(\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/lqx70cm.upp0000644000175000017500000000173207135207454020627 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/lqx70cm.upp,v 1.3 2000/07/19 02:15:08 vela Exp $ # Revised 7 Jul 2000 for Monochrome, White transfer, H/W Weave. HFB -supModel="Epson LQ-1170 ESC/P2 Dot Matrix, 360x180DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x180 -dupMargins="{ 9.0 39.6 9.0 24.0}" -dupWhiteTransfer="{ 0.54000 0.48942 0.44208 0.39791 0.35678 0.31859 0.28322 0.25057 0.22054 0.19301 0.16787 0.14500 0.12432 0.10572 0.08906 0.07425 0.06118 0.04973 0.03983 0.03132 0.02412 0.01813 0.01322 0.00927 0.00622 0.00392 0.00227 0.00116 0.00049 0.00015 0.00001 0.00000 }" -dupOutputPins=24 -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2869 0100 01 1b2855 0100 14 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupEndPageCommand="(\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stc640ih.upp0000644000175000017500000000433607134137623020702 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stc640ih.upp,v 1.2 2000/07/15 19:46:27 vela Exp $ -supModel="Epson Stylus Color 640, 1440x720DpI, Inkjet Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2XY -r1440x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveXPasses=2 -dupOutputXStep=2 -dupWeaveYPasses=8 -dupOutputPins=30 -dupWeaveYFeeds="{15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15}" -dupWeaveXStarts="{0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0}" -dupWeaveYOffset=38 -dupWeaveInitialYFeeds="{ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 15}" -dupWeaveInitialXStarts="{0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0}" -dupWeaveInitialPins="{ 15 9 18 12 6 15 9 18 27 21 30 24 18 27 21 30}" -dupFormatYabsolute -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b2843 0200 0000 1b2863 0400 0000 0000 1b5501 1b2865 0200 0002 1b284b 0200 0002 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupXStepCommand="<1b285c 0400 a005 0100 0000>" -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stc640ih_g.upp0000644000175000017500000000273307134137623021207 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stc640ih_g.upp,v 1.2 2000/07/15 19:46:27 vela Exp $ -supModel="Epson Stylus Color 640, 1440x720DpI, Grayscale, Inkjet Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2XY -r1440x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWhiteTransfer="{ 0.30000000 0.25411765 0.20862745 0.18509804 0.16313725 0.14588235 0.12862745 0.11450980 0.10196078 0.09098039 0.08156863 0.07215686 0.06431373 0.05490196 0.04549020 0.03764706 0.02980392 0.02196078 0.01254902 0.00627451 0.00000000 }" -dupOutputComponentOrder="{ 0 }" -dupWeaveXPasses=2 -dupOutputXStep=2 -dupWeaveYPasses=8 -dupOutputPins=30 -dupWeaveYFeeds="{15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15}" -dupWeaveXStarts="{0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0}" -dupWeaveYOffset=38 -dupWeaveInitialYFeeds="{ 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 15}" -dupWeaveInitialXStarts="{0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0}" -dupWeaveInitialPins="{ 15 9 18 12 6 15 9 18 27 21 30 24 18 27 21 30}" -dupFormatYabsolute -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b2843 0200 0000 1b2863 0400 0000 0000 1b5501 1b2865 0200 0002 1b284b 0200 0002 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupXStepCommand="<1b285c 0400 a005 0100 0000>" -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stc640p.upp0000644000175000017500000000355607134137623020544 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stc640p.upp,v 1.2 2000/07/15 19:46:27 vela Exp $ -supModel="Epson Stylus Color 640, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=8 -dupOutputPins=32 -dupWeaveYFeeds="{31 31 31 31 37 33 33 29}" -dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}" -dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stc640p_g.upp0000644000175000017500000000215307134137623021042 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stc640p_g.upp,v 1.2 2000/07/15 19:46:27 vela Exp $ -supModel="Epson Stylus Color 640, 720x720DpI, Grayscale, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWhiteTransfer="{ 0.30000000 0.25411765 0.20862745 0.18509804 0.16313725 0.14588235 0.12862745 0.11450980 0.10196078 0.09098039 0.08156863 0.07215686 0.06431373 0.05490196 0.04549020 0.03764706 0.02980392 0.02196078 0.01254902 0.00627451 0.00000000 }" -dupOutputComponentOrder="{ 0 }" -dupWeaveYPasses=8 -dupOutputPins=32 -dupWeaveYFeeds="{31 31 31 31 37 33 33 29}" -dupWeaveInitialYFeeds="{1 1 1 1 1 1 1 25}" -dupWeaveInitialPins="{ 4 24 28 32 19 15 11 7}" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stc640pl.upp0000644000175000017500000000351307134137623020711 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stc640pl.upp,v 1.2 2000/07/15 19:46:27 vela Exp $ -supModel="Epson Stylus Color 640, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.30000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=4 -dupOutputPins=32 -dupWeaveYFeeds="{33 30 35 30}" -dupWeaveInitialYFeeds="{1 1 1 29}" -dupWeaveInitialPins="{ 8 16 32 23}" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stc640pl_g.upp0000644000175000017500000000211007134137623021207 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stc640pl_g.upp,v 1.2 2000/07/15 19:46:27 vela Exp $ -supModel="Epson Stylus Color 640, 360x360DpI, Grayscale, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupWhiteTransfer="{ 0.30000000 0.25411765 0.20862745 0.18509804 0.16313725 0.14588235 0.12862745 0.11450980 0.10196078 0.09098039 0.08156863 0.07215686 0.06431373 0.05490196 0.04549020 0.03764706 0.02980392 0.02196078 0.01254902 0.00627451 0.00000000 }" -dupOutputComponentOrder="{ 0 }" -dupWeaveYPasses=4 -dupOutputPins=32 -dupWeaveYFeeds="{33 30 35 30}" -dupWeaveInitialYFeeds="{1 1 1 29}" -dupWeaveInitialPins="{ 8 16 32 23}" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5501 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stc740ih.upp0000644000175000017500000000424407100121140020655 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stc740ih.upp,v 1.2 2000/04/21 18:48:00 andreas Exp $ # -supModel="Epson Stylus Color 740, 1440x720DpI, Inkjet Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2XY -r1440x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupCyanTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupMagentaTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupYellowTransfer="{ 0.00000000 0.00627451 0.01254902 0.02196078 0.02980392 0.03764706 0.04549020 0.05490196 0.06431373 0.07215686 0.08156863 0.09098039 0.10196078 0.11450980 0.12862745 0.14588235 0.16313725 0.18509804 0.20862745 0.25411765 0.40000000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveXPasses=2 -dupOutputXStep=2 -dupWeaveYPasses=6 -dupOutputPins=46 -dupWeaveYFeeds="{23 23 23 23 23 23 23 23 23 23 23 23}" -dupWeaveXStarts="{0 1 0 1 0 1 1 0 1 0 1 0}" -dupWeaveYOffset=50 -dupWeaveInitialYFeeds="{ 5 5 5 5 5 5 5 5 5 5 5 23}" -dupWeaveInitialXStarts="{0 1 0 1 0 1 1 0 1 0 1 0}" -dupWeaveInitialPins="{ 13 16 19 22 25 28 31 34 37 40 43 46}" -dupFormatYabsolute -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b2873 0100 02 1b5501 1b2865 0200 0001 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupXStepCommand="<1b285c 0400 a005 0100 0000>" -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stc740p.upp0000644000175000017500000000214707100121140020514 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stc740p.upp,v 1.2 2000/04/21 18:48:00 andreas Exp $ # -supModel="Epson Stylus Color 740, 720x720DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r720x720 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupBlackTransfer="{ 0.0000 0.0453 0.1058 0.1898 0.4321 1.0000 }" -dupCyanTransfer="{ 0.0000 0.0453 0.1058 0.1898 0.4321 1.0000 }" -dupMagentaTransfer="{ 0.0000 0.0453 0.1058 0.1898 0.4321 1.0000 }" -dupYellowTransfer="{ 0.0000 0.0453 0.1058 0.1898 0.4321 1.0000 }" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=6 -dupOutputPins=48 -dupWeaveYFeeds="{47 47 47 53 47 47}" -dupWeaveInitialYFeeds="{1 1 1 1 1 43}" -dupWeaveInitialPins="{ 8 48 40 31 23 15}" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 05 1b5500 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stc740pl.upp0000644000175000017500000000147407100121141020673 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stc740pl.upp,v 1.2 2000/04/21 18:48:01 andreas Exp $ # -supModel="Epson Stylus Color 740, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceCMYKgenerate -dupRendering=/FSCMYK32 -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.96 9.0 9.0}" -dupOutputComponentOrder="{ 1 2 3 0 }" -dupWeaveYPasses=3 -dupOutputPins=48 -dupWeaveYFeeds="{47 50 47}" -dupWeaveInitialYFeeds="{1 1 46}" -dupWeaveInitialPins="{ 16 48 32}" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2855 0100 0A 1b5500 1b2865 0200 0002 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stm800hh.upp0000644000175000017500000000206207135207454020704 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stm800hh.upp,v 1.2 2000/07/19 02:15:08 vela Exp $ # Modified 8 Jul 2000 for Monochrome, white intensity, H/W Weave. HFB # Spec Margins: L/R=3.0mm (0.12"), Top=3.0mm (0.12"), Bot=13mm (0.51") -supModel="Epson Stylus Color 800, 360x360DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x360 -dupMargins="{ 9.0 39.6 9.0 24.0}" -dupWhiteTransfer="{ 0.54000 0.48942 0.44208 0.39791 0.35678 0.31859 0.28322 0.25057 0.22054 0.19301 0.16787 0.14500 0.12432 0.10572 0.08906 0.07425 0.06118 0.04973 0.03983 0.03132 0.02412 0.01813 0.01322 0.00927 0.00622 0.00392 0.00227 0.00116 0.00049 0.00015 0.00001 0.00000 }" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2869 0100 01 1b2855 0100 0A 1b5501 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\033@\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)" apsfilter-7.2.6.orig/uniprint/stm800hm.upp0000644000175000017500000000206407135207454020713 0ustar covencoven00000000000000# $ApsCVS: src/apsfilter/uniprint/stm800hm.upp,v 1.2 2000/07/19 02:15:08 vela Exp $ # Revised 8 Jul 2000 for Monochrome, White intensity, H/W Weave. HFB # Spec Margins: L/R=3.0mm (0.12"), Top=3.0mm (0.12"), Bot=13.0mm (0.51") -supModel="Epson Stylus 800 B/W ESC/P2, 360x180DpI, Plain Paper" -sDEVICE=uniprint -dNOPAUSE -dSAFER -dupColorModel=/DeviceGray -dupRendering=/ErrorDiffusion -dupOutputFormat=/EscP2 -r360x180 -dupMargins="{ 9.0 39.6 9.0 24.0}" -dupWhiteTransfer="{ 0.60000 0.54380 0.49121 0.44213 0.39642 0.35399 0.31469 0.27842 0.24504 0.21450 0.18653 0.16112 0.13814 0.11747 0.09896 0.08250 0.06798 0.05526 0.04425 0.03480 0.02681 0.02015 0.01469 0.01031 0.00692 0.00435 0.00252 0.00129 0.00054 0.00017 0.00002 0.00000 }" -dupBeginPageCommand="< 1b40 1b40 1b2847 0100 01 1b2869 0100 01 1b2855 0100 14 1b5501 1b2843 0200 0000 1b2863 0400 0000 0000 >" -dupAdjustPageLengthCommand -dupAdjustTopMarginCommand -dupAdjustBottomMarginCommand -dupEndPageCommand="(\014)" -dupAbortCommand="(\033@\15\12\12\12\12 Printout-Aborted\15\014)"