METATYPE1 and meta-fonts

I've been spending time lately learning more about working with METATYPE1, mostly for my own projects, but with the eventual hope of writing some tutorials.  While working on one of my running examples, I was encountering some difficulty expressing what I wanted in a reasonably declarative fashion. So I decided to see how it was done in Latin Modern.

I was dismayed to learn that Latin Modern is not a meta-font like Computer Modern. Instead the Type 1 versions of Computer Modern (which was developed by either Bluesky or Y&Y) were decompiled into MetaPost code as raw path outlines. So at that point all of the useful abstractions in Knuth's original code and specifications have been lost.

The only other major typeface developed in METATYPE1 that I know about, Antykwa Toruńska, has no source available and from the description I highly suspect that it was developed by creating raw paths that matched the scanned specimens. This got me thinking about whether there are any meta-fonts that have been developed in METATYPE1, or even whether Computer Modern might be the only full meta-font family in existence. I just skimmed through the METAFONT sources that are included in TeXLive, but didn't see anything particularly promising yet.

In any event, going back to the original issue, I have been starting to think that maybe the limitations of METATYPE1 are perhaps not worth being able to directly generate Type 1 fonts. It could be entirely possible that working in METAFONT and using something like mftrace to generate outline fonts from high-resolution bitmaps will produce results of sufficient quality. I'm hoping to do some tests to compare the two approaches this weekend.

(It is worth noting, that the comment about METATYPE1 on the mftrace page is slightly incorrect or out of date.  METATYPE1 can handle overlaps, there are just complicated restrictions on how overlapping may occur.  Finding clean approaches to avoid these restrictions was why I became interested in looking at the Latin Modern code to begin with.)


  1. Till said,

    April 27, 2009 @ 7:55 am

    Hi, I hope this information is not doubled. There are some meta families, one of them being Antykwa Poltawskiego (I think this was the first one and the one the tool was developed for). There has been recently much work on the TexGyre project who recreate and enrich the traditional post script fonts that come with gs to work as OT fonts. This might be worth studying. Another hint: Yannis Haralambous shows in the appendix of his book Fonts & encodings an interesting example how to design a letter with metafont and metatype1.

    I was investigating the stuff also but didn’t yet get so far doing some actual work. What bothers me is an easy way how to make a bit OT font out of the type1 fonts – that is with all needed tables for ligatures, language features and so on. Do you have any idea about that?

  2. washburn said,

    April 27, 2009 @ 8:04 am

    @Till: I do not think your information is correct. From the information I’ve found, Antykwa Toruńska may have been created using METATYPE1, but that does not make it a meta-font in the same sense as Computer Modern. I do not think the work on the Tex Gyre project involves METATYPE1 at all. If you have more details that prove me wrong on these points I would be greatly interested.

    Also, that section in Yannis’s book is full of errors. I cannot be sure because I have not tried older versions of METATYPE1, but the code he presents definitely does not work in the latest version and I am very doubtful it could have ever worked. I would have submitted this to errata for the book, but they haven’t even “verified” a simpler mistake in the book that I submitted last year.

    In terms of creating an OpenType font from a Type 1 font, I expect you can automated some of the process using FontForge’s scripting capabilities.

RSS feed for comments on this post · TrackBack URI

Leave a Comment