Windvi User's Manual

Fabrice Popineau
Fabrice.Popineau@supelec.fr

March 1998
1 Introduction
   1.1 Why another Windows dvi viewer ?
   1.2 Features
2 Installation
   2.1 The home of Windvi
   2.2 Unpacking
   2.3 Configuration
   2.4 Generation of PK files
   2.5 Type1 fonts
3 Quick startup
4 Reference guide
   4.1 Command line options
   4.2 Shortcut keys
5 FAQ
6 Known bugs and TODO list
A Color naming

1 Introduction

1.1 Why another Windows dvi viewer ?

Note that throughout this document, when I say `Win32', this means Windows 9x and Windows NT.

There are many previewers for dvi files under Win32. The most popular is probably Dviwin by H. Sendoukas. However it lacks some important features:

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

For the future, when the base functionality of Xdvi(k) is available and stable under Win32, we can expect to add the interesting features of Dviwin to Windvi.

1.2 Features

The most important features of Windvi are as follows:

2 Installation

2.1 The home of Windvi

Windvi is part of the Web2c package for win32. You will find the whole Web2C package on any CTAN archive, for example:

ftp://ftp.tex.ac.uk/pub/tex/systems/win32/web2c

Beta versions of Web2C for Win32 are available from:

ftp://ftp.ese-metz.fr/pub/TeX/win32-beta

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

ftp://ftp.tex.ac.uk/pub/tex/systems/win32/web2c/windvixx.zip for the standalone released version;

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 texk-win32 mailing-list. Subscriptions can be sent to mailto:texk-win32-request@ese-metz.fr. Send 'help' in the subject for more information.

2.2 Unpacking

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

       <root>/bin/win32

             /texmf/

                      /dvips

                      /tex

                           /latex

                      /web2c

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 <root>\bin\win32 to your PATH. This is done by modifying autoexec.bat under Windows 9x or the Control Panel/System under Windows NT.

2.3 Configuration

If you have respected the previous layout for the tree, ie the relative position of 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 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.

2.4 Generation of PK files

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

The main points are:

2.5 Type1 fonts

In order to use 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. Setting it up is quite easy; assuming that Ghostscript has been installed in c:\gstools\gs5.10 and fonts in c:\gstools\fonts, add to your environment:

  set GS_PATH=c:\gstools\gs5.10\gswin32c.exe

  set GS_LIB=c:\gstools\gs5.10;c:\gstools\fonts

After that, Windvi 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 mktexnam.exe on some of your fonts ('mktexnam ptmr8r' for example) to check that the fonts will be put at the right place.

3 Quick startup

Create a shortcut to Windvi on your desktop:

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

4 Reference guide

4.1 Command line options

+<page>
Specifies the first page to show. If + is given without a number, the last page is assumed; the first page is the default.
-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 cmr10
-background <color>
uses <color> as background color
-bg <color>
same as -background
-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.
-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. Same as -S.
-foreground <color>
uses <color> as foreground color
-fg <color>
same as -foreground
-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.
-hush
Causes Windvi to suppress all suppressible warnings.
-hushchars
Causes Windvi to suppress warnings about references to characters which are not defined in the font.
-hushchecksums
Causes Windvi to suppress warnings about checksum mismatches between the dvi file and the font file.
-hushspecials
Causes Windvi to suppress warnings about special strings that it cannot process.
-keep
Sets a flag to indicate that Windvi should not move to the home position when moving to a new page. See also the ` k ' keystroke.
-margins <dimen>
Specifies the size of both the top margin and side margin. This should be a decimal number optionally followed by " cm ", e.g. , 1.5 or 3cm , giving a measurement in inches or centimeters. It 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. See also -sidemargin, -topmargin , and the keystroke ` M .'
-mfmode <mode-def>
Specifies a mode-def string, which can be used in searching for fonts. It is also passed to Metafont during automatic creation of fonts.
-mgs <size>
Same as -mgs1 .
-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 × height. Defaults are 200×150, 400×250, 700×500, 1000×800, and 1200×1200.
-nogrey
Turns off the use of greyscale anti-aliasing when printing shrunken bitmaps.
-nomakepk
Turns off automatic generation of font files that cannot be found by other means.
-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 -xoffset and -yoffset .
-p <dpi>
Defines the size of the fonts to use, in pixels per inch. The default value is 600.
-qpaper <papertype>
Specifies the size of the printed page. This may be of the form width×height (or width×heightcm), 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.
-rv
Causes the page to be displayed with white characters on a black background, instead of vice versa.
-s <shrinkfactor>
Defines the initial shrink factor. The default value is to choose en appropriate factor.
-S <density>
Same as -density, q.v.
-sidemargin <dimen>
Specifies the side margin (see -margins).
-topmargin <dimen>
Specifies the top and bottom margins (see -margins).
-xoffset <dimen>
Specifies the size of the horizontal offset of the output on the page. See -offsets .
-yoffset <dimen>
Specifies the size of the vertical offset of the output on the page. See -offsets .

4.2 Shortcut keys

Home, '~'
goto the upper left corner of the page. If margins are active, use them.
Next, 'n', Enter
goto next page.
Prior, 'b', Backspace
goto previous page.
Ctrl-Home, Ctrl-End
goto first (resp. last) page.
Numpad +, Numpad -
zoom in (resp. out).
Arrow keys, 'l', 'r', 'u', 'd'
move in the corresponding direction (left, right, up, down).
'k'
Normally when Windvi 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.
'M'
set margins at the cursor.
't'
change tick units (cursor position).

5 FAQ

  1. Windvi opens and closes immediately. You should check your installation:

  2. Windvi is stuck with the hour glass cursor, displaying some font name in the status bar. Currently, when kpathsea is generating fonts, Windvi is blocked. You can't see any progress status. This is because kpathsea-based programs are inherently console mode programs and Windvi 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 Windvi by hand, and any process named mf.exe or mktexpk.exe too.

6 Known bugs and TODO list

A 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 :





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