

png extension.Īsking about turning an otf, which by convention is a "postscript" font (but again, not really, it's Type2) into a ttf, which by convention is a "truetype" font, and thus cannot contain "postscript" (but still, really Type2), with the added request that the ttf should contain "postscript outlines", doesn't make any sense: it's like asking how to convert a soft lead pencil into a hard lead pencil, but with soft lead: you're already done, you were asking how to create the thing you started with.Īn Opentype font with "postscript" outlines is an otf. So, for font engines, the extension doesn't matter in the slightest, in the same way that an image previewer will happily open a. gif extension and it'd still be the kind of font the content specifies. However, an important thing to realise is that the extension does not in any way define the font only its content does. As such, when we talk about otf fonts we really mean "Postscript opentype font" (which is a misnomer because CFF uses the Type2 language, not the PostScript language), and when we talk about ttf fonts, we really mean "TrueType opentype font". ttf extension, but they're both just OpenType fonts, only differing in the CFF/TFF(/CFF2/SVG) data blocks. otf extension and TTF-OT (and SVG-OT) use the. Now, by convention, CFF-OT (and CFF2-OT) fonts use the. These two outline models are mutually exclusive, so you can pick whichever one you like, but not both at the same time. ( 2018 edit: there are now two more types: OpenType-with-SVG-Outlines, which is not the same as "an SVG font", and OpenType-with-CFF2-Outlines, which is an overhaul of CFF specifically for use in OpenType rather than as an embed-agnostic outline language) OpenType fonts with TrueType tables use TrueType outlines definitions, which allow for quadratic curve modelling only. People just keep calling it that for historical reasons.


They're similar to Postscript, but aren't technically Postscript. OpenType fonts with a CFF block use Type2 "charstring" outline definitions, which allow cubic curve modelling. Quick lesson in how OpenType works: there are two flavours of OpenType: OpenType-with-CFF-Data, and OpenType-with-Truetype-Outlines
