Metafog is a tool transforming Metafont to Type 1 based on the fact that both largely based on cubic Bézier curves. Although its main theory has been published in the above paper, the fact that it is commercial and the difficulty of re-implementation hindered its popularity in TeX communities.
Fortunately, most of the requirements mentioned in the paper has already been implemented with modern font editors, for example (including but not limited to):
- Merging of two closed Bésier outlines;
- Simplification of outlines;
- Expand the outline strokes. This project used FontForge to implement most functionalities described in the paper.
This project depends on both Metapost and Fontforge. For Windows, the scripts need to be executed via ffpython interpreter to utilize the Python interface of FontForge.
Because of imperfections of FontForge, glyphs using erase command may not be processed perfectly, and needs manual modification after the sfd file is generated.
This project is not yet completed, and I with others may do the following improvements:
- Improvements for processing the
erasecommands - Decouple the processing
encoding_vectorfrom the main program - Automatic judgment of design sizes (might need to run Metapost twice)