1344 lines
34 KiB
Plaintext
1344 lines
34 KiB
Plaintext
# Copyright (c) 1990, 1991 UNIX System Laboratories, Inc.
|
|
# Copyright (c) 1984, 1986, 1987, 1988, 1989, 1990 AT&T
|
|
# All Rights Reserved
|
|
|
|
# THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF
|
|
# UNIX System Laboratories, Inc.
|
|
# The copyright notice above does not evidence any
|
|
# actual or intended publication of such source code.
|
|
|
|
#ident "@(#)terminfo:print.ti 1.14"
|
|
|
|
######################################################################
|
|
#
|
|
# Generic entry for the C.Itoh 8510 printer and emulations:
|
|
#
|
|
|
|
citoh+basic,
|
|
|
|
# The 8510 I use only allows 79 columns!
|
|
cols#79,
|
|
|
|
lines#66,
|
|
it#8,
|
|
|
|
orc#1,
|
|
orhi#10,
|
|
orl#24,
|
|
orvi#144,
|
|
|
|
cr=\r,
|
|
cud1=\n,
|
|
cuf1=\s,
|
|
ff=\f,
|
|
ht=\t,
|
|
|
|
cpi=%?%p1%{10}%=%t\EN%e%p1%{12}%=%t\EE%e%p1%{16}%=%p1%{17}%=%O%t\EQ%;,
|
|
cvr=%?%p1%{0}%>%p1%{100}%<%&%t\ET%p1%02d%;,
|
|
|
|
is1=^Q^X,
|
|
is2=\Ec1\Ev66.,
|
|
|
|
smso=\E!,
|
|
rmso=\E",
|
|
smul=\EX,
|
|
rmul=\EY,
|
|
bold=\E!,
|
|
ssubm=\Es2,
|
|
rsubm=\Es0,
|
|
ssupm=\Es1,
|
|
rsupm=\Es0,
|
|
swidm=^N,
|
|
rwidm=^O,
|
|
sgr0=\E"\EY\Es0^O,
|
|
sgr=%?%p1%p6%|%t\E!%e\E"%;%?%p2%t\EX%e\EY%;,
|
|
|
|
rep=\ER%p2%03d%p1%c,
|
|
|
|
snlq=\Em2,
|
|
snrmq=\Em1,
|
|
sdrfq=\Em0,
|
|
|
|
smglp=\EL%p1%03d,
|
|
smgrp=\E/%{1}%p1%+%03d,
|
|
|
|
slines=\Ev%p1%02d.,
|
|
u9=\Ev%p1%02d.,
|
|
|
|
citoh+low,
|
|
|
|
npins#8,
|
|
spinv#68,
|
|
spinh#136,
|
|
|
|
porder=8\,7\,6\,5\,4\,3\,2\,1;0,
|
|
|
|
sbim=\ES%p1%04d,
|
|
|
|
birep=\EV%p2%04d%p3%c,
|
|
|
|
bitwin#1,
|
|
bitype#1,
|
|
|
|
# Set the line spacing to 17/144 inch to get (almost) 68 dots
|
|
# per inch vertically (8 * 144/17).
|
|
# Set the character spacing to compressed (1/17 inch or 17
|
|
# characters per inch); at 136 dots per inch horizontally this
|
|
# means 8 dots per character.
|
|
# Set the left margin at the left edge of the image.
|
|
# The C.Itoh doesn't have parameterized vertical motion,
|
|
# so we simulate it with linefeeds. Assume we never need
|
|
# to move more than 63 lines (at 17/144 LPI).
|
|
# Set uni-directional motion; bi-directional causes a wavy
|
|
# image.
|
|
defbi=%?%p5%{1}%=%t\ET17\EQ\EL%p1%{8}%/%03d%p2%{8}%/%Py%?%gy%{31}%>%t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n%gy%{32}%-%Py%;%?%gy%{15}%>%t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n%gy%{16}%-%Py%;%?%gy%{7}%>%t\n\n\n\n\n\n\n\n%gy%{8}%-%Py%;%?%gy%{3}%>%t\n\n\n\n%gy%{4}%-%Py%;%?%gy%{1}%>%t\n\n%gy%{2}%-%Py%;%?%gy%{0}%>%t\n%;\E>%;,
|
|
|
|
endbi=\EA\EP\EL001\E<,
|
|
|
|
binel=\n\r\EL%p1%{8}%/%03d,
|
|
|
|
######################################################################
|
|
#
|
|
# Specific printers:
|
|
#
|
|
|
|
citoh|8510|C.Itoh 8510 printer,
|
|
|
|
bufsz#1024,
|
|
cps#120,
|
|
|
|
use=citoh+basic, use=citoh+low,
|
|
|
|
######################################################################
|
|
#
|
|
# Generic entry for the daisy wheel printers and emulations:
|
|
#
|
|
|
|
#
|
|
# Basic capabilities:
|
|
#
|
|
daisy+basic,
|
|
|
|
daisy,
|
|
|
|
cols#132,
|
|
lines#66,
|
|
|
|
orc#12,
|
|
orhi#120,
|
|
orl#8,
|
|
orvi#48,
|
|
|
|
cr=^M,
|
|
cud1=^J,
|
|
cuf1=\s,
|
|
ff=^L,
|
|
ht=^I,
|
|
hpa=%?%p1%{100}%<%t\EC%p1%02d%e%p1%{110}%<%t\ECA%p1%{100}%-%d%e%p1%{120}%<%t\ECB%p1%{110}%-%d%e%p1%{130}%<%t\ECC%p1%{120}%-%d%e%p1%{140}%<%t\ECD%p1%{130}%-%d%e%p1%{150}%<%t\ECE%p1%{140}%-%d%e%p1%{160}%<%t\ECF%p1%{150}%-%d%;,
|
|
vpa=%?%p1%{100}%<%t\EP%p1%02d%e%p1%{110}%<%t\EPA%p1%{100}%-%d%e%p1%{120}%<%t\EPB%p1%{110}%-%d%e%p1%{130}%<%t\EPC%p1%{120}%-%d%e%p1%{140}%<%t\EPD%p1%{130}%-%d%e%p1%{150}%<%t\EPE%p1%{140}%-%d%e%p1%{160}%<%t\EPF%p1%{150}%-%d%;,
|
|
|
|
chr=%?%p1%{100}%<%t\EE%p1%02d%e%p1%{110}%<%t\EEA%p1%{100}%-%d%e%p1%{120}%<%t\EEB%p1%{110}%-%d%e%p1%{130}%<%t\EEC%p1%{120}%-%d%e%p1%{140}%<%t\EED%p1%{130}%-%d%e%p1%{150}%<%t\EEE%p1%{140}%-%d%e%p1%{160}%<%t\EEF%p1%{150}%-%d%;,
|
|
cvr=%?%p1%{100}%<%t\EL%p1%02d%e%p1%{110}%<%t\ELA%p1%{100}%-%d%e%p1%{120}%<%t\ELB%p1%{110}%-%d%e%p1%{130}%<%t\ELC%p1%{120}%-%d%e%p1%{140}%<%t\ELD%p1%{130}%-%d%e%p1%{150}%<%t\ELE%p1%{140}%-%d%e%p1%{160}%<%t\ELF%p1%{150}%-%d%;,
|
|
|
|
is2=\E\rP\EW\E.\EL08\EE12\E%\E<,
|
|
|
|
smso=\EQ,
|
|
rmso=\ER,
|
|
smul=\EI,
|
|
rmul=\EJ,
|
|
bold=\EKd,
|
|
sshm=\EQ,
|
|
rshm=\ER,
|
|
sgr0=\ER\EM\EJ,
|
|
sgr=%?%p1%t\EQ%e\ER%;%?%p2%t\EI%e\EJ%;%?%p6%t\EKd%e\EM%;,
|
|
|
|
smgb=\E-,
|
|
smgl=\E9,
|
|
smgr=\E0,
|
|
smgt=\E+,
|
|
|
|
slines=\EF%p1%02d,
|
|
u9=\EF%p1%02d,
|
|
|
|
#
|
|
# Graphics capabilities:
|
|
#
|
|
daisy+lowres,
|
|
|
|
#
|
|
# We could use the graphics on/graphics off control sequences
|
|
# (ESC G/ESC 4) but for these problems:
|
|
#
|
|
# - graphics mode gets turned off when a \r is received;
|
|
# - printing a character doesn't cause motion, which
|
|
# means that each ``cell'' must be followed by a space;
|
|
# - to get the best aspect ratio, three horizontal dots
|
|
# must be sent per ``cell'' (using the ESC 3 graphics mode
|
|
# (1/60 instead of 1/120) alleviates this problem but
|
|
# gives a worse aspect ratio).
|
|
#
|
|
# So instead we set the HMI and VMI to 1/40 and 1/48 inch,
|
|
# respectively.
|
|
#
|
|
npins#1,
|
|
spinv#48,
|
|
spinh#40,
|
|
|
|
porder=o\,o\,o\,o\,1\,1\,1\,o;32,
|
|
|
|
bitwin#1,
|
|
bitype#1,
|
|
|
|
birep=%?%p3%{32}%=%t\EH%p2%{3}%*%Px%gx%{256}%/%{64}%+%c%gx%{256}%m%{16}%/%{64}%+%c%gx%{16}%m%{64}%+%c%;,
|
|
|
|
# THIS ASSUMES WE START AT THE TOP OF THE PAGE! (although
|
|
# maybe not in the first column.)
|
|
defbi=%?%p5%{1}%=%t\EL01\EE03%p1%{3}%*%Px\r\EH%gx%{256}%/%{64}%+%c%gx%{256}%m%{16}%/%{64}%+%c%gx%{16}%m%{64}%+%c\EV%p2%{256}%/%{64}%+%c%p2%{256}%m%{16}%/%{64}%+%c%p2%{16}%m%{64}%+%c\E>%;,
|
|
|
|
endbi=\EL08\EE12\E<,
|
|
|
|
binel=\n\r%p1%{3}%*%Px\EH%gx%{256}%/%{64}%+%c%gx%{256}%m%{16}%/%{64}%+%c%gx%{16}%m%{64}%+%c,
|
|
|
|
######################################################################
|
|
#
|
|
# Specific printers:
|
|
#
|
|
|
|
daisy,
|
|
|
|
use=daisy+basic, use=daisy+lowres,
|
|
|
|
qume|sprint11|Qume Sprint 11,
|
|
|
|
bufsz#500,
|
|
cps#55,
|
|
|
|
use=daisy,
|
|
|
|
######################################################################
|
|
#
|
|
# Generic entries for the various DEC printers and emulations.
|
|
#
|
|
# The dec+... entries are really for any ANSI X3.64 printer,
|
|
# but "ansi" is already used for terminals. It would be more
|
|
# work to do "use=ansi" because there are too many screen
|
|
# oriented caps that would have to be removed.
|
|
#
|
|
|
|
#
|
|
# Basic capabilities:
|
|
#
|
|
dec+basic,
|
|
|
|
cols#132,
|
|
lines#66,
|
|
it#8,
|
|
|
|
cpix,
|
|
orc#1,
|
|
orhi#10,
|
|
orl#2,
|
|
orvi#12,
|
|
|
|
#
|
|
# FIX? Are xhpa and xvpa really needed?
|
|
xhpa,
|
|
xvpa,
|
|
|
|
cr=^M,
|
|
ff=^L,
|
|
ht=^I,
|
|
cud1=^J,
|
|
cuf1=\s,
|
|
cuu1=\EM,
|
|
cud=\E[%p1%de,
|
|
cuf=\E[%p1%da,
|
|
hpa=\E[%p1%d`,
|
|
vpa=\E[%p1%dd,
|
|
nel=\EE,
|
|
|
|
is1=\Ec,
|
|
is2=\E[20l,
|
|
|
|
cpi=%?%p1%{10}%=%t\E[w%e%p1%{12}%=%t\E[2w%e%p1%{5}%=%t\E[5w%e%p1%{13}%=%p1%{14}%=%O%t\E[3w%e%p1%{16}%=%p1%{17}%=%O%t\E[4w%e%p1%{6}%=%t\E[6w%e%p1%{7}%=%t\E[7w%e%p1%{8}%=%t\E[8w%;,
|
|
lpi=%?%p1%{2}%=%t\E[4z%e%p1%{3}%=%t\E[5z%e%p1%{4}%=%t\E[6z%e%p1%{6}%=%t\E[z%e%p1%{8}%=%t\E[2z%e%p1%{12}%=%t\E[3z%;,
|
|
|
|
csnm=%?%p1%{0}%=%tusascii%e%p1%{1}%=%tenglish%e%p1%{2}%=%tfinnish%e%p1%{3}%=%tjapanese%e%p1%{4}%=%tnorwegian%e%p1%{5}%=%tswedish%e%p1%{6}%=%tgermanic%e%p1%{7}%=%tfrench%e%p1%{8}%=%tcanadian_french%e%p1%{9}%=%titalian%e%p1%{10}%=%tspanish%e%p1%{11}%=%tline%e%p1%{12}%=%tsecurity%e%p1%{13}%=%tebcdic%e%p1%{14}%=%tapl%e%p1%{15}%=%tmosaic%;,
|
|
scs=%?%p1%{0}%=%t\E(B%e%p1%{1}%=%t\E(A%e%p1%{2}%=%t\E(C%e%p1%{3}%=%t\E(D%e%p1%{4}%=%t\E(E%e%p1%{5}%=%t\E(H%e%p1%{6}%=%t\E(K%e%p1%{7}%=%t\E(R%e%p1%{8}%=%t\E(Q%e%p1%{9}%=%t\E(Y%e%p1%{10}%=%t\E(Z%e%p1%{11}%=%t\E(0%e%p1%{12}%=%t\E(1%e%p1%{13}%=%t\E(3%e%p1%{14}%=%t\E(8%e%p1%{15}%=%t\E(}%;,
|
|
|
|
sshm=\E[5m,
|
|
rshm=\E[m,
|
|
|
|
smgtp=\E[%p1%dr,
|
|
smgbp=\E[;%p1%dr,
|
|
smglp=\E[%{1}%p1%+%ds,
|
|
smgrp=\E[;%{1}%p1%+%ds,
|
|
|
|
slines=\E[%p1%dt,
|
|
u9=\E[%p1%dt,
|
|
|
|
#
|
|
# Graphics capabilities (low resolution, 6-pin):
|
|
#
|
|
dec+low,
|
|
|
|
npins#6,
|
|
spinv#72,
|
|
spinh#75,
|
|
|
|
porder=o\,o\,6\,5\,4\,3\,2\,1;63,
|
|
|
|
bitwin#1,
|
|
bitype#1,
|
|
|
|
birep=!%p2%d%p3%c,
|
|
|
|
# X is in 1/75 increments; set char spacing to 1/16.7
|
|
# increments to allow us to get close; column is X*16.7/75.
|
|
# Y is in 1/72 increments; set line spacing to 1/12
|
|
# increments to allow us to get close; line is Y/6.
|
|
defbi=%?%p5%{1}%=%t\E[4w\E[%p1%{167}%*%{750}%/%d`\E[w\E[3z\E[%p2%{6}%/%dd\E[z\EP0q%;,
|
|
|
|
endbi=^X,
|
|
|
|
binel=-,
|
|
|
|
bicr=$,
|
|
|
|
######################################################################
|
|
#
|
|
# Specific printers:
|
|
#
|
|
|
|
la100|DEC LA100 Printer,
|
|
|
|
use=dec+basic, use=dec+low,
|
|
|
|
ln03|DEC LN03 Laser Printer,
|
|
|
|
# I'm guessing here. I think the ln03 can scale up to 6.
|
|
# X is in 1/75 increments; set char spacing to 1/16.7
|
|
# increments to allow us to get close; column is X*16.7/75.
|
|
# Y is in 1/72 increments; set line spacing to 1/12
|
|
# increments to allow us to get close; line is Y/6.
|
|
defbi=%?%p5%{0}%>%p5%{7}%<%&%t\E[4w\E[%p1%{167}%*%{750}%/%d`\E[w\E[3z\E[%p2%{6}%/%dd\E[z\EP9;0;%p5%dq"1;1%;,
|
|
|
|
use=dec+basic, use=dec+low,
|
|
|
|
######################################################################
|
|
#
|
|
# Epson LQ-2500
|
|
#
|
|
|
|
#
|
|
# Basic capabilities:
|
|
#
|
|
ep2500+basic,
|
|
|
|
cols#136,
|
|
lines#66,
|
|
it#8,
|
|
|
|
cpix,
|
|
orc#6,
|
|
orhi#60,
|
|
orl#30,
|
|
orvi#180,
|
|
|
|
cr=^M,
|
|
cud1=^J,
|
|
cuf1=\s,
|
|
cub1=\b,
|
|
ff=^L,
|
|
ht=^I,
|
|
|
|
cpi=%?%p1%{10}%=%t^R\EP%e%p1%{12}%=%t^R\EM%e%p1%{20}%=%t^O\EM%e%p1%{17}%=%t^O\EP%;,
|
|
cvr=%?%p1%{0}%>%p1%{256}%<%&%t\E3%p1%c%;,
|
|
|
|
is1=^Q^X,
|
|
is2=\E@\E%0\EO,
|
|
|
|
csnm=%?%p1%{0}%=%tcharacter_set_1%e%p1%{1}%=%tcharacter_set_2%e%p1%{2}%=%tusa%e%p1%{3}%=%tfrench%e%p1%{4}%=%tgerman%e%p1%{5}%=%tuk%e%p1%{6}%=%tdanish1%e%p1%{7}%=%tswedish%e%p1%{8}%=%titalian%e%p1%{9}%=%tspanish1%e%p1%{10}%=%tjapanese%e%p1%{11}%=%tnorwegian%e%p1%{12}%=%tdanish2%e%p1%{13}%=%tspanish2%e%p1%{14}%=%tlatin_american%;,
|
|
scs=%?%p1%{0}%=%t\E7%e%p1%{1}%=%t\E6%e%p1%{1}%>%p1%{15}%<%&%t\ER%p1%{126}%+%c%;
|
|
|
|
smso=\EE,
|
|
rmso=\EF,
|
|
smul=\E-1,
|
|
rmul=\E-0,
|
|
bold=\EG,
|
|
sshm=\EE,
|
|
rshm=\EF,
|
|
ssubm=\ES1,
|
|
rsubm=\ET,
|
|
ssupm=\ES0,
|
|
rsupm=\ET,
|
|
swidm=\EW1,
|
|
rwidm=\EW0,
|
|
sitm=\E4,
|
|
ritm=\E5,
|
|
sgr0=\EF\E-0\EH\ET\EW0\E5,
|
|
sgr=%?%p1%t\EE%e\EF%;%?%p2%t\E-1%e\E-0%;%?%p6%t\EG%e\EH%;,
|
|
|
|
#
|
|
# For now we can't set the margin in the first (0th) column
|
|
# due to limitations in the Curses code. This should be changed
|
|
# in the future. For now, shift right 1. Note that the right
|
|
# margin is the last USEABLE column in Terminfo, but is 1
|
|
# PAST that for the Epson.
|
|
smglp=%?%p1%{256}%<%t\El%p1%{1}%+%c%;,
|
|
smgrp=%?%p1%{256}%<%t\EQ%p1%{2}%+%c%;,
|
|
|
|
slines=%?%p1%{0}%>%p1%{128}%<%&%t\EC%p1%c%;,
|
|
u9=%?%p1%{0}%>%p1%{128}%<%&%t\EC%p1%c%;,
|
|
|
|
snrmq=\Ex0,
|
|
snlq=\Ex1,
|
|
|
|
#
|
|
# Graphics capabilities:
|
|
#
|
|
ep2500+low,
|
|
|
|
npins#8,
|
|
spinv#60,
|
|
spinh#60,
|
|
|
|
porder=1\,2\,3\,4\,5\,6\,7\,8;0,
|
|
|
|
sbim=\EK%p1%{256}%m%c%p1%{256}%/%c,
|
|
|
|
bitwin#1,
|
|
bitype#1,
|
|
|
|
# Set the line spacing to 8/60 inch (7.5 lines per inch)
|
|
# to get 60 dots per inch vertically (7.5 lines/" * 8 pins/line).
|
|
# Set the character spacing to pica (1/10 inch or 10 characters
|
|
# per inch); at 60 dots per inch horizontally this means 6
|
|
# dots per character.
|
|
# Set vertical and horizontal tab stops at the upper left corner
|
|
# of the image, then tab to the upper left corner.
|
|
# Note: $<> is a true null (only works with special Curses routine).
|
|
# THIS ASSUMES WE START AT THE TOP OF THE PAGE! (although
|
|
# maybe not in the first column.)
|
|
defbi=%?%p5%{1}%=%t\E3\030^R\EP\EB%p2%{8}%/%c$<>\ED%p1%{6}%/%c$<>\013\r\t%;,
|
|
|
|
endbi=\E3\036,
|
|
|
|
binel=\n\r\t,
|
|
|
|
bicr=\r\t,
|
|
|
|
#
|
|
# Graphics capabilities:
|
|
#
|
|
ep2500+high,
|
|
|
|
npins#24,
|
|
spinv#180,
|
|
spinh#180,
|
|
|
|
porder=1\,2\,3\,4\,5\,6\,7\,8\,9\,10\,11\,12\,13\,14\,15\,16\,17\,18\,19\,20\,21\,22\,23\,24;0,
|
|
|
|
sbim=\E*\047%p1%{256}%m%c%p1%{256}%/%c,
|
|
|
|
# Set the line spacing to 8/60 inch (7.5 lines per inch)
|
|
# to get 180 dots per inch vertically (7.5 lines/" * 24 pins/line).
|
|
# Set the character spacing to pica (1/10 inch or 10 characters
|
|
# per inch); at 180 dots per inch horizontally this means 18
|
|
# dots per character.
|
|
# Set vertical and horizontal tab stops at the upper left corner
|
|
# of the image, then tab to the upper left corner.
|
|
# Note: $<> is a true null (only works with special Curses routine).
|
|
# THIS ASSUMES WE START AT THE TOP OF THE PAGE! (although
|
|
# maybe not in the first column.)
|
|
defbi=%?%p5%{1}%=%t\E3\030^R\EP\EB%p2%{24}%/%c$<>\ED%p1%{18}%/%c$<>\013\r\t%;,
|
|
|
|
use=ep2500+low,
|
|
|
|
#
|
|
# Color capability:
|
|
#
|
|
ep2500+color,
|
|
|
|
colors#3,
|
|
|
|
setcolor=%?%p1%{0}%=%t\Er0%;%?%p1%{1}%=%t\Er2%;%?%p1%{2}%=%t\Er1%;%?%p1%{3}%=%t\Er4%;,
|
|
|
|
colornm=%?%p1%{0}%=%tblack%;%?%p1%{1}%=%tcyan%;%?%p1%{2}%=%tmagenta%;%?%p1%{3}%=%tyellow%;%?%p1%{4}%=%torange=yellow+magenta%;%?%p1%{5}%=%tgreen=yellow+cyan%;%?%p1%{6}%=%tviolet=magenta+cyan%;%?%p1%{7}%=%tbrown=magenta+black%;,
|
|
|
|
######################################################################
|
|
#
|
|
# Specific printers:
|
|
#
|
|
|
|
epson2500|Epson LQ-2500; low resolution,
|
|
|
|
use=ep2500+basic, use=ep2500+low, use=ep2500+color,
|
|
|
|
epson2500-hi|Epson LQ-2500; high resolution,
|
|
|
|
use=ep2500+basic, use=ep2500+high, use=ep2500+color,
|
|
|
|
epson2500-80|Epson LQ-2500; low resolution; 80-col,
|
|
|
|
cols#80,
|
|
use=ep2500+basic, use=ep2500+low, use=ep2500+color,
|
|
|
|
epson2500-hi80|Epson LQ-2500; high resolution; 80-col,
|
|
|
|
cols#80,
|
|
use=ep2500+basic, use=ep2500+high, use=ep2500+color,
|
|
|
|
######################################################################
|
|
#
|
|
# Generic entry for the HP Laserjet printers and emulations:
|
|
#
|
|
|
|
#
|
|
# Basic capabilities:
|
|
#
|
|
hplaser+basic,
|
|
|
|
cols#80,
|
|
lines#60,
|
|
|
|
orc#12,
|
|
orhi#120,
|
|
orl#8,
|
|
orvi#48,
|
|
|
|
cr=^M,
|
|
cud1=^J,
|
|
cuf1=\s,
|
|
cud=\E&a+%p1%dR,
|
|
cuf=\E&a+%p1%dC,
|
|
ff=^L,
|
|
hpa=\E&a%p1%dC,
|
|
vpa=\E&a%p1%dR,
|
|
|
|
cpi=%?%p1%{10}%=%t\E&k0S%e%p1%{17}%=%t\E&k2S%;,
|
|
chr=%?%p1%{0}%>%p1%{127}%<%t\E&k%p1%dH%;,
|
|
cvr=%?%p1%{0}%>%p1%{127}%<%t\E&l%p1%dC%;,
|
|
lpi=%?%p1%{1}%=%t\E&l1D%e%p1%{2}%=%t\E&l2D%e%p1%{3}%=%t\E&l3D%e%p1%{4}%=%t\E&l4D%e%p1%{6}%=%t\E&l6D%e%p1%{8}%=%t\E&l8D%e%p1%{12}%=%t\E&l12D%e%p1%{16}%=%t\E&l16D%e%p1%{24}%=%t\E&l24D%e%p1%{48}%=%t\E&l48D%;,
|
|
|
|
is2=\EE\E&k0G,
|
|
mgc=\E9,
|
|
|
|
rmul=\E&d\100,
|
|
ritm=\E(s0S,
|
|
smul=\E&dD,
|
|
sitm=\E(s1S,
|
|
smgtp=\E&l%p1%{1}%+%dE,
|
|
smgbp=\E&l%p1%{1}%+%dF,
|
|
smglp=\E&a%p1%dL,
|
|
smgrp=\E&a%p1%dM,
|
|
|
|
#Set top margin at +2 offset
|
|
smgtp=\E&l%p1%dE,
|
|
|
|
#Set page length
|
|
slines=\E&l%p1P,
|
|
u9=\E&l%p1P,
|
|
|
|
#
|
|
# Graphics capabilities:
|
|
#
|
|
hplaser+high,
|
|
|
|
npins#8,
|
|
spinv#300,
|
|
spinh#300,
|
|
|
|
porder=1\,2\,3\,4\,5\,6\,7\,8;0,
|
|
|
|
sbim=\E*b%p1%dW,
|
|
|
|
bitwin#1,
|
|
bitype#2,
|
|
|
|
# X (or Y) * scale * 12/5 == pos in decipoints (12/5 == 720/300)
|
|
defbi=%?%p5%{0}%>%p5%{5}%<%&%t\E&a%p1%p5%*%{12}%*%{5}%/%dH\E&a%p2%p5%*%{12}%*%{5}%/%dV\E*t%{300}%p5%/%dR\E*r1A%;,
|
|
|
|
endbi=\E*rB,
|
|
|
|
######################################################################
|
|
#
|
|
# Specific printers:
|
|
#
|
|
|
|
hplaserjet|hplaser|HP Laserjet I,
|
|
|
|
use=hplaser+basic, use=hplaser+high,
|
|
|
|
######################################################################
|
|
#
|
|
# Generic entries for the various IBM printers and emulations.
|
|
#
|
|
|
|
###################################
|
|
#
|
|
# IBM Graphics
|
|
#
|
|
|
|
#
|
|
# Basic capabilities:
|
|
#
|
|
ibmg+basic,
|
|
|
|
cols#80,
|
|
lines#66,
|
|
it#8,
|
|
|
|
cpix,
|
|
orc#1,
|
|
orhi#10,
|
|
orl#12,
|
|
orvi#72,
|
|
|
|
cr=^M,
|
|
ff=^L,
|
|
ht=^I,
|
|
cud1=^J,
|
|
cuf1=\s,
|
|
|
|
cpi=%?%p1%{10}%=%t^R%e%p1%{16}%=%p1%{17}%=%O%t^O%;,
|
|
cvr=%?%p1%{0}%>%p1%{256}%<%&%t\EA%p1%c\E2%;,
|
|
|
|
is1=^X,
|
|
is2=^R\EA\014\E2\EF\EH\EW0\ET\E-0\E7\EO,
|
|
|
|
csnm=%?%p1%{0}%=%p1%{1}%=%O%tcharacter_set_1%e%p1%{2}%=%tcharacter_set_2%;,
|
|
scs=%?%p1%{0}%=%p1%{1}%=%O%t\E7%e%p1%{2}%=%t\E6%;,
|
|
|
|
smso=\EE,
|
|
rmso=\EF,
|
|
smul=\E-1,
|
|
rmul=\E-0,
|
|
bold=\EG,
|
|
smacs=\E6,
|
|
rmacs=\E7,
|
|
sshm=\EE,
|
|
rshm=\EF,
|
|
ssubm=\ES1,
|
|
rsubm=\ET,
|
|
ssupm=\ES0,
|
|
rsupm=\ET,
|
|
swidm=\EW1,
|
|
rwidm=\EW0,
|
|
sgr0=\EF\E-0\EH\E7\ET\EW0,
|
|
sgr=%?%p1%t\EE%e\EF%;%?%p2%t\E-1%e\E-0%;%?%p6%t\EG%e\EH%;%?%p9%t\E6%e\E7%;,
|
|
|
|
slines=%?%p1%{0}%>%p1%{128}%<%&%t\EC%p1%c%;,
|
|
u9=%?%p1%{0}%>%p1%{128}%<%&%t\EC%p1%c%;,
|
|
|
|
#
|
|
# Graphics capabilities (low resolution, 9-pin):
|
|
#
|
|
ibmg+low,
|
|
|
|
npins#8,
|
|
spinv#72,
|
|
spinh#60,
|
|
|
|
porder=1\,2\,3\,4\,5\,6\,7\,8;0,
|
|
|
|
sbim=\EK%p1%{256}%m%c%p1%{256}%/%c,
|
|
|
|
bitwin#1,
|
|
bitype#1,
|
|
|
|
# Set the line spacing to 8/72 inch (9 lines per inch)
|
|
# to get 72 dots per inch vertically (9 lines/inch * 8 pins/line).
|
|
# Set the character spacing to pica (1/10 inch or 10 characters
|
|
# per inch); at 60 dots per inch horizontally this means 6
|
|
# dots per character.
|
|
# The IBM Graphics doesn't have parameterized motion,
|
|
# so we simulate it with linefeeds and spaces.
|
|
# Assume we never need to move across more than 63 colums
|
|
# or down more than 31 lines.
|
|
# THIS ASSUMES WE START AT THE TOP OF THE PAGE! (although
|
|
# maybe not in the first column.)
|
|
defbi=%?%p5%{1}%=%t\EA\010\E2^R%p2%{8}%/%Py%?%gy%{15}%>%t\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n%gy%{16}%-%Py%;%?%gy%{7}%>%t\n\n\n\n\n\n\n\n%gy%{8}%-%Py%;%?%gy%{3}%>%t\n\n\n\n%gy%{4}%-%Py%;%?%gy%{1}%>%t\n\n%gy%{2}%-%Py%;%?%gy%{0}%>%t\n%;\r%p1%{6}%/%Px%?%gx%{31}%>%t %gx%{32}%-%Px%;%?%gx%{15}%>%t %gx%{16}%-%Px%;%?%gx%{7}%>%t %gx%{8}%-%Px%;%?%gx%{3}%>%t %gx%{4}%-%Px%;%?%gx%{1}%>%t %gx%{2}%-%Px%;%?%gx%{0}%>%t %;%;,
|
|
|
|
endbi=\EA\014\E2,
|
|
|
|
binel=\n\r%p1%{6}%/%Px%?%gx%{31}%>%t %gx%{32}%-%Px%;%?%gx%{15}%>%t %gx%{16}%-%Px%;%?%gx%{7}%>%t %gx%{8}%-%Px%;%?%gx%{3}%>%t %gx%{4}%-%Px%;%?%gx%{1}%>%t %gx%{2}%-%Px%;%?%gx%{0}%>%t %;,
|
|
|
|
bicr=\r%p1%{6}%/%Px%?%gx%{31}%>%t %gx%{32}%-%Px%;%?%gx%{15}%>%t %gx%{16}%-%Px%;%?%gx%{7}%>%t %gx%{8}%-%Px%;%?%gx%{3}%>%t %gx%{4}%-%Px%;%?%gx%{1}%>%t %gx%{2}%-%Px%;%?%gx%{0}%>%t %;,
|
|
|
|
###################################
|
|
#
|
|
# IBM Color
|
|
#
|
|
|
|
#
|
|
# Basic capabilities:
|
|
#
|
|
ibmc+basic,
|
|
|
|
cub1=\b,
|
|
|
|
is1=^Q^X,
|
|
is2=^R\EA\014\E2\EF\EH\EW0\ET\E-0\E7\EO\ER\E50\EM0\EX^A\210\Eb\ECB,
|
|
|
|
smglp=\EX%p1%{1}%+%c%p2%{1}%+%c,
|
|
|
|
use=ibmg+basic,
|
|
|
|
#
|
|
# Graphics capabilities (low resolution, 9-pin, 5:6 aspect ratio):
|
|
#
|
|
ibmc+low+5x6,
|
|
|
|
spinv#84,
|
|
spinh#70,
|
|
|
|
# Set 5:6 aspect ratio.
|
|
# Set the line spacing to 7/72 inch (10.29 lines per inch)
|
|
# to get approximately 84 dots per inch vertically
|
|
# (10.29 lines/inch * 8 pins/line equals 82.28 dots per inch).
|
|
# Set the character spacing to pica (1/10 inch or 10 characters
|
|
# per inch); at 70 dots per inch horizontally this means 7
|
|
# dots per character.
|
|
# Set vertical and horizontal tab stops at the upper left corner
|
|
# of the image, then tab to the upper left corner.
|
|
# Note: $<> is a true null (only works with special Curses routine).
|
|
# THIS ASSUMES WE START AT THE TOP OF THE PAGE! (although
|
|
# maybe not in the first column.)
|
|
defbi=%?%p5%{1}%=%t\En^B\E1^R\EB%p2%{8}%/%c$<>\ED%p1%{7}%/%c$<>\013\r\t%;,
|
|
|
|
binel=\n\r\t,
|
|
|
|
bicr=\r\t,
|
|
|
|
use=ibmg+low,
|
|
|
|
#
|
|
# Graphics capabilities (low resolution, 9-pin, 1:1 aspect ratio):
|
|
#
|
|
ibmc+low+1x1,
|
|
|
|
spinh#84,
|
|
|
|
# Set 1:1 aspect ratio.
|
|
# Set the line spacing to 7/72 inch (10.29 lines per inch)
|
|
# to get approximately 84 dots per inch vertically
|
|
# (10.29 lines/inch * 8 pins/line equals 82.28 dots per inch).
|
|
# Set the character spacing to pica (1/10 inch or 10 characters
|
|
# per inch); at 84 dots per inch horizontally this means 8.4
|
|
# dots per character.
|
|
# Set vertical and horizontal tab stops at the upper left corner
|
|
# of the image, then tab to the upper left corner.
|
|
# Note: $<> is a true null (only works with special Curses routine).
|
|
# THIS ASSUMES WE START AT THE TOP OF THE PAGE! (although
|
|
# maybe not in the first column.)
|
|
defbi=%?%p5%{1}%=%t\En^A\E1^R\EB%p2%{8}%/%c$<>\ED%p1%{10}%*%{84}%/%c$<>\013\r\t%;,
|
|
|
|
use=ibmc+low+5x6,
|
|
|
|
#
|
|
# Color capability:
|
|
#
|
|
ibmc+color,
|
|
|
|
colors#3,
|
|
|
|
setcolor=%?%p1%{0}%=%t\Eb%;%?%p1%{1}%=%t\Ec%;%?%p1%{2}%=%t\Em%;%?%p1%{3}%=%t\Ey%;,
|
|
|
|
colornm=%?%p1%{0}%=%tblack%;%?%p1%{1}%=%tcyan%;%?%p1%{2}%=%tmagenta%;%?%p1%{3}%=%tyellow%;%?%p1%{4}%=%torange=yellow+magenta%;%?%p1%{5}%=%tgreen=yellow+cyan%;%?%p1%{6}%=%tviolet=magenta+cyan%;%?%p1%{7}%=%tbrown=magenta+black%;,
|
|
|
|
###################################
|
|
#
|
|
# IBM Proprinter XL:
|
|
#
|
|
# This printer appears to be a superset of the IBM Graphics
|
|
# and IBM Color printers, with a 24-wire printhead. The entry
|
|
# below uses the full capabilities of the superset and printhead.
|
|
# The printer has an Alternate Graphics Mode (AGM) that changes
|
|
# the vertical resolution from 1/216" to 1/180", and the graphics
|
|
# aspect ratio from 5:6 to 1:1. HOWEVER, there does not appear to
|
|
# be a control sequence that switches into this mode--it must be
|
|
# done by hand!
|
|
#
|
|
|
|
#
|
|
# Basic capabilities (printer not in AGM):
|
|
#
|
|
ibmxl+basic,
|
|
|
|
orc#12,
|
|
orhi#120,
|
|
orl#36,
|
|
orvi#216,
|
|
|
|
cub1=\b,
|
|
|
|
cpi=%?%p1%{10}%=%t^R%e%p1%{12}%=%t\E:%e%p1%{17}%=%t^O%;,
|
|
cvr=%?%p1%{0}%>%p1%{256}%<%&%t\E3%p1%c%;,
|
|
|
|
is1=^Q^X,
|
|
is2=^R\EP0\EA\014\E2\EC\102\EO\ER\Eb\E50\EF\EH\EW0\ET\E-0\E_0\E7,
|
|
is3=\EX\001\120,
|
|
|
|
use=ibmg+basic,
|
|
|
|
#
|
|
# Basic capabilities (printer in AGM):
|
|
#
|
|
ibmxlagm+basic,
|
|
|
|
orl#30,
|
|
orvi#180,
|
|
|
|
is2=^R\EP0\EA\012\E2\EC\102\EO\ER\Eb\E50\EF\EH\EW0\ET\E-0\E_0\E7,
|
|
|
|
use=ibmxl+basic,
|
|
|
|
#
|
|
# Graphics capabilities (low resolution, 8-pin, 5:6 aspect ratio):
|
|
#
|
|
ibmxl+low+5x6,
|
|
|
|
spinv#72,
|
|
spinh#60,
|
|
|
|
# Set the line spacing to 8/72 inch (9 lines per inch)
|
|
# to get 72 dots per inch vertically (9 lines/" * 8 pins/line).
|
|
# Set the character spacing to pica (1/10 inch or 10 characters
|
|
# per inch); at 60 dots per inch horizontally this means 6
|
|
# dots per character.
|
|
# Set vertical and horizontal tab stops at the upper left corner
|
|
# of the image, then tab to the upper left corner.
|
|
# Note: $<> is a true null (only works with special Curses routine).
|
|
# THIS ASSUMES WE START AT THE TOP OF THE PAGE! (although
|
|
# maybe not in the first column.)
|
|
defbi=%?%p5%{1}%=%t\EA\010\E2^R\EB%p2%{8}%/%c$<>\ED%p1%{6}%/%c$<>\013\r\t%;,
|
|
|
|
use=ibmc+low+5x6,
|
|
|
|
#
|
|
# Graphics capabilities (low resolution, 8-pin, 1:1 aspect ratio):
|
|
#
|
|
ibmxl+low+1x1,
|
|
|
|
spinv#60,
|
|
|
|
# In AGM the "defbi" cap from ibmxl+low+5x6 will work. The
|
|
# line spacing will be 8/60 inch to get 60 dots per inch, using
|
|
# the same control sequence.
|
|
|
|
use=ibmxl+low+5x6,
|
|
|
|
#
|
|
# Graphics capabilities (high resolution, 24-pin, 5:6 aspect ratio):
|
|
#
|
|
# This doesn't work as the pin spacing doesn't get set to
|
|
# 1/216 inch, but stays at 1/180 inch, even out of AGM.
|
|
#
|
|
|
|
#
|
|
# Graphics capabilities (high resolution, 24-pin, 1:1 aspect ratio):
|
|
#
|
|
ibmxl+high+1x1,
|
|
|
|
npins#24,
|
|
spinv#180,
|
|
spinh#180,
|
|
|
|
porder=1\,2\,3\,4\,5\,6\,7\,8\,9\,10\,11\,12\,13\,14\,15\,16\,17\,18\,19\,20\,21\,22\,23\,24;0,
|
|
|
|
sbim=\E*\047%p1%{256}%m%c%p1%{256}%/%c,
|
|
|
|
# Set the line spacing to 8/60 inch (7.5 lines per inch)
|
|
# to get 180 dots per inch vertically (7.5 lines/" * 24 pins/line).
|
|
# This requires the printer or emulation in Alternate Graphics Mode.
|
|
# Set the character spacing to pica (1/10 inch or 10 characters
|
|
# per inch); at 180 dots per inch horizontally this means 18
|
|
# dots per character.
|
|
# Set vertical and horizontal tab stops at the upper left corner
|
|
# of the image, then tab to the upper left corner.
|
|
# Note: $<> is a true null (only works with special Curses routine).
|
|
# THIS ASSUMES WE START AT THE TOP OF THE PAGE! (although
|
|
# maybe not in the first column.)
|
|
defbi=%?%p5%{1}%=%t\EA\010\E2^R\EB%p2%{24}%/%c$<>\ED%p1%{18}%/%c$<>\013\r\t%;,
|
|
|
|
use=ibmc+low+5x6,
|
|
|
|
######################################################################
|
|
#
|
|
# Specific printers:
|
|
#
|
|
|
|
ibmgraphics|ibmproprinter|proprinter|IBM Graphics printer,
|
|
|
|
use=ibmg+basic, use=ibmg+low,
|
|
|
|
ibmcolor|IBM Color printer; 5:6 aspect ratio,
|
|
|
|
use=ibmc+basic, use=ibmc+low+5x6, use=ibmc+color,
|
|
|
|
ibmcolor-1x1|IBM Color printer; 1:1 aspect ratio,
|
|
|
|
use=ibmc+basic, use=ibmc+low+1x1, use=ibmc+color,
|
|
|
|
ibmxl|IBM Proprinter XL; 5:6 aspect ratio; low resolution,
|
|
|
|
cols#136,
|
|
is3=\EX\001\210,
|
|
use=ibmxl+basic, use=ibmxl+low+5x6, use=ibmc+color,
|
|
|
|
ibmxl-1x1|IBM Proprinter XL in AGM; 1:1 aspect ratio; low resolution,
|
|
|
|
cols#136,
|
|
is3=\EX\001\210,
|
|
use=ibmxlagm+basic, use=ibmxl+low+1x1, use=ibmc+color,
|
|
|
|
ibmxl-1x1-hi|IBM Proprinter XL in AGM; 1:1 aspect ratio; high resolution,
|
|
|
|
cols#136,
|
|
is3=\EX\001\210,
|
|
use=ibmxlagm+basic, use=ibmxl+high+1x1, use=ibmc+color,
|
|
|
|
ibmxl-80|IBM Proprinter XL; 5:6 aspect ratio; low resolution; 80-col,
|
|
|
|
use=ibmxl+basic, use=ibmxl+low+5x6, use=ibmc+color,
|
|
|
|
ibmxl-1x1-80|IBM Proprinter XL in AGM; 1:1 aspect ratio; low res; 80-col,
|
|
|
|
use=ibmxlagm+basic, use=ibmxl+low+1x1, use=ibmc+color,
|
|
|
|
ibmxl-1x1-hi80|IBM Proprinter XL in AGM; 1:1 aspect ratio; high res; 80-col,
|
|
|
|
use=ibmxlagm+basic, use=ibmxl+high+1x1, use=ibmc+color,
|
|
|
|
##############################################################
|
|
#
|
|
# HP plotter:
|
|
#
|
|
|
|
7550|hp7550|HP7550|Hewlett Packard 7550A,
|
|
bufsz#5000,
|
|
is2=\E.@5000;2:\E.I81;;17:\E.N0;19:\E.P;1:\E.(,
|
|
|
|
####################
|
|
####################
|
|
##
|
|
## HP PaintJet:
|
|
##
|
|
## - 16 colors
|
|
## - 90 DPI graphics
|
|
##
|
|
####################
|
|
####################
|
|
|
|
hppaintjet|paintjet|HP PaintJet; 90 DPI graphics (16 colors),
|
|
|
|
##########
|
|
##
|
|
## Printer state/type:
|
|
##
|
|
##########
|
|
|
|
# Automatic right margin: move to column 0 next line
|
|
am,
|
|
|
|
# Hard copy device
|
|
# Printer overstrikes
|
|
# Underline character overstrikes
|
|
hc,
|
|
os,
|
|
ul,
|
|
|
|
|
|
##########
|
|
##
|
|
## Printer capacities:
|
|
##
|
|
##########
|
|
|
|
# Width in columns at default CPI
|
|
# Length of page at default LPI
|
|
cols#80,
|
|
lines#66,
|
|
|
|
# Steps per inch horizontally
|
|
# Steps per inch vertically
|
|
# Steps per column, distance moved after printing (normal mode)
|
|
# Steps per line, distance moved on auto newline (normal mode)
|
|
orhi#180,
|
|
orvi#180,
|
|
orc#18,
|
|
orl#30,
|
|
|
|
# Nominal print rate in characters per second
|
|
# The printer manual claims the following:
|
|
#
|
|
# 16.7 inches/second
|
|
# 167 cps @ 10 CPI
|
|
# 200 cps @ 12 CPI
|
|
# 300 cps @ 18 CPI
|
|
#
|
|
# I chose the smallest value.
|
|
cps#167,
|
|
|
|
# Buffer capacity in characters
|
|
# The printer manual claims the following buffer size:
|
|
#
|
|
# .5 - 8K characters (depending on whether downloadable
|
|
# characters are used.)
|
|
#
|
|
# I chose the smallest value.
|
|
bufsz#512,
|
|
|
|
|
|
##########
|
|
##
|
|
## Printer initialization
|
|
##
|
|
##########
|
|
|
|
# Printer initialization string 2
|
|
# Printer initialization string 3
|
|
is2=\EE\E&k0S\E&l6D\E&l66P\E&l66F\E&k0G\EZ,
|
|
is3=\E&k1W,
|
|
|
|
|
|
##########
|
|
##
|
|
## Carriage motion:
|
|
##
|
|
##########
|
|
|
|
# Carriage return
|
|
# Newline (behaves like cr followed by lf)
|
|
# Page eject
|
|
cr=^M,
|
|
nel=^M^J,
|
|
ff=^L,
|
|
|
|
# The control sequences \E&a...H and \E&a...V use real-world metrics
|
|
# (decipoints, 1/720 inch) not the relative metrics of lines and columns.
|
|
# Since size of a line or column depends on the current pitch settings,
|
|
# we have to adjust these control sequences according to what pitch we've
|
|
# set before. We use the undocumented Terminfo feature of ``static''
|
|
# registers A-Z to keep track of the current CPI and LPI. The registers
|
|
# %gC and %gL contain the values related to the CPI and LPI, respectively,
|
|
# as the following table shows:
|
|
#
|
|
# CPI %gC LPI %gL
|
|
# --- --- --- ---
|
|
# 10 72 6 120
|
|
# 12 60 8 90
|
|
# 18 40 9 80
|
|
#
|
|
# The register values are the 720 divided by the CPI or LPI value.
|
|
#
|
|
# Note: We can't code a "cuu1" nor a "hu", even though the printer
|
|
# is capable of reverse linefeeds, because of this decipoint
|
|
# problem, since "cuu1" and "hu" are not (typically) passed through
|
|
# tparm()! If they don't go through tparm(), the registers aren't
|
|
# expanded.
|
|
#
|
|
# Note: At 180 DPI best resolution (horizontally and vertically),
|
|
# the finest position the printer can resolve is 4 decipoints.
|
|
|
|
# Non-destructive space (carriage right)
|
|
# Move carriage left one space
|
|
# Down one line
|
|
cuf1=\s,
|
|
cub1=^H,
|
|
cud1=^J,
|
|
|
|
# Move carriage right # spaces
|
|
# Move carriage left # spaces
|
|
# Move carriage down # lines
|
|
# Move carriage up # lines
|
|
cuf=\E&a+%p1%?%gC%t%gC%e%{72}%;%*%dH,
|
|
cub=\E&a-%p1%?%gC%t%gC%e%{72}%;%*%dH,
|
|
cud=\E&a+%p1%?%gL%t%gL%e%{120}%;%*%dV,
|
|
cuu=\E&a-%p1%?%gL%t%gL%e%{120}%;%*%dV,
|
|
|
|
# Half-line down (forward 1/2 linefeed)
|
|
hd=\E=,
|
|
|
|
# Horizontal position absolute
|
|
# Vertical position absolute
|
|
hpa=\E&a%p1%?%gC%t%gC%e%{72}%;%*%dH,
|
|
vpa=\E&a%p1%?%gL%t%gL%e%{120}%;%*%dV,
|
|
|
|
# Move 1 step right
|
|
# Move 1 step left
|
|
# Move 1 step down
|
|
# Move 1 step up
|
|
# Move # step right
|
|
# Move # step left
|
|
# Move # step down
|
|
# Move # step up
|
|
mcuf1=\E&a+4H,
|
|
mcub1=\E&a-4H,
|
|
mcud1=\E&a+4V,
|
|
mcuu1=\E&a-4V,
|
|
mcuf=\E&a+%p1%{4}%*%dH,
|
|
mcub=\E&a-%p1%{4}%*%dH,
|
|
mcud=\E&a+%p1%{4}%*%dV,
|
|
mcuu=\E&a-%p1%{4}%*%dV,
|
|
|
|
# Move # steps from the left margin
|
|
# Move # steps from the top margin
|
|
mhpa=\E&a%p1%{4}%*%dH,
|
|
mvpa=\E&a%p1%{4}%*%dV,
|
|
|
|
|
|
##########
|
|
##
|
|
## Attributes:
|
|
##
|
|
##########
|
|
|
|
# Define attributes:
|
|
# standout-1 under-2 rev-3 blink-4 dim-5 bold-6 blank-7 prot-8 acs-9
|
|
# Turn off all attributes
|
|
sgr=%?%p1%p6%|%t\E(s1B\E)s1B%;%?%p2%t\E&dD%;,
|
|
sgr0=\E&d@\E(s0B\E)s0B,
|
|
|
|
# Begin standarout mode
|
|
# End standarout mode
|
|
smso=\E(s1B\E)s1B,
|
|
rmso=\E(s0B\E)s0B,
|
|
|
|
# Turn on bold
|
|
bold=\E(s1B\E)s1B,
|
|
|
|
# Start underscore mode
|
|
# End underscore mode
|
|
smul=\E&dD,
|
|
rmul=\E&d@,
|
|
|
|
|
|
##########
|
|
##
|
|
## Margins/page length:
|
|
##
|
|
##########
|
|
|
|
# Set page length to #1 lines
|
|
slines=\E&l%p1P\E&l%p1F,
|
|
u9=\E&l%p1%dP\E&l%p1%dF,
|
|
|
|
|
|
##########
|
|
##
|
|
## Change CPI and LPI
|
|
##
|
|
##########
|
|
|
|
# Change character pitch
|
|
cpi=%?%p1%{10}%=%t\E&k0S%{72}%PC%e%p1%{12}%=%t\E&k4S%{60}%PC%e%p1%{18}%=%t\E&k2S%{40}%PC%;,
|
|
|
|
# Change line pitch
|
|
lpi=%?%p1%{6}%=%t\E&l6D%{120}%PL%e%p1%{8}%=%t\E&l8D%{90}%PL%e%p1%{9}%=%t\E&l9D%{80}%PL%;,
|
|
|
|
|
|
##########
|
|
##
|
|
## Alternate character sets
|
|
##
|
|
##########
|
|
|
|
# List of character set names
|
|
# Select character set #
|
|
scs=%?%p1%{0}%=%t\E(0U%e%p1%{1}%=%t\E(0D%e%p1%{2}%=%t\E(0N%e%p1%{3}%=%t\E(1E%e%p1%{4}%=%t\E(1F%e%p1%{5}%=%t\E(1G%e%p1%{6}%=%t\E(0I%e%p1%{7}%=%t\E(0S%e%p1%{8}%=%t\E(2S%e%p1%{9}%=%t\E(8U%e%p1%{10}%=%t\E(10U%e%p1%{11}%=%t\E(11U%;,
|
|
csnm=%?%p1%{0}%=%tusascii%e%p1%{1}%=%tnorwegian%e%p1%{2}%=%tecma94%e%p1%{3}%=%tunited_kingdom%e%p1%{4}%=%tfrench%e%p1%{5}%=%tgerman%e%p1%{6}%=%titalian%e%p1%{7}%=%tswedish_names%e%p1%{8}%=%tspanish%e%p1%{9}%=%troman8%e%p1%{10}%=%tpc8%e%p1%{11}%=%tpc8_danish_norwegian%;,
|
|
|
|
|
|
##########
|
|
##
|
|
## Misc.
|
|
##
|
|
##########
|
|
|
|
# Printer uses xon/xoff handshaking
|
|
# X-off character
|
|
# X-on character
|
|
xon,
|
|
xoffc=^S,
|
|
xonc=^Q,
|
|
|
|
|
|
##########
|
|
##
|
|
## Color
|
|
##
|
|
##########
|
|
|
|
# Number of colors in a ribbon/ink-cartridge
|
|
#
|
|
# Note: This is the most colors we can do. An application is
|
|
# free to ask for less (by giving a depth < 4 in the "defbi"
|
|
# string.)
|
|
colors#16,
|
|
|
|
# Map application RGB values into printer RGB values
|
|
#
|
|
# Problem:
|
|
#
|
|
# The PaintJet maps some values of "gray" into pink!
|
|
# Why? Well, mathematically the printer is correct,
|
|
# in that the RGB values for its pink are closest (in the
|
|
# sum of the RGB components squared) to the gray of, for
|
|
# instance, the EGA gray. But pink ain't gray to the eye!
|
|
#
|
|
# Solution:
|
|
#
|
|
# Not as simple as we'd like. Ideally, "gray" means
|
|
# the RGB components have the same values. But this
|
|
# isn't true, for various reasons:
|
|
#
|
|
# - different bits-per-component (e.g. 3 3 2),
|
|
# with round-off error the scaled RGB components
|
|
# may differ
|
|
#
|
|
# - gamma correction, such that the individually tuned
|
|
# RGB components that give a nice gray on some monitor
|
|
# have slightly different values
|
|
#
|
|
# So, we check the RGB components to see if they are "close"
|
|
# to the same value; if so, we compute the closest true gray
|
|
# from the PaintJet palette. This is in essence a gamma correction
|
|
# for the printer (reverse gamma correction? gamma uncorrection?)
|
|
# (Note: In the one place I saw this problem the RGB values
|
|
# differed by 62 units, on a 1000 unit scale! This seems like
|
|
# a large difference to me, and it may not suit your needs.
|
|
# Feel free to play with the value %{63} in the string below.)
|
|
#
|
|
# Obviously, other colors may similarly need corrections. Feel
|
|
# free to play around some more!
|
|
initc=%?%p1%{16}%<%t%?%{-63}%Pn%{63}%Pp%gn%p2%p3%-%<%p2%p3%-%gp%<%&%gn%p2%p4%-%<%p2%p4%-%gp%<%&%&%t%?%p2%{250}%<%t\E*v4A\E*v4B\E*v6C%e%p2%{500}%<%t\E*v15A\E*v16B\E*v18C%e%p2%{750}%<%t\E*v43A\E*v43B\E*v45C%e\E*v90A\E*v88B\E*v85C%;%e\E*v%p2%{86}%*%{1000}%/%{4}%+%dA\E*v%p3%{84}%*%{1000}%/%{4}%+%dB\E*v%p4%{79}%*%{1000}%/%{6}%+%dC%;\E*v%p1%dI%;,
|
|
|
|
|
|
##########
|
|
##
|
|
## Graphics
|
|
##
|
|
##########
|
|
|
|
# Number of ``pins''
|
|
# Spacing of pins vertically in pins per inch
|
|
# Spacing of pins horizontally in pins per inch
|
|
npins#8,
|
|
spinv#90,
|
|
spinh#90,
|
|
|
|
# Matches software bits to pins
|
|
porder=1\,2\,3\,4\,5\,6\,7\,8;0,
|
|
|
|
# Start printing bit image graphics, #1 bits wide
|
|
#
|
|
# The escape sequence to begin a row of raster data
|
|
# is either \E*b#V or \E*b#W, depending on whether this
|
|
# is the first D-1 of D planes or the Dth plane.
|
|
# We use the undocumented Terminfo feature of ``static''
|
|
# registers A-Z to keep track of which plane we are at.
|
|
#
|
|
# Note: Although the HP PaintJet has a data compression scheme,
|
|
# it doesn't fit well into the Terminfo model of "birep". Most
|
|
# problems can be licked (a tricky one that CAN be licked is
|
|
# that only ONE \E*b#V or \E*b#W can be sent per row; the way
|
|
# to do this would be to keep a count of how many pixels have been
|
|
# done by birep/sbim, and put out the \E*b#V or \E*b#W only when
|
|
# that count shows a full row has been put out.) However, the
|
|
# one problem that stops us cold is that the # in the \E*b#V
|
|
# or \E*b#W must be the number of BYTES put out by the mixture
|
|
# of birep/sbim AFTER the \E*b#V or \E*b#W! This number will vary
|
|
# according to the mix of birep and sbim used.
|
|
sbim=%gP%{1}%+%PP\E*b%p1%d%?%gP%gD%=%tW%{0}%PP%eV%;,
|
|
|
|
# Define rectangular bit-image region:
|
|
# x-1 y-2 width-3 height-4 scale-5 depth-6
|
|
# End a bit-image region
|
|
#
|
|
# No scaling. The printer can do either 180 DPI or 90 DPI,
|
|
# but it can do depth > 2 color only at 90 DPI.
|
|
#
|
|
# Note:
|
|
# X (or Y) * 8 == pos in decipoints (8 == 720/90)
|
|
defbi=%?%p5%{1}%=%t\E*b0M\E*r%p6%dU%p6%PD\E*t90R\E&a%p1%{8}%*%dH\E&a%p2%{8}%*%dV\E*r%p3%dS\E*r1A%{0}%PP%;,
|
|
u6=%?%p5%{1}%=%t\E*b0M\E*r%p6%dU%p6%PD\E*t90R\E&a%p1%{8}%*%dH\E&a%p2%{8}%*%dV\E*r%p3%dS\E*r1A%{0}%PP%;,
|
|
endbi=\E*rB,
|
|
u7=\E*rB,
|
|
|
|
# Number of passes for each bit-image row
|
|
bitwin#1,
|
|
u1=1,
|
|
|
|
# Type of bit-image device
|
|
bitype#3,
|
|
u2=3,
|
|
|
|
|
|
####################
|
|
####################
|
|
##
|
|
## HP PaintJet:
|
|
##
|
|
## - 16 colors
|
|
## - 90 DPI graphics
|
|
## - Highly saturated ink, for doing color transparencies
|
|
##
|
|
####################
|
|
####################
|
|
|
|
hppaintjetT|paintjetT|HP PaintJet; 90 DPI graphics (16 colors); for transparencies,
|
|
|
|
is3=\E&k3W,
|
|
use=paintjet,
|
|
|
|
|
|
####################
|
|
####################
|
|
##
|
|
## HP PaintJet:
|
|
##
|
|
## - 8 colors
|
|
## - 180 DPI graphics
|
|
##
|
|
####################
|
|
####################
|
|
|
|
hppaintjet-hi|paintjet-hi|HP PaintJet; 180 DPI graphics (8 colors),
|
|
|
|
##########
|
|
##
|
|
## Graphics capabilities:
|
|
##
|
|
##########
|
|
|
|
spinv#180,
|
|
spinh#180,
|
|
|
|
defbi=%?%p5%{1}%=%t\E*b0M\E*r%p6%dU%p6%PD\E*t%{180}%p5%/%dR\E&a%p1%{4}%*%dH\E&a%p2%{4}%*%dV\E*r%p3%dS\E*r1A%{0}%PP%;,
|
|
u6=%?%p5%{1}%=%t\E*b0M\E*r%p6%dU%p6%PD\E*t%{180}%p5%/%dR\E&a%p1%{4}%*%dH\E&a%p2%{4}%*%dV\E*r%p3%dS\E*r1A%{0}%PP%;,
|
|
|
|
colors#8,
|
|
|
|
initc=%?%p1%{8}%<%t%?%{-63}%Pn%{63}%Pp%gn%p2%p3%-%<%p2%p3%-%gp%<%&%gn%p2%p4%-%<%p2%p4%-%gp%<%&%&%t%?%p2%{250}%<%t\E*v4A\E*v4B\E*v6C%e%p2%{500}%<%t\E*v15A\E*v16B\E*v18C%e%p2%{750}%<%t\E*v43A\E*v43B\E*v45C%e\E*v90A\E*v88B\E*v85C%;%e\E*v%p2%{86}%*%{1000}%/%{4}%+%dA\E*v%p3%{84}%*%{1000}%/%{4}%+%dB\E*v%p4%{79}%*%{1000}%/%{6}%+%dC%;\E*v%p1%dI%;,
|
|
|
|
use=paintjet,
|
|
|
|
####################
|
|
####################
|
|
##
|
|
## HP PaintJet:
|
|
##
|
|
## - 8 colors
|
|
## - 180 DPI graphics
|
|
## - Highly saturated ink, for doing color transparencies
|
|
##
|
|
####################
|
|
####################
|
|
|
|
hppaintjetT-hi|paintjetT-hi|HP PaintJet; 180 DPI graphics (8 colors); for transparencies,
|
|
|
|
is3=\E&k3W,
|
|
use=paintjet-hi,
|