#!@SH@ # # $NetBSD: setpapersize,v 1.10 2003/09/15 10:51:40 agc Exp $ # # Small shell script to set the default papersize for packages # # Make sure we've been given an argument if [ $# -lt 1 ]; then @ECHO@ "Usage: setpapersize papersize" exit 1 fi papersize=$1 shift 1 # Make sure the argument is valid. case $papersize in a4|A4) papersize=A4 dimensions="210mm x 297mm" ;; letter|letterdj) papersize=`@ECHO@ $papersize|@SED@ -e 's|^.|L|'` dimensions='8.5" x 11"' ;; Letter|Letterdj) dimensions='8.5" x 11"' ;; *) @ECHO@ "Invalid paper size: $papersize" @ECHO@ "It should be one of: A4, Letter or Letterdj" exit 1 ;; esac lowpaper=`@ECHO@ $papersize | @TR@ '[A-Z]' '[a-z]'` if [ $# -eq 0 ]; then pkgs="a2ps ddd enscript ghostscript gv magicfilter psutils"; else pkgs=$@ fi set $pkgs while [ $# -gt 0 ]; do case $1 in a2ps) a2psfile=@PKG_SYSCONFDIR@/a2ps-site.cfg if [ -s "$a2psfile" ]; then @MV@ $a2psfile $a2psfile.old @SED@ -e 's|^Options: --medium=.*|Options: --medium='$papersize'|' $a2psfile.old > $a2psfile && @RM@ $a2psfile.old @ECHO@ "Set $1 package default paper size to $papersize in $a2psfile" fi ;; ddd) dddfile=@X11BASE@/lib/X11/app-defaults/Ddd if [ -s "$dddfile" ]; then @MV@ $dddfile $dddfile.old @SED@ -e 's|@Ddd@\*paperSize:.*|@Ddd@*paperSize: '$dimensions'|' $dddfile.old > $dddfile && @RM@ $dddfile.old @ECHO@ "Set $1 package default paper size to $papersize in $dddfile" fi ;; enscript) enscriptfile=@PKG_SYSCONFDIR@/enscript.cfg if [ -s "$enscriptfile" ]; then @MV@ $enscriptfile $enscriptfile.old @SED@ -e 's|^DefaultMedia:.*|DefaultMedia: '$papersize'|' $enscriptfile.old > $enscriptfile && @RM@ $enscriptfile.old @ECHO@ "Set $1 package default paper size to $papersize in $enscriptfile" fi ;; ghostscript) ghostscriptfile=`ls @LOCALBASE@/share/ghostscript/*/lib/gs_init.ps 2>/dev/null | tail -1` if [ -s "$ghostscriptfile" ]; then @MV@ $ghostscriptfile $ghostscriptfile.old @SED@ -e '/^% Optionally choose a default paper size other than U.S. letter.$/N' -e 's/^\(% Optionally.*\n\)[%[:space:]]*(.*\() \/PAPERSIZE where.*\)$/\1('$lowpaper'\2/' $ghostscriptfile.old > $ghostscriptfile && @RM@ $ghostscriptfile.old @ECHO@ "Set $1 package default paper size to $papersize in $ghostscriptfile" fi ;; gv) gvfile=@X11BASE@/lib/X11/app-defaults/GV if [ -s "$gvfile" ]; then @MV@ $gvfile $gvfile.old @SED@ -e 's|^GV.fallbackPageMedia:.*|GV.fallbackPageMedia: '$papersize'|' $gvfile.old > $gvfile && @RM@ $gvfile.old @ECHO@ "Set $1 package default paper size to $papersize in $gvfile" fi ;; lout) loutfile=@LOCALBASE@/share/lout/include/dsf if [ -s "$loutfile" ]; then @MV@ $loutfile $loutfile.old env PAPERSIZE=$papersize @AWK@ '$1 == "named" && $2 == "@PageType" { printf(" %s %s\t\t{ %s\t%s %s # page type (width, height)\n", $1, $2, ENVIRON["PAPERSIZE"], $5, $6); next } { print $0 }' $loutfile.old > $loutfile @ECHO@ "Set $1 package default paper size to $papersize in $loutfile" fi ;; magicfilter) magicdir=@LOCALBASE@/libexec/magicfilter if [ -s "$magicdir" ]; then for f in $magicdir/*-filter; do @MV@ $f $f.old @SED@ -e 's|-sPAPERSIZE=[a-zA-Z0-9_]*|-sPAPERSIZE='$lowpaper'|' $f.old > $f && @RM@ $f.old @CHMOD@ 555 $f done @ECHO@ "Set $1 package default paper size to $papersize in $magicdir/*-filter" fi ;; psutils) psutilsfile=@PKG_SYSCONFDIR@/psutils.cfg if [ -s "$psutilsfile" ]; then @MV@ $psutilsfile $psutilsfile.old @SED@ -e 's|^PAPERSIZE.*|PAPERSIZE='$lowpaper'|' $psutilsfile.old > $psutilsfile && @RM@ $psutilsfile.old @ECHO@ "Set $1 package default paper size to $papersize in $psutilsfile" fi ;; *) @ECHO@ "Warning: Package $1 not recognised" ;; esac shift 1 done exit 0