Supplements for True Type to PostScript Type 1 Converter


A small program to draw the Bezier curves on an alphanumeric display. The recommended way of uing it is to run it from xterm with "Tiny" (if you want higher magnification) or "Unreadable" (if you want higher resolution) font and as big window size as possible. The size of the window can be obtained by running "stty -a". For everything else just "Use the source, Luke!"


A small program to compare the rendering of two supposedly nearly-identical fonts at low resolutions. It requires the T1LIB library. This program may be used to compare the effect of various options of the converter on the resulting fonts. Create two .pfa files, one with one set of options, another with another set of options, then use this program to compare them.


A small program to dump the bitmaps of all glyphs of the font at low pixel sizes, up to 20 pixels. It requires the T1LIB library. This program may be used to compare the effect of changes in the T1LIB rasterizer and just for visual search for rendering anomalies.

A simple PERL script that generates an HTML file with the full list of all characters in all possible styles of the Variable-width and Fixed-width fonts. This file is quite convenient to look at the converted fonts in Netscape (or other graphical browser).

A simple PERL script that counts the required hint stack in the interpreter to rasterize the glyphs of the font. May be quite useful in search for missing glyphs which may be aborted due to insufficient stack depth.


A PERL script that draws the glyphs and their interesting metrics (such as coordinates of the dots, hints and blue zones) in PostScript. It works only with un-encoded font files generated by ttf2pt1. The intended use is like:

  showg [-c <fontfile.t1a>]... <fontfile.t1a> <glyph-to-draw>... >
  gv # start the Ghostscript viewer

As you can see, multiple glyphs may be specified. The glyphs may be specified in one of three ways:
  - as a decimal code (for example, 43 )
  - as a glyph name preceded by a slash (for example, /plus )
  - as a literal character preceded by a dot (for example, .+ )

So for example the following command would draw the same glyph "left parenthesis" three times:

  showg file.t1a 40 /parenleft .\( >/

Don't forget that some characters have to be protected from the shell by backslash as shown above, or else the shell would try to interpret them before passing to the program.

One file (given as the first argument) is considered the main file but multiple files can be specified with option -c for visual comparison of the outlines. The glyphs from the main file are drawn in black and supplemented with coordinate grid and sidebars for hints. The glyphs from the comparison files are drawn in slightly lighter colors (red, cyan, brown) and no supplemental information is provided for them. Each use of option -c adds one comparison file, this option may be used multiple times. If there are more than 3 comparison files the colors repeat cyclically.

So for example the following command would draw the same glyph "left parenthesis" from three files on the same page:

  showg -c fileA.t1a -c fileB.t1a file.t1a .\( >/

This program is quite valuable it you want to take a close-up view at the font.

The outlines are drawn in black, the ends of the curves and lines are marked as dots, the first dots of the outlines are fatter. The Blue Zones are drawn in light blue. The substituted hints are marked in red, the global hints are marked in blue. The coordinate grid is drawn in green. The stems and the values of coordinates are for convenience marked twice, on each size of the picture.


A Perl script to find a list of differing glyphs in two versions of a font file (for example, converted with different versions of ttf2pt1 or with different options given to ttf2pt1) and feed this list into the showg program for display. The intended use is like:

  showdf <showg-location> <fontfile1.t1a> <fontfile2.t1a> >
  gv # start the Ghostscript viewer

If both showdf and showg scripts are located in the same directory, the command would look like:

  ./showdf ./showg font1.t1a font2.t1a >

For decent results both font files should be converted from the same original font and contain the same glyphs with the same names in the same order. Otherwise most probably all the glyphs will be included, or a failure may happen if some glyph is not found in one of the files. It is also a good idea to convert the fonts for comparison with hinting disabled, otherwise the differences in hinting may trigger the otherwise equal glyphs to be shown.