Font Generation

IDVI requires that all fonts used in a document are available as pk font files at the correct sizes. If they aren't available, it searches for a nearby size, and fails if it can't find one.

It would be nice to have IDVI invoke font generation machinery if any is available. I've never used a TeX environment with automatic font generation, so I have no idea how useful it is. (It sounds pretty nice, though ;-).

Some issues:

  1. It is very hard to start an outside application from within a Java application. It is possible using the System.exec( ) function, but this does not work well for several reasons. First, it doesn't pass any environment variables through to the application being executed. (This can be worked around by passing the whole environment into the idvi application explicitly, so that it can be passed to the child.) Second, System.exec( ) is not implemented in the netscape -java runtime environment. This environment is used when the JDK is not available, which is most of the time!

  2. The idvi application needs to know character dimensions, etc. So fonts must be generated before the application runs.

  3. I would suggest writing a new application, which simply scans the dvi file for a list of fonts used. These can be retrieved quickly by just reading the postamble, although idvi currently contains no code to do so. It could then generate a text file with the appropriate commands to generate the fonts.

  4. The idvi shell script can invoke the new application on the dvi file, use the generated script to generate all required fonts, and then invoke the existing application.