3

I'm interested in possibly using MetaPost to design a font for a writing system of my own invention. One of the appeals of the Meta* languages is MetaFont's "pen" features. However, MetaFont itself is somewhat clunky to use and of course only outputs bitmap fonts, instead of vector. The problem is that it's unclear to me whether MetaPost actually has all of the same capabilities as MetaFont. There's MetaType1, which as I understand, does not include pen capabilities, and is based on MetaFont.

Incidentally, the workflow I have in mind is something like:

MetaPost --> PS --> FontForge --> OTF

2
  • one of the reasons that metafont never really caught on is that (modern) font designers are used to working with outlines. May 27, 2016 at 14:46
  • Appendix C of the Metapost manual has a detailed list of the differences between metafont and Metapost.
    – Thruston
    May 28, 2016 at 22:33

1 Answer 1

4

You can indeed use Metapost to generate fonts. Read the chapter called "MetaPost Versus METAFONT" in the appendix of the Metapost manual. You need to use the mfplain macro package. If you do something like

mpost -mem=mfplain cmr10.mf

MetaPost will produce a PostScript file for each character in the font. But as it says in the manual, "some editing would be required in order to merge them into a downloadable Type 3 PostScript font".

Basically the combination of MetaPost + mfplain has all the administrative features required for font making that are discussed in detail in the Metafont Book. The only things it lacks, are all those features in MetaFont that are directly related to dealing with pixels.

2
  • Here's something I'm a little confused about: pens are supposed to be a unique feature of Meta{Post,Font} right? However, in the generated SVGs and EPSs I get from my metapost files, the output looks like it's using some sort of pen-like feature in both SVG and EPS. How does that work?
    – junius
    May 29, 2016 at 17:25
  • You'd need to ask John Hobby or the current maintainers of the code how pens are actually implemented. My own (possibly wrong) understanding of it is that the pen stroke gets converted to a cyclic path which is then filled.
    – Thruston
    May 29, 2016 at 20:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .