Epson LQ-510 shadow, enhanced, etc
Doug Blair
blair at obdient.chi.il.us
Sat Sep 29 00:54:28 AEST 1990
I saw a couple of postings in (I think) comp.periphs.printers from Epson
LQ-510 owners unable to use their enhanced shadow, outline and shadow+outline
modes (activated with ESC q [0-3]). Tried it here and it worked just fine.
(make sure your printer interface passes all 8 bits and that you haven't issued
an ESC [=>#]). I'd been working on a project to use some of the fancier
typestyles from within shell scripts and the results are enclosed.
There are two files here: epfont and epdemo. Epfont will issue the necessary
escape sequences to change fonts, typestyles, point sizes, height and width,
underlining and a few other modes. Epdemo excercises these features and
will produce SEVEN pages of output per font! To use these, cut epfont and
epdemo out of this file. Epfont will accept commands on the order of
epfont -f Orator -p 12 -i italic -s outline
to change to the Orator typestyle 12 pitch outlined and italicised.
Include epfont commands in shell scripts designed to be piped to lp. To
show off ALL the typestyles (well, most actually) available on your LQ-510,
first comment out an appropriate line in epdemo if you have or don't
have the font module cartridge, then run
epdemo | lp
And you'll see almost all your printer can do. Yes, it does improve the
appearances of the invoices around here tremendously!
Enjoy
Doug
___ _ _ _ _
| || |_ ___ _| ||_| ___ __ _| |_ Doug Blair Obedient Software Corp.
| | || .\/ ._\/. || |/ ._\| \|_ _| 1007 Naperville Rd, Wheaton IL 60187
|___||___/\___/\___||_|\___/|_|_| |_| 708-653-5527 blair at obdient.chi.il.us
---------------------------- epdemo ----------------------------------------
# epdemo
# exercises epfont functions for Epson LQ-510 printer
#
# uncomment one of the following lines - use second if you have font module
fonts="Roman Sans"
#fonts="Roman Sans Courier Prestige Script Ocra Ocrb Orator OratorS"
epfont -z
epfont -q lq
for font in $fonts
do
epfont -f $font
for style in normal outline shadow
do
epfont -s $style
for pitch in 15 12 10
do
epfont -p $pitch
for width in normal wide
do
epfont -w $width
for high in normal tall
do
epfont -h $high
for italic in normal italic
do
epfont -i $italic
for emphasis in normal emphasis
do
epfont -e $emphasis
if [ "$high" = "tall" ]
then
echo
fi
echo $width $high $style $font $pitch $italic $emphasis
if [ "$high" = "tall" ]
then
echo
fi
echo "ABCDEFGHIJ klmnopqrs 12345 ()#-+[]/"
done
done
done
done
done
done
done
epfont -z
echo
------------------------------- end of epdemo ---------------------------------
---------------------------------- epfont -------------------------------------
# epfont
# echoes escape codes for various fonts, styles and sizes for an
# Epson LQ-510 printer. Designed to be incorporated into shell
# scripts piped to printer.
USAGE="epfont
-d doublestrike -e emphasized -f font -h height -i italic
-j justification -p pitch -q quality -s style -u underline
-w width -x sub/superscript -z resets
-d normal|strike
-e normal|emphasized
-f roman|sans|courier|prestige|script|ocra|ocrb|orator|orators
-h normal|tall
-i normal|italic
-j left|center|right|full
-p 10|12|15|condensed|proportional|cancel
-q draft|lq
-s normal|shadow|outline|shadline
-u on|off
-w normal|wide
-x subscript|superscript|normal
-z resets
most arguments require first 2 letters only, case ignored
"
myerror()
{
echo $0 option -$d bad argument: $OPTARG
echo "$USAGE"
exit 2
}
while getopts d:e:f:h:i:j:p:q:s:u:w:x:z d
do
case $d in
d | D )
case $OPTARG in
[Nn][Oo]*)
echo "\033H\c"
;;
[Ss][Tt]*)
echo "\033G\c"
;;
*)
myerror
;;
esac
;;
e | E )
case $OPTARG in
[Nn][Oo]*)
echo "\033F\c"
;;
[Ee][Mm]*)
echo "\033E\c"
;;
*)
myerror
;;
esac
;;
f | F )
# fonts
case $OPTARG in
[Rr]*)
echo "\033k\000\c"
;;
[Ss][Aa]*)
echo "\033k\001\c"
;;
[Cc][Oo]*)
echo "\033k\002\c"
;;
[Pp][Rr]*)
echo "\033k\003\c"
;;
[Ss][Cc]*)
echo "\033k\004\c"
;;
[Oo][Cc][Rr][Bb])
echo "\033k\005\c"
;;
[Oo][Cc][Rr][Aa])
echo "\033k\006\c"
;;
[Oo][Rr][Aa][Tt][Oo][Rr][Ss])
echo "\033k\010\c"
;;
[Oo][Rr][Aa][Tt][Oo][Rr])
echo "\033k\007\c"
;;
*)
myerror
;;
esac
;;
h | H )
case $OPTARG in
[Nn][Oo]*)
echo "\033w\000\c"
;;
[Tt][Aa]* | [Hh][Ii]*)
echo "\033w\001\c"
;;
*)
myerror
;;
esac
;;
i | I )
case $OPTARG in
[Nn][Oo]*)
echo "\033\065\c"
;;
[Ii][Tt]*)
echo "\033\064\c"
;;
*)
myerror
;;
esac
;;
j | J )
case $OPTARG in
[Ll][Ee]*)
echo "\033a\000\c"
;;
[Cc][Ee]*)
echo "\033a\001\c"
;;
[Rr][Ii]*)
echo "\033a\002\c"
;;
[Ff][Uu]*)
echo "\033a\003\c"
;;
*)
myerror
;;
esac
;;
p | P )
case $OPTARG in
10)
echo "\033p\c"
;;
12)
echo "\033M\c"
;;
15)
echo "\033g\c"
;;
[Cc][Oo]*)
echo "\017\c"
;;
[Pp][Rr]*)
echo "\033p1\c"
;;
[Cc][Aa]*)
# note -p cancel cancels both condensed and proportional
echo "\022\033p0\c"
;;
*)
myerror
;;
esac
;;
q | Q )
case $OPTARG in
[Dd][Rr]*)
echo "\033x\000\c"
;;
[Ll][Qq])
echo "\033x\001\c"
;;
*)
myerror
;;
esac
;;
s | S )
case $OPTARG in
[Nn][Oo]*)
echo "\033q\000\c"
;;
[Oo][Uu]*)
echo "\033q\001\c"
;;
[Ss][Hh][Aa][Dd][Oo]*)
echo "\033q\002\c"
;;
[Ss][Hh][Aa][Dd][Ll]*)
echo "\033q\003\c"
;;
*)
myerror
;;
esac
;;
u | U )
case $OPTARG in
[Oo][Nn]*)
echo "\033-1\c"
;;
[Oo][Ff]*)
echo "\033-0\c"
;;
*)
myerror
;;
esac
;;
w | W )
case $OPTARG in
[Nn][Oo]*)
echo "\033W\000\c"
;;
[Ww][Ii]*)
echo "\033W\001\c"
;;
*)
myerror
;;
esac
;;
x | X )
case $OPTARG in
[Ss][Uu][Bb]*)
echo "\033S1\c"
;;
[Ss][Uu][Pp]*)
echo "\033S0\c"
;;
[Nn][Oo]*)
echo "\033T\c"
;;
*)
myerror
;;
esac
;;
z | Z )
echo "\033@\c"
;;
\?)
echo "$USAGE"
exit 2
;;
esac
done
shift `expr $OPTIND - 1`
---------------------------- end of epfont -------------------------------------
More information about the Alt.sources
mailing list