dvipng
******

This program makes PNG graphics from DVI files as obtained from TeX and
its relatives.

   It is intended to produce anti-aliased screen-resolution images as
fast as is possible. The target audience is people who need to generate
and regenerate many images again and again. The primary target is the
preview-latex (X)Emacs package, a package to preview formulas from
within (X)Emacs. Yes, you get to see your formulas in the (X)Emacs
buffer, see <http://preview-latex.sf.net>.

   Another example is WeBWorK, an internet-based method for delivering
homework problems to students over the internet, giving students
instant feedback as to whether or not their answers are correct, see
<http://webwork.math.rochester.edu>.

   Other applications may also benefit, like web applications as
latex2html and WYSIWYG editors like LyX.

Benefits of dvipng
==================

   * Speed. It is a very fast bitmap-rendering code for DVI files. On a
     fairly low-end laptop, it takes less than a second to generate 150
     one-formula images. This makes dvipng suitable for generating large
     amounts of images on-the-fly, as needed in preview-latex, WeBWorK
     and others.

   * It does not read the postamble, so it can be started before TeX
     finishes. There is a -follow switch that makes dvipng wait at EOF
     for further output, unless it finds the POST marker that indicates
     the end of the DVI.

   * Interactive query of options. dvipng can read options interactively
     through stdin, and all options are usable. It is even possible to
     change the input file through this interface.

   * Supports PK, VF, PostScript Type1, and TrueType fonts, color
     specials and simple PostScript inclusion specials.

   * and more...


Installation
============

Read `INSTALL', included in the distribution.

Usage
=====

To use dvipng at its simplest, simply type

     dvipng foo

where `foo.dvi' is the output of TeX that you want to convert to PNG
format. If there are four pages in `foo.dvi', those pages will be
output as `foo1.png', `foo2.png', `foo3.png', and `foo4.png',
respectively.

   Many options are available (see the info manual).  For a brief
summary of available options, just type

     dvipng --help

Availability
============

The dvipng package is available at SourceForge, at
<http://sourceforge.net/projects/preview-latex>. This is the project
page of preview-latex. Anonymous CVS is available as well.

Contacts
========

Bug reports should be sent to
<preview-latex-bugs@lists.sourceforge.net>. This is still a sub-project
of preview-latex.

   Questions, suggestions for new features, pleas for help, and/or
praise should go to <preview-latex-devel@lists.sourceforge.net> (the
preview-latex send a message with just the word `help' as subject or
body to <preview-latex-devel-request@lists.sourceforge.net> or look at
<http://lists.sourceforge.net/lists/listinfo/preview-latex-devel>.

   Offers to support further development will be appreciated. For
developer access, ask on <preview-latex-devel@lists.sourceforge.net>.

Todo
====

   * Some specials affect the overall behaviour of dvipng, these should
     be read also in SkipPage.  Not a fatal bug, but annoying.

   * Test the FreeType interface so that TrueType fonts work properly.

   * Color stack that remains between pages. Or rather, works when
     processing pages in reverse order.

   * Remove kpathsea dependence, use dvips' environment variables.

   * Further speed improvements.

   * Non-integer shrinkfactors for bitmapped fonts, although with the
     new PostScript font support, this may not be needed.

   * Other output specials and source specials.

