Annotation of researchv10no/cmd/post.src/trofftable/trofftable.sh, revision 1.1

1.1     ! root        1: #
        !             2: # Writes a PostScript program on standard output that builds a width
        !             3: # table or typesetter description file. The program uses PostScript's
        !             4: # print procedure, which means the table comes back on the printer's
        !             5: # serial port. Try hardcopy if you don't have access to the port.
        !             6: #
        !             7: 
        !             8: POSTBIN=/usr/lbin/postscript
        !             9: POSTLIB=/usr/lib/postscript
        !            10: FONTDIR=/usr/lib/font
        !            11: 
        !            12: PROLOGUE=$POSTLIB/trofftable.ps
        !            13: DPOSTPROLOGUE=$POSTLIB/dpost.ps
        !            14: 
        !            15: COPYFILE=
        !            16: HOSTFONTDIR=
        !            17: DEVICE=
        !            18: LIBRARY=
        !            19: TEMPLATE=
        !            20: 
        !            21: SLOWDOWN=25
        !            22: STARTCOMMENTS=256
        !            23: 
        !            24: NONCONFORMING="%!PS"
        !            25: ENDPROLOG="%%EndProlog"
        !            26: BEGINSETUP="%%BeginSetup"
        !            27: ENDSETUP="%%EndSetup"
        !            28: TRAILER="%%Trailer"
        !            29: 
        !            30: while [ -n "$1" ]; do
        !            31:     case $1 in
        !            32:        -C)  shift; COPYFILE="$COPYFILE $1";;
        !            33:        -C*) COPYFILE="$COPYFILE `echo $1 | sed s/-C//`";;
        !            34: 
        !            35:        -F)  shift; FONTDIR=$1;;
        !            36:        -F*) FONTDIR=`echo $1 | sed s/-F//`;;
        !            37: 
        !            38:        -H)  shift; HOSTFONTDIR=$1;;
        !            39:        -H*) HOSTFONTDIR=`echo $1 | sed s/-H//`;;
        !            40: 
        !            41:        -L)  shift; PROLOGUE=$1;;
        !            42:        -L*) PROLOGUE=`echo $1 | sed s/-L//`;;
        !            43: 
        !            44:        -S)  shift; LIBRARY=$1;;
        !            45:        -S*) LIBRARY=`echo $1 | sed s/-S//`;;
        !            46: 
        !            47:        -T)  shift; DEVICE=$1;;
        !            48:        -T*) DEVICE=`echo $1 | sed s/-T//`;;
        !            49: 
        !            50:        -c)  shift; STARTCOMMENTS=$1;;
        !            51:        -c*) STARTCOMMENTS=`echo $1 | sed s/-c//`;;
        !            52: 
        !            53:        -o)  shift; OCTALESCAPES=$1;;           # only for Latin1 tables
        !            54:        -o*) OCTALESCAPES=`echo $1 | sed s/-o//`;;
        !            55: 
        !            56:        -s)  shift; SLOWDOWN=$1;;
        !            57:        -s*) SLOWDOWN=`echo $1 | sed s/-s//`;;
        !            58: 
        !            59:        -t)  shift; TEMPLATE=$1;;
        !            60:        -t*) TEMPLATE=`echo $1 | sed s/-t//`;;
        !            61: 
        !            62:        -*)  echo "$0: illegal option $1" >&2; exit 1;;
        !            63: 
        !            64:        *)   break;;
        !            65:     esac
        !            66:     shift
        !            67: done
        !            68: 
        !            69: if [ ! "$DEVICE" -a ! "$LIBRARY" ]; then
        !            70:     echo "$0: no device or shell library" >&2
        !            71:     exit 1
        !            72: fi
        !            73: 
        !            74: if [ $# -ne 1 -a $# -ne 2 ]; then
        !            75:     echo "$0: bad argument count" >&2
        !            76:     exit 1
        !            77: fi
        !            78: 
        !            79: if [ -d "$HOSTFONTDIR" -a -f "$HOSTFONTDIR/$1" ]; then
        !            80:     COPYFILE="$COPYFILE $HOSTFONTDIR/$1"
        !            81: fi
        !            82: 
        !            83: #
        !            84: # Include the shell library and get the command used to build the table.
        !            85: # Make awk call a separate library function??
        !            86: #
        !            87: 
        !            88: . ${LIBRARY:-${FONTDIR}/dev${DEVICE}/shell.lib}
        !            89: 
        !            90: if [ $# -eq 1 ]
        !            91:     then TEMPLATE=$1
        !            92:     else TEMPLATE=${TEMPLATE:-R}
        !            93: fi
        !            94: 
        !            95: CMD=`BuiltinTables | awk '$2 == template"" {
        !            96:        if ( pname == "" )
        !            97:                pname = $3
        !            98:        printf "%s %s %s", $1, tname, pname
        !            99:        exit 0
        !           100: }' template="$TEMPLATE" tname="$1" pname="$2"`
        !           101: 
        !           102: if [ ! "$CMD" ]; then
        !           103:     echo "$0: $TEMPLATE not found" >&2
        !           104:     exit 1
        !           105: fi
        !           106: 
        !           107: #
        !           108: # Build the PostScript font table program.
        !           109: #
        !           110: 
        !           111: echo $NONCONFORMING
        !           112: cat $PROLOGUE
        !           113: echo "/DpostPrologue 100 dict dup begin"
        !           114: cat $DPOSTPROLOGUE
        !           115: echo "end def"
        !           116: echo $ENDPROLOG
        !           117: 
        !           118: echo $BEGINSETUP
        !           119: cat ${COPYFILE:-/dev/null}
        !           120: echo "/slowdown $SLOWDOWN def"
        !           121: echo "/startcomments $STARTCOMMENTS def"
        !           122: echo $ENDSETUP
        !           123: 
        !           124: $CMD
        !           125: 
        !           126: echo $TRAILER
        !           127: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.