16.2 Program features
Here are some possible projects:
Rewrite as a C program along the lines of XBfe.
Add support for hints.
Output more font formats, e.g., TrueType.
Output hints for Metafont and Type 1 fonts.
Make better guesses for the
Handle obliquing fonts by changing the transform matrix in the output,
instead of changing the numbers in the splines.
Do nonlinear scaling.
Handle italic corrections in the Metafont output somehow. Probably have
to do the same in Charspace.
Output virtual fonts as an option, instead of another bitmap font.
Allow specifying entire input encodings and output encodings (the
same `.enc' files that the other programs read).
- GF library
Support multiple simultaneous open fonts, like the PK library does now.
Output a checksum.
Allow for characters larger than 1 inch square in the original font.
Implement slanting, extending, and small caps, a la Dvips.
Recognize more image formats, e.g., Tiff.
Perhaps the `-column-split' option in Fontconvert should be
removed, and the equivalent information specified in the IFI file.
Perhaps combine with Imageto.
Implement a good rotation algorithm, perhaps as described in: "A Fast
Algorithm for General Raster Rotation", by Alan Paeth, Graphics
Interface '86, pages 77--81. (We'd be interested in hearing of
optimized alternatives for the case of 90 degree rotation only). The
pnmrotate, which mentions that article, in the PBMplus
distribution could perhaps be adapted.
Extend the encoding files to allow defining math attributes, probably by
rewriting the parsing routines as a Bison grammar.
Write a variant of
string_to_bitmap (in `font.c') which
understands kerns and ligatures.
Add support for BDF or other bitmap formats. Unrelated utility programs
now exist for handling the X11 BDF format (specifically, Bdf2gf and
GFto), but it might be useful to integrate BDF support.
- Handle the standard X toolkit options.
- PK library
- Implement output of PK files.
- TFM library
Support multiple simultaneous open fonts, like PK does now.
Support ligatures in their full generality.
Output a checksum.
Allow showing more than one character at a time.
Adjusting (or at least seeing) the baseline, cap height, x-height, or
Handle multiple fonts.
Notice if the window it's given is too small, and give up.
Ask the window manager for a window big enough for the largest character
in the font, not the first character.
In addition, one general enhancement would be to allow more than 256
characters per font. The bitmap formats allow this already, and the TFM
format has some support for it.
Two other smaller general improvements: combine multiple `-range'
options; allow for omitting ranges.