mirror of
https://github.com/NishiOwO/chimera.git
synced 2025-04-22 00:54:39 +00:00
36 lines
1.2 KiB
Bash
36 lines
1.2 KiB
Bash
#!/bin/sh
|
|
# pstoppm
|
|
# pstoppm converts postscript to ppm using ghostscript
|
|
# Benno Blumenthal benno@ldgo.columbia.edu
|
|
#
|
|
# modified very very little by John Kilburg john@cs.unlv.edu
|
|
# basically I turned it into pstopxm.
|
|
#
|
|
# $1 = should be one of pbmraw, pgmraw, ppmraw
|
|
# $2 == postscript file
|
|
#
|
|
# first we pull the bounding box comment out of the file
|
|
# if there is no bounding box then GEOM will be empty, if there is one
|
|
# it will be lx###ly###ux###uy###.
|
|
|
|
GEOM=`sed -n -e '/^%%BoundingBox: *[0-9][0-9]* *[0-9]* *[0-9]* *[0-9]*/s/%%BoundingBox: *\([0-9]*\) *\([0-9]*\) *\([0-9]*\) *\([0-9]*\)/lx\1ly\2ux\3uy\4/p' $2`
|
|
if [ .$GEOM = "." ]; then
|
|
# if no bounding box, we just feed it to gs
|
|
(cat $2; echo "showpage") | gs -q -dSAFER -dNOPAUSE -sDEVICE=$1 -sOutputFile=- -
|
|
else
|
|
# there was a bounding box
|
|
# pull off each number
|
|
lx=`expr $GEOM : "lx\([0-9]*\)"`
|
|
ly=`expr $GEOM : ".*ly\([0-9]*\)"`
|
|
ux=`expr $GEOM : ".*ux\([0-9]*\)"`
|
|
uy=`expr $GEOM : ".*uy\([0-9]*\)"`
|
|
# compute the size
|
|
ysize=`expr $uy - $ly`
|
|
xsize=`expr $ux - $lx`
|
|
GEOMC=-g${xsize}x${ysize}
|
|
# send the plot to gs shifted and the geometry shrunk to fit.
|
|
(echo "-${lx} -${ly} translate" ; cat $2; echo "showpage") | gs -q -dSAFER -dNOPAUSE -sDEVICE=$1 $GEOMC -sOutputFile=- -
|
|
fi
|
|
|
|
# eof
|