summaryrefslogtreecommitdiff
path: root/dviware/umddvi/man/dvidmd.1
blob: df5f293801bbffe75805093ae3f89f42c2df0787 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
.TH DVIDMD 1
.SH NAME
dvidmd \- DVI previewer for DMD 5620 display
.SH SYNOPSIS
.B
dvidmd [-x] [-m mag] [-R res] [-d drift] [-X xoffset] [-Y yoffset] [file]
.SH DESCRIPTION
.I dvidmd
is used to display DVI files on the 5620 DMD terminal.
DVI files are generated by programs such as TeX and LaTeX.
.PP
Like all DMD applications,
.I dvidmd
is really two separate programs, one of which runs in the host
and the other which runs in the terminal.  For
.I dvidmd ,
the host program's main job is to interpret DVI commands and
read files that contain font information.  The slave's main job
is to handle display operations such as copying character
rasters to the correct positions on the screen.
.PP
When the host program is started, it will check if the slave
program is already running in that terminal window.  If the slave
program is not running, it will automatically be downloaded into
that window by the host program.  While the download is in progress,
a coffee-cup cursor will appear in that window.
.LP
.B "Host Program Options"
.PP
The host program supports a variety of options:
.TP 10
-x
Cause the
.I dvidmd
slave program to exit
once the host program has finished.  By default the slave program
switches to terminal emulation mode (see below).
.TP 10
-m mag
Explicitly magnify the image by the specified amount.  A typically
value might be 1.2, corresponding to \emagstep1 in TeX.
.TP 10
-R \fIres\fP
Specify the assumed output resolution of the DMD display.  This
value defaults to 118 dots per inch.  Although this is not the
actual resolution of the DMD 5620, it is a standard
resolution that font files are distributed for in the TeX
distribution.  Other reasonable device resolutions (disk space
permitting) are 200 and 300 dots per inch, which in effect
magnify the image a corresponding amount.
.TP 10
-d \fIdrift\fP
A spacing parameter used in setting type on the display.  The
default value is generally fine.
.TP 10
-X \fIxoffset\fP
Specify the horizontal offset in tenths of an inch.
.TP 10
-Y \fIyoffset\fP
Specify the vertical offset in tenths of an inch.
.LP
If no
.I file
argument is specified then the host program exits, but only after
loading the slave program if necessary.
.LP
.B "Slave Emulation Modes"
.PP
The slave program can be in one of two modes:  typesetter emulation
mode and terminal emulation mode.  Typesetter emulation mode
is used by the
.I dvidmd
host program to display DVI files; it allows arbitrary glyphs to
be displayed anywhere on the screen.
.PP
Terminal emulation mode
can be used by arbitrary programs to interact with the user;
this mode uses the default terminal font for its display.
However, only a few escape sequences are interpreted by
the terminal emulator, so it can only be used by programs
that work properly on ``dumb'' terminals.  In particular,
a screen editor such as
.IR vi (1)
will not work properly in terminal emulation mode; use another
window for these more sophisticated programs.
.PP
Note that glyphs downloaded by the
.I dvidmd
host program in typesetter mode are saved by the slave program in
terminal memory.  Therefore, future runs of
.I dvidmd
(in the same window) run much faster since they need not reload the
(rather large) raster data.
.LP
.B "Page Commands"
.PP
When the slave program is in typesetter emulation mode, it will display
data until it receives an end of page command.  At this point it will
change the cursor to a "CMD" prompt and wait for input from the user.
If the user holds down mouse button 3, a menu will appear with various
choices:
.TP 10
\fBredraw\fP
Redraw the current screen, resetting the origin to the upper left hand
corner of the page.
.TP 10
\fBnext\fP
Display the next screen-full of data.
If the bottom of the page is currently being displayed,
the next page of data is requested from the host program.
.TP 10
\fBprev\fP
Display the previous screen-full of data.
If the top of the page is currently being displayed,
the previous page of data is requested from the host program.
.TP 10
\fBquit\fP
Cause the slave program to leave the typesetter emulation mode and enter
the terminal emulation mode.  Choose this option if you plan to run
.I dvidmd
again.
.TP 10
\fPexit\fP
Causes the slave program to exit.  The default DMD 5620 terminal emulator
is reloaded into the window.  All glyphs downloaded into the terminal
are freed.
.LP
Alternatively, you can invoke the above paging commands by typing
the first letter of the command name.  So, for example, type `p'
for previous, `n' for next, and `q' for quit.  In addition, the
following character commands are also available:
.TP 10
\fB+\fP or \fB<RET>\fP
Request the next page of data from the host program, resetting the
origin to the upper left hand corner of the page.
.TP 10
\fB-\fP
Request the previous page of data from the host program, resetting the
origin to the upper left hand corner of the page.
.TP 10
\fB<SPACE>\fP
Another way of typing the next command.
.TP 10
\fB^L\fP
Another way of typing the redraw command.
.LP
.B "Scrolling Commands"
.PP
At the end of page, the user can scroll the display by moving the mouse
cursor into the scrolling area.  The scrolling area is along the left
and bottom edges of the screen, and its edges are marked by small segments
in the corners of the display.  When the mouse is positioned in the scrolling
area, the mouse cursor will change into a cross-hair shape.
.PP
For vertical scrolling, position the mouse in the left scroll bar (between
the two horizontal marks at the top and bottom of the screen).
Clicking button 1 in the left scroll bar will
bring the line at the current mouse position to the top of the window,
while clicking button 3 will bring the line at the top of the
screen down to the current mouse position.  Thus these two buttons
function as inverses of each other.
.PP
For horizontal scrolling, position the mouse in the bottom scroll bar,
and then use button 1 to bring the current mouse position
to the left edge of the screen.  As expected, button 3 performs the
inverse operation:  it brings the left edge of the screen to the current
mouse position.
.PP
If the mouse is positioned in the scroll ``box'' in the lower left corner
of the screen, clicking button 1 will advance to the next screen,
clicking button 2 will redraw the screen, and clicking button 3 will go
back to the previous screen.
.SH "SEE ALSO
tex(1), tpic(1)
.SH FILES
/usr/local/bin/dvidmd.j \- layers slave program
.br
/usr/local/bin/dvidmd.m \- host slave program
.SH BUGS
The scrolling interface needs some work and is too slow.
.br
The terminal emulation mode needs to support more escape sequences.
.br
More graphics commands should be interpreted.  Right now only the
.IR tpic (1)
primitives are supported.