1
0
Files
irix-657m-src/eoe/lib/terminfo/print.ti
2022-09-29 17:59:04 +03:00

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,