summaryrefslogtreecommitdiff
path: root/Build/source/texk/windvi/doc/windvi.tex
blob: 6b3e09cea40409ff2d047c37b8d98789f54dd861 (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
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
\documentclass[a4paper,11pt]{article}

\advance\textwidth by 1in
\advance\oddsidemargin by -1in
\advance\evensidemargin by -1in
\newsavebox{\warnbox}
\setcounter{tocdepth}{2}
\pretolerance=1000
\tolerance=1500
\hbadness=3000
\vbadness=3000
\hyphenpenalty=400
\renewcommand{\topfraction}{0.85}
\renewcommand{\floatpagefraction}{0.86}
\renewcommand{\textfraction}{0.1}
\setcounter{topnumber}{5}
\setcounter{totalnumber}{5}
\def\eTeX{$\varepsilon$-\TeX}
\def\Dash{---}
\def\hyph{-}
\def\OMEGA{$\Omega$}

\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{url}
\usepackage{mflogo}
\usepackage{array}
\usepackage{moreverb}
\usepackage{longtable}
\usepackage{alltt}
\usepackage{colortbl}
\usepackage{pifont}
\usepackage{xspace}
\usepackage{time}
\usepackage{relsize}

\makeatletter
\newcommand{\acro}[1]{\textsmaller{#1}\@}
\makeatother

\def\MP{MetaPost}
\let\mf\MF

\input{mynames}

\def\WDVI{\textsf{Windvi}}

\begin{document}
\author{Fabrice Popineau\\
\texttt{Fabrice.Popineau@supelec.fr}}
\title{Windvi 0.67 User's Manual}
\date{\today}
\maketitle
\tableofcontents
\section{Introduction}

\subsection{Why another Windows dvi viewer ?}
\begin{quote}
Note that throughout this document, when I say
`Win32', this means Windows 9x and Windows NT.
\end{quote}

There are many previewers for dvi files under Win32. The most popular
is  probably \texttt{Dviwin} by  H. Sendoukas.  However it lacks some
important features:  
\begin{itemize}
\item the ability to  recursively search  directories for font files,
\item the ability to  use .vf files or display PostScript fonts,
\item the ability to  display PostScript images.
\end{itemize}

Unfortunately, the \texttt{Dviwin} sources were never put into the
public domain; on the other side of the fence, \texttt{Xdvi} under
Unix has these features, is widely used and its sources are available.
\texttt{Xdvi(k)} uses the \texttt{kpathsea} library to search
directories, already used in the Web2c-win32 port of \TeX, so there
was some interest in porting \texttt{Xdvi(k)} to Win32.  It turned
out that this was far more than just a port, since X Window is far
from Win32.  All the user interface and the graphical part has been
rewritten.

\subsection{Features}

The most important features of \WDVI{} are as follows:
\begin{itemize}
\item monochrome or grey scale bitmaps (antialiasing) for fonts, 
\item easy navigation through the dvi file
  \begin{itemize}
  \item page by page,
  \item with different increments (by 5 or 10 pages at a time)
  \item goto home, end, or any page within the document,
  \end{itemize}
\item different shrink factors to zoom page in and out,
\item magnifying glass to show the page at the pixel level,
\item use of .vf fonts
\item display .pk .gf font files
\item automatic generation of missing PK files even for PostScript fonts,
\item tracking dvi file changes, and automatic reopening,
\item understanding Omega extended dvi files,
\item drag-and-drop file from the Windows shell explorer,
\item color support (a-la dvips),
\item real-time logging of background font generation,
\item visualization of PostScript inclusions,
\item graphical transformations under NT only,
\item support of Hyper\TeX{} specials,
\item printing support through the unified printer driver.
\end{itemize}

\section{Installation}

\subsection{The home of Windvi}

Windvi is part of the \fptex distribution, which is itself based on
\tetex and \webc.

You will find the whole \fptex distribution on any CTAN archive, for example:

\url{ftp://ftp.tex.ac.uk/pub/tex/systems/win32/fptex}

Beta versions of \fptex and other tools are available from:

\url{ftp://ftp.ese-metz.fr/pub/tex/win32-beta}

If you want to retrieve only the windvi distribution, you should get:

\url{ftp://ftp.tex.ac.uk/pub/tex/systems/win32/fptex/windvi.zip}
for the standalone released version;

\url{ftp://ftp.ese-metz.fr/pub/tex/win32-beta/windvixx.zip}
for beta versions, xx being always as high as possible.

Announcements of beta version are made through the fptex
mailing-list.  Subscriptions can be sent to
\url{mailto:majordomo@tug.org}.  Send a message whose body is
'subscribe fptex' to subscribe. The list address is 'fptex@tug.org'.

\subsection{Unpacking}

Assuming you have retrieved one of the \texttt{windvixx.zip} files, you will
have to unpack it at the \texttt{<root>} of some TDS conformant texmf
tree like this one:


\begin{verbatim}
     <root>/bin/win32
           /texmf/
                    /dvips
                    /tex
                         /latex
                    /web2c
\end{verbatim}

\begin{itemize}
\item \texttt{owindvi.exe}, \texttt{windvi.exe}, 
 \texttt{mktex*.exe} and \texttt{gsftopk.exe} go to
  \texttt{bin/win32}
\item   \texttt{render.ps} (used by gsftopk) goes to \texttt{texmf/dvips}
\item   \texttt{texmf.cnf} and \texttt{mktex.cnf} go to \texttt{texmf/web2c}.
\end{itemize}

In order not to overwrite the texmf.cnf and mktex.cnf files of people
who are already using Web2C for win32, those files are distributed as
texmf.xam and mktex.xam. You must rename them if you don't already
have .cnf files.

Next, add \verb|<root>\bin\win32| to your \texttt{PATH}. This is
done by modifying \texttt{autoexec.bat} under Windows 9x or the
Control Panel/System under NT/W2K.

\subsection{Configuration}

If you have respected the previous layout for the tree, ie the
relative position of \texttt{windvi.exe} with respect to the texmf
directory, you should not have anything more to configure than update
your PATH environment variable.

If you want to use \texttt{windvi.exe} in another context, you may need to
set the TEXMFMAIN and / or TEXMFCNF environment variable. TEXMFMAIN must
point to the texmf directory and TEXMFCNF to the directory containing
texmf.cnf.

\subsection{Generation of PK files}

The generation of PK files is under control of the \kpathsea{} library
through the use of \texttt{mktexpk.exe}. You can choose the destination for
generated files --- the scheme is explained in detail in the
\kpathsea{} documentation.

The main points are:
\begin{itemize}
\item any generated file will go in the same texmf tree as the one in
which the font source has been found,
\item if the source directory is not writable, the directory named by
VARTEXFONTS will be used, so you had better set this variable to something
meaningful in texmf.cnf
\item MT\_FEATURES can be set either in mktex.cnf or in your environment to
control the naming of generated files: you can add 'dosnames',
'nomode', 'stripsupplier', 'striptypeface', 'fontmaps' and 'varfonts'
to the features. Feel free to experiment with them by setting
MT\_FEATURES in the environment and checking with 'mktexnam cmr10' for
the result you want.
\end{itemize}

\subsection{Type1 fonts}

In order to use \texttt{gsftopk.exe} to generate PK files for Type1 fonts, you
will need to install Ghostscript. Ghostscript is used in the background
for computing the bitmaps. See section~\ref{gs-install} about
Ghostscript installation.

After that, \WDVI{} should be able to generate PK files for your Type1
fonts, providing you have the corresponding vf and tfm  files. It is
however wise to try \texttt{mktexnam.exe} on some of your fonts
(\texttt{'mktexnam ptmr8r'} for example) to check that the fonts will
be put at the right place.

\subsection{PostScript\TM\ inclusions}

\WDVI\ is able to display some PostScript\TM\ inclusions, thanks to
Ghostscript. What is understood~:
\begin{itemize}
\item \texttt{graphics} bundle from \LaTeX2e,
\item \texttt{psfig} inclusions,
\item some raw PostScript\TM\ like the \texttt{pspicture} package.
\end{itemize}

The \texttt{bop / eop} mechanism  is not (yet) supported, so do  not
expect the \texttt{draft} package to  display anything. Also, not  all
material is processed by Ghostscript, so  rotated text will not appear
so when displayed.

For performance reasons, the  magnifying glass will  not render your ps
inclusions.

See section~\ref{gs-install} about Ghostscript installation.

\section{Quick startup}

Create a shortcut to \WDVI{} on your desktop:
\begin{itemize}
\item click right button on the desktop,
\item New Shortcut,
\item browse and find \texttt{windvi.exe}
\item OK.
\end{itemize}

Next, explore your computer, drag and drop some dvi file onto the
\WDVI{} icon. If everything goes well, \WDVI{}
will open your dvi file and choose a suitable shrink factor for the
page to be fully displayed.

\subsection{Hyper\TeX{} support}

\WDVI\ will handle specials inserted by packages such as
\emph{hyperref} by Sebastian Rahtz. This means that you will be able
to navigate inisde (and outside !) your document, much like with your
usual browser.

Hyperlinks are automatically hilighted. The behaviour is modified in
the following way~:
\begin{itemize}
\item clicking on mouse left will move to the page the link is
  pointing to. That means if it is inside your document, the page
  pointed is displayed. If it is in another dvi file, this file is
  opened and the page displayed. If the link references anything else
  than a dvi file, the \textsl{Windows} shell is called to handle the
  reference. That means such an url as
  \url{mailto:fabrice.popineau@supelec.fr} will probably launch
  \textsl{Outlook Express} or whatever is your default mail tool.
\item  clicking on control  plus mouse left  will  do the same, except
  that if the  link points to another dvi  file, your current dvi file
  will stay open, and another windvi will display the new file. If you
  are running  in single-instance  mode, there  will be  no difference
  between using control and not using it.
\item there is a \emph{back} icon tool to go back through the
  hyperlinks list you have browsed.
\end{itemize}

\section{Reference guide}

\subsection{Settings}

Current  settings are  saved   each time  you  quit   in a
\texttt{windvi.cnf}  file.  This     file  is  located  under    the
\textsf{HOME} directory  if  this  environment variable  is  set, or
under \verb|c:\| otherwise.
  
You   can have  a  site-wide  \texttt{windvi.cnf}  file
located  in  \texttt{\$TEXMFCNF/windvi.cnf}. This file will  be read
before  the   user   one and   settings will be  merged.  

\subsection{Logging}

Any error or informational message will  make the log window pop
up. Font generation and so on is displayed in real-time.

There is no way currently to avoid the pop-up feature.

\subsection{Features}

\subsubsection{General features}

All the features of \WDVI{} are documented in this
\href{file://examples/wtest.tex}{sample file}. You are encouraged to
look at it.

\subsubsection{Postscript inclusions}

\WDVI{} will allow you to preview many PostScript inclusions,
including raw PostScript specials. See the \texttt{Examples/wtest.tex} 
file for examples. The \texttt{bop / eop} feature found in dvips is
not yet supported.

Most of the features available are described in the document
\texttt{Examples/wtest.tex}.

However, there is a drawback. The ghostscript interpreter will allow
the whole page at the requested scaling factor to do its job. That
means a color page on a 24bits device, A4 size at 600dpi will be as
huge as 34Mb. This is enough to make your W9x crash. NT won't crash
but will slow down a lot and may become unusable.

Eventually, PostScript visualization will be turned off automatically
if it is detected that ghostscript will use too much memory.

\subsubsection{Colors}

\WDVI{} will honor color specials as introduced either by
\texttt{colordvi} (plain \TeX{}) or \texttt{color} package (\LaTeX{}).

However, it is recommended to use this feature on true color
devices. That means at least 32768 colors available.

On 256 colors devices, no antialiasing is done for color
text. Moreover, the rendering maybe wrong because of the low number of 
colors available.

\subsection{Printing}

Currently, printing works provided that you used the right command
line options to run windvi. The options needed are the metafont mode
for your printer and the base dpi number. Once you have run it with
the right parameters, they will be saved in your \path|windvi.cnf|
file so no need to bother for them again, unless you change your
printer. For example :
\begin{verbatim}
windvi -p 720 -mfmode esphi foo.dvi
\end{verbatim}
will allow you to print at 720dpi on an Epson Stylus printer.

The file holding the modes is \path|texmf/metafont/misc/modes.mf| and
if you ever change it, you might want to rebuild your \mf formats
using \path|fmtutil|.

This will be made obsolete (or almost) by the forthcoming support for
Type1 and TTF fonts.

\subsection{Command line options}

\begin{description}
\item [+<page>] Specifies the first page to show.  If \texttt{+} is
  given without a number, the last page is assumed; the first page is
  the default.
\item[-allowshell] This option enables the shell escape in PostScript specials.
(For security reasons, shell escapes are disabled by default.)
This option should be rarely used; in particular it should not be used just
to uncompress files: that function is done automatically if the file name
ends in \verb|.Z| or \verb|.gz| . Shell escapes are always turned off if the
\verb|-safer| option is used.
\item[-altfont <font>] Declares a default font to use when the font in
  the dvi file cannot be found.  This is useful, for example, with
  PostScript fonts.  Defaults to \texttt{cmr10}
\item[-background <color>] uses \texttt{<color>} as background color
\item[-bg <color>] same as \texttt{-background} 
\item[-debug <bitmask>]If nonzero, prints additional information on
  standard output.  The number is taken as a set of independent bits.
  The meaning of each bit follows. 1=bitmaps; 2=dvi translation; 4=pk
  reading; 8=batch operation; 16=events; 32=file opening;
  64=PostScript communication; 128=Kpathsea stat(2) calls;
  256=Kpathsea hash table lookups; 512=Kpathsea path definitions;
  1024=Kpathsea path expansion; 2048=Kpathsea searches.  To trace
  everything having to do with file searching and opening, use 4000.
  Some of these debugging options are actually provided by Kpathsea.
  See the `Debugging' section in the Kpathsea manual.
  
\item[-density <density>] Determines the density used when shrinking
  bitmaps for fonts.  A higher value produces a lighter font.  The
  default value is 40.  For monochrome displays; for color displays,
  use -gamma.  See also the `S' keystroke. Same as \texttt{-S}.
\item[-foreground <color>] Uses \texttt{<color>} as foreground color
\item[-fg <color>] same as \texttt{-foreground} 
\item[-gamma <gamma>]   Controls the interpolation  of  colors  in the
  greyscale anti-aliasing color palette.  Default  value is 1.0.   For
  $0  < $  gamma $ <   1$, the fonts will  be  lighter (more  like the
  background), and for gamma  $ > 1$, the  fonts will be  darker (more
  like the foreground).  Negative values behave the  same way, but use
  a slightly different   algorithm. For color and  grayscale displays;
  for monochrome, see -density. For color  and greyscale displays; for
  monochrome, see \texttt{-density}. See also the `S' keystroke.
\item[-geometry <string>] Specifies an initial X-Window geometry string.
\item[-grid1 <color>] Determines the color of level 1 grid (default as
  foreground)
\item[-grid2 <color>] Determines the color of level 2 grid (default as
  foreground)
\item[-grid3 <color>] Determines the color of level 3 grid (default as
  foreground)
\item[-gspalette <palette>] Specifies the palette to be used when using Ghostscript for rendering
PostScript specials.  Possible values are
\begin{itemize}
\item Color,
\item Greyscale,
\item Monochrome.
\end{itemize}
The default is Color.
\item[-gsalpha]  Causes Ghostscript  to  be called with  anti-aliasing
  enabled   in  PostScript figures,  for  a  nicer  appearance.  It is
  available on newer versions of Ghostscript.
\item[-hush] Causes \WDVI{} to suppress all suppressible warnings.
\item[-hushchars] Causes \WDVI{} to suppress warnings about references
  to characters which are not defined in the font.
\item[-hushchecksums] Causes \WDVI{} to suppress warnings about
  checksum mismatches between the dvi file and the font file.
\item[-hushspecials] Causes \WDVI{} to suppress warnings about
  \texttt{special} strings that it cannot process.
\item[-keep] Sets a flag to indicate that \WDVI{} should not move to the home
  position when moving to a new page.  See also the `k' keystroke.
\item[-margins <dimen>]  This determines the  ``home'' position of the
  page within the window  as follows.  If the  entire page fits in the
  window, then  the margin   settings are  ignored.  If,   even  after
  removing the margins from the left, right, top, and bottom, the page
  still cannot fit  in the window, then the  page is put in the window
  such that the top  and left margins are  hidden, and presumably  the
  upper left-hand corner of the text on the page  will be in the upper
  left-hand corner of the window.  Otherwise,  the text is centered in
  the   window.  The dimension  should  be a decimal number optionally
  followed  by any of the two-letter  abbreviations for units accepted
  by    (pt, pc,   in,   bp,  cm,  mm,  dd,   cc  or  sp).    See also
  \texttt{-sidemargin}, \texttt{-topmargin} , and the keystroke ` M .'
\item[-mfmode  <mode-def>] Specifies  a \emph{mode-def} string,  which
  can be used in  searching for fonts.   Generally, when changing  the
  mode-def, it  is  also necessary to  change  the  font size  to  the
  appropriate value for that mode.  This is done by adding a colon and
  the  value in  dots  per     inch; for example,      \texttt{-mfmode
    ljfour:600}.    This method  overrides  any   value given by   the
  \texttt{-p} command-line argument.  The metafont mode is also passed
  to \MF{} during  automatic creation  of fonts.   By default, it   is
  \texttt{ljfour:600}
\item[-mgs <size>] Same as \texttt{-mgs1} .
\item[-mgs[n] <size>] Specifies the size of the window to be used for
  the ``magnifying glass'' for Button n . The size may be given as an
  integer (indicating that the magnifying glass is to be square), or
  it may be given in the form width $\times$ height.  Defaults are
  200$\times$150, 400$\times$250, 700$\times$500, 1000$\times$800, and
  1200$\times$1200.
\item[-nogrey] Turns off  the use   of greyscale anti-aliasing    when
  printing shrunken  bitmaps.   (For  this  option, the  logic  of the
  corresponding resource  is reversed: \texttt{-nogrey} corresponds to
  \texttt{grey:off} and  \texttt{+nogrey} to \texttt{grey:on} See also
  the `G' keystroke.
\item[-nomakepk] Turns off automatic generation of font files that
  cannot be found by other means.
\item[-nopostscript] Turns off rendering of PostScript\TM\ specials.  
Bounding boxes, if known, will be displayed instead.  
This option can also be toggled with the ` v ' keystroke.
\item[-noscan] Normally, when PostScript\TM\ is turned on,
\WDVI\ will do a preliminary scan of the dvi
file, in order to send any necessary header files before sending the
PostScript code that requires them.  This option turns off such prescanning.
(It will be automatically be turned back on if
\WDVI\
detects any specials that require headers.) 
\item[-offsets] Specifies the size of both the horizontal and vertical
  offsets of the output on the page.  This should be a decimal number
  optionally followed by `` cm '', e.g. , 1.5 or 3cm , giving a
  measurement in inches or centimeters.  By decree of the Stanford
  \TeX\ Project, the default \TeX{} page origin is always 1 inch
  over and down from the top-left page corner, even when non-American
  paper sizes are used.  Therefore, the default offsets are 1.0 inch.
  See also \texttt{-xoffset} and \texttt{-yoffset} .
\item[-p <dpi>] Defines the size of the fonts to use, in pixels per
  inch.  The default value is 600.
\item[-qpaper <papertype>] Specifies the size of the printed page.
  This may be of the form \emph{width}$\times$\emph{height} (or
  \emph{width}$\times$\emph{height}cm), where width is the width in
  inches (or cm) and height is the height in inches (or cm),
  respectively.  There are also synonyms which may be used: us
  (8.5x11), usr (11x8.5), legal (8.5x14), foolscap (13.5x17), as well
  as the ISO sizes a1 - a7 , b1 - b7 , c1 - c7 , a1r - a7r ( a1 -
  a7rotated), etc.  The default size is 21 x 29.7 cm.
\item[-rv] Causes the page to be displayed with white characters on a
  black background, instead of vice versa.
\item[-s <shrinkfactor>] Defines the initial shrink factor.  The
  default value is to choose en appropriate factor.
\item[-S <density>] Same as -density, q.v.
\item[-sidemargin <dimen>] Specifies the side margin (see
  \texttt{-margins}).
\item[-topmargin <dimen>] Specifies the top and bottom margins (see
  \texttt{-margins}).
\item[-version] Displays the version number and exits.
\item[-xoffset <dimen>] Specifies the size of the horizontal offset of
  the output on the page. See \texttt{-offsets} .
\item[-yoffset <dimen>] Specifies the size of the vertical offset of
  the output on the page. See \texttt{-offsets} .
\item[-xform] Turns on graphical transformations, which allows to
  apply any transformation to glyph boxes.
\end{description}

\subsection{Mouse}
\begin{description}
\item[left button] pops up the small magnifying glass, as long as the
  button is down. 
\item[middle button] pops up the medium magnifying glass, as long as the
  button is down.
\item[right button] pops up the big magnifying glass, as long as the
  button is down.
\item[Shift + left button] change the arrow cursor for a crossbar
  cursor and enter 'setting home position' mode. Home position is set
  when the button is released. Usefule with the 'Keep Home' feature.
\end{description}
\subsection{Shortcut keys}

\begin{description}
\item[Home, '\textasciicircum'] goto the upper left corner of the
  page. If margins are active, use them.
\item[Next, 'n', Enter] goto next page.
\item[Prior, 'b', Backspace] goto previous page.
\item[Ctrl-Home, Ctrl-End] goto first (resp. last) page.
\item[Numpad +, Numpad -] zoom in (resp. out).
\item[Arrow keys, 'l', 'r', 'u', 'd'] move in the corresponding
  direction (left, right, up, down).
\item['k'] Normally when \WDVI{} switches pages, it moves to the home
  position as well.  The ` k ' keystroke toggles a `keep-position'
  flag which, when set, will keep the same position when moving
  between pages.
\item['M'] set margins at the cursor.
\item['t'] change tick units (cursor position).
\end{description}

\section{Ghostscript installation}
\label{gs-install}

Statring  with Ghostscript 5.50 and  \fptex 0.4 (as  on the \texlive 5
\cdrom), no specific Ghostscript   installation should be  needed. All
the  tools are linked  to  some library  that knows where  to look for
Ghostscript in the registry.

In doubt or in case of trouble, try to set your PATH so that gsdll32.dll be
found:
\begin{verbatim}
PATH=c:\\gstools\\gs5.50;\%PATH\%
\end{verbatim}

If you encounter error messages like:
\begin{verbatim}
Aladdin Ghostscript: Can't find initialization file gs_init.ps.
gsdll_init returns 255
\end{verbatim}
or  something about  font   not found, it   is  more than  likely that
Ghostscript has been installed in a strange way. You can solve this by
telling Ghostscript explicitely where its files are located:
\begin{verbatim}
 set GS_LIB=c:\gstools\gs5.50;c:\gstools\fonts
\end{verbatim}

Also : make sure to have only one version of Ghostscript
installed. Version 5.50 can't work with initialization files of
version 5.10 for example.

Also beware that if you are running any version of \path|gsftopk|
older than 0.19.1 and you have upgraded Ghostscript to version 6.0 or
later, then \path|gsftopk| will fail to build fonts.

\section{FAQ}

\begin{enumerate}
\item \textbf{\WDVI{} opens and closes immediately.}
You should check your installation:
\begin{itemize}
\item did you rename the .xam files into .cnf files ?
\item have you .cnf files ?
\item what \texttt{mktexnam cmr10} does report ?
\item in case of trouble, do the following:
\begin{verbatim}
set KPATHSEA_DEBUG_OUTPUT=err.log
mktexnam --debug=1536 cmr10
\end{verbatim}
and send the \texttt{err.log} file to \url{mailto:Fabrice.Popineau@supelec.fr}
\end{itemize}

\item \textbf{\WDVI{} is stuck with the hour glass cursor, displaying
    some font name in the status bar.}  Currently, when kpathsea is
  generating fonts, \WDVI{} is blocked.  You can't see any progress
  status. This is because \texttt{kpathsea}-based programs are
  inherently console mode programs and \texttt{\WDVI{}} is a GUI
  program. If it takes too long time and the status bar doesn't
  change, there is the chance of an improper installation. Check with
  the previous question. In this case, you will need to kill \WDVI{}
  by hand, and any process named \texttt{mf.exe} or
  \texttt{mktexpk.exe} too.
\item In any case, check in the \texttt{Help -> View Log File} window
  for any strange messages and report them.
\item \textbf{I'm using MiKTeX. Can I use \WDVI{} ?} Yes. But even if
  the layout tree for MiKTeX is TDS-conformant, it is not quite the
  same as the layout for Web2C. This is what Jody Klymak
  \url{mailto:jklymak@apl.washington.edu} did~:

  \begin{quotation}
    I  got windvi running under Windows  NT using the following steps. 
    I'm sure the steps are very similar on a  Win95 machine.  They are
    essentially the same a Fabrice's instructions.  It seems to handle
    fonts  correctly.  If anyone has  a  better way  to do  it, let me
    know.  I'm no NT wiz.

    Cheers,  Jody

    *******************************************************************

    Installing windvi under MikTeX under WinNT 4.0
    Assuming you are set up like I am:

    MikTeX in  \verb|c:\texmf|
    and GSTools in  \verb|c:\gstools|

    \begin{itemize}
    \item Make a directory \verb|c:\texmf\windvi| 
    \item unpack windvi.zip in this directory
    \item Put *.exe in \verb|c:\texmf\miktex\bin|
    \item Put \verb|render.ps| in \verb|c:\texmf\dvips|
    \item Under the system control panel click the \textsl{Environment
        tab} and add:
\begin{verbatim}
      TEXMFCNF c:\texmf\windvi
      TEXMFMAIN c:\texmf 
      path c:\gstools\gs5.10 
      GS_LIB c:\gstools\gs5.10;c:\gstools\gs5.10\fonts 
\end{verbatim}
    \item Edit \verb|c:\texmf\windvi\texmf.cnf|
      \begin{itemize}
      \item change \verb|TEXMFMAIN = c:/texmf|
      \item change \verb|VARTEXFONTS = c:/texmf/fonts|
    \end{itemize}
\end{itemize}
  \end{quotation}

Read carefully the kpathsea documentation, and try your settings with
the \texttt{mktexnam.exe} and \texttt{kpsewhich.exe} programs.
Report any settings needed to enhance this FAQ section.

\item \textbf{How do I stop \WDVI{} to randomly access my floppy drive 
    ? } Check the following url
  \url{http://www.annoyances.org/win95/win95ann6.html}. This is
  probably caused by some kind of anti-virus program. Try to disable
  it.

\end{enumerate}

\section{Known bugs and TODO list}

\begin{itemize}
\item \WDVI{} is uninterruptible during font loading;
\item \verb+\pagecolor{}+ is not honoured if there are PostScript
  inclusions in the page;
\item The first PostScript inclusion is not drawn, the page has to be
  redrawn once, next everything is fine; 
\item We need to add more support for `specials';
\item There are probably some other bugs left.
\end{itemize}

\appendix

\newpage
\section{Color naming}

You can use `rgb:/rr/gg/bb/' where rr, gg and bb are the hexadecimal
(00-FF) intensities of red, green and blue component, or any of the
following symbolic names :

\begin{tabular}{llll} \hline
snow            & MidnightBlue     & MediumSpringGreen       & red              \\
GhostWhite      & navy             & GreenYellow             & HotPink          \\
WhiteSmoke      & NavyBlue         & LimeGreen               & DeepPink         \\
gainsboro       & CornflowerBlue   & YellowGreen             & pink             \\
FloralWhite     & DarkSlateBlue    & ForestGreen             & LightPink        \\
OldLace         & SlateBlue        & OliveDrab               & PaleVioletRed    \\
linen           & MediumSlateBlue  & DarkKhaki               & maroon           \\
AntiqueWhite    & LightSlateBlue   & khaki                   & MediumVioletRed  \\
PapayaWhip      & MediumBlue       & PaleGoldenrod           & VioletRed        \\
BlanchedAlmond  & RoyalBlue        & LightGoldenrodYellow    & magenta          \\
bisque          & blue             & LightYellow             & violet           \\
PeachPuff       & DodgerBlue       & yellow                  & plum             \\
NavajoWhite     & DeepSkyBlue      & gold                    & orchid           \\
moccasin        & SkyBlue          & LightGoldenrod          & MediumOrchid     \\
cornsilk        & LightSkyBlue     & goldenrod               & DarkOrchid       \\
ivory           & SteelBlue        & DarkGoldenrod           & DarkViolet       \\
LemonChiffon    & LightSteelBlue   & RosyBrown               & BlueViolet       \\
seashell        & LightBlue        & IndianRed               & purple           \\
honeydew        & PowderBlue       & SaddleBrown             & MediumPurple     \\
MintCream       & PaleTurquoise    & sienna                  & thistle          \\
azure           & DarkTurquoise    & peru                    & gray0            \\
AliceBlue       & MediumTurquoise  & burlywood               & grey0            \\
lavender        & turquoise        & beige                   & DarkGrey         \\
LavenderBlush   & cyan             & wheat                   & DarkGray         \\
MistyRose       & LightCyan        & SandyBrown              & DarkBlue         \\
white           & CadetBlue        & tan                     & DarkCyan         \\
black           & MediumAquamarine & chocolate               & DarkMagenta      \\
DarkSlateGray   & aquamarine       & firebrick               & DarkRed          \\
DarkSlateGrey   & DarkGreen        & brown                   & LightGreen       \\
DimGray         & DarkOliveGreen   & DarkSalmon              &                  \\
DimGrey         & DarkSeaGreen     & salmon                  &                  \\
SlateGray       & SeaGreen         & LightSalmon             &                  \\
SlateGrey       & MediumSeaGreen   & orange                  &                  \\
LightSlateGray  & LightSeaGreen    & DarkOrange              &                  \\
LightSlateGrey  & PaleGreen        & coral                   &                  \\
gray            & SpringGreen      & LightCoral              &                  \\
grey            & LawnGreen        & tomato                  &                  \\
LightGrey       & green            & OrangeRed               &                  \\
LightGray       & chartreuse       & red                     &                  \\
\hline     
\end{tabular}

\end{document}