I have a general idea of how to create fonts using the metafont programming language. Using mftrace, I also understand how to get the Adobe font metric information (.afm file) and Type1 fonts (.pfa file) from the .mf file. But for my fonts, I would like to have glyph substitution for multiple characters (super-ligature if we may). Also 256 glyphs seems insufficient for my needs. After some reading up on opentype fonts, I understand that these issues are taken care of by the opentype font specification.

But I can't seem to be able to find a step-by-step beginner's guide to build an opentype font from scratch. I am looking for pointers in this direction. Even source files for a font will be very useful for deconstructing to figure things out.

Also is there a way to take the afore-mentioned .afm., .pfa files to create my .otf fonts ?



2 Answers 2


OpenType fonts are indeed capable of much (much!) more than the old Adobe Type 1 format. Character encoding can be stored not only in byte format (which is the reason for the 256 glyph limit in Type 1 fonts) but as Unicode as well. This is not limited to 2-byte Unicode either. Fonts can, for example, contain emoji with Unicode code points well over U+1FF00 (see Unicode.org's table for emoji).

Similarly, while ligatures are usually defined for two characters only, there is not really a practical limit to how many characters can be used. One of the best examples is the beautiful "Zapfino" ligature. Typing the font name (7 characters) will automatically show it as a single design:

Zapfino ligature

Aside from basic ligatures, there are many, many more special features that can enhance an OpenType font. Whether or not each one of these work mainly depends on the software that the font is used in.

The specifications of OpenType fonts are publically available, but unless you are planning something extraordinary, I'd hesitate to recommend to try and "build an opentype font from scratch". The binary format is complicated, and lots of its parameters and the interactions with another are described only superficially.

There is not really "a step-by-step beginner's guide" to be found. By far most font designers use specific software to build their fonts with – and even then it takes some practice and/or trial and error to properly create and fill in all of the numerous tables to make the font work properly under all current software and OSes.

That said, if you are willing to read lots of documentation and not scared of command line utilities, then the Adobe Font Development Kit may be something for you to try. It comes with tools to convert .pfa and .pfb fonts to the OpenType format, add and test features, check the integrity of glyphs, and lots more.


See the Metatype1 package, and the attendant work on the OpenType version of Computer Modern, Latin Modern


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.