TrueType flavoured and CFF OpenType fonts

Dear guys
can someone explain which is the difference between TrueType flavoured and CFF OpenType fonts?
Thanks in advance.

Comments

  • James Puckett
    James Puckett Posts: 1,992
    TrueType and Postscript use different math for calculating bézier curves. See http://fontforge.org/bezier.html
  • Thomas Phinney
    Thomas Phinney Posts: 2,885
    They also have radically different models for hinting.

    I wrote a much longer explanation here: http://blogs.adobe.com/typblography/files/typblography/TT PS OpenType.pdf. A bit dated, but really nothing much has changed except (1) web font formats and (2) OpenType (with either TT or PS outlines) has clearly “won” and Type 1 is hardly being produced any more. Although long-time users still have huge libraries of fonts in Type 1 format.
  • Thank you!
  • Eris Alar
    Eris Alar Posts: 454
    So a connected question is, which format is better to design in?
  • Mark Simonson
    Mark Simonson Posts: 1,734
    edited June 2014
    Most people design using PostScript cubic Bézier curves, and convert to TrueType quadratic Bézier curves when generating TTF. PS curves behave exactly like curves in Illustrator and similar apps, so they are generally more familiar.
  • Deleted Account
    Deleted Account Posts: 739
    edited June 2014
    Also, a difference, is that TT is both a source and output format that can translate from a font to an editable source and back. CFF is a output format only, it can be made directly only from cubic Bézier curves, and cannot be read back or subset as far as I know. It's main reason for being is to compress font files while the world figures out that subsetting is a better way to compress font files.

    "...which format is better to design in?"

    TT or PS, CFF isn't in the design park. I think it depends for what you are designing. If you are designing for web use involving smaller size use or quality appearance on windows from any of a font family, and the best place to end is with clean, easily hinted TT, it's also the best place to start. If you are designing for print only, and don't care about the web, PS will be fine.

    Deeper discussion, I think, starts to depend on your tools, and when that happens, all sorts of odd things happen. But — what most people have learned in the last decade, is that if you start with PS, and have the web, windows and smaller size uses in mind, it's not a pretty sight in free or commercial tools to get from PS to anything but CFF.
  • Thomas Phinney
    Thomas Phinney Posts: 2,885
    > CFF is a output format only, it can be made directly only from cubic Bézier curves, and cannot be read back or subset as far as I know.

    Read back: You must be meaning something different than I do when you use the phrase “read back”! Almost every font editor on the planet can open a CFF font and translate it back to straight PostScript outlines. What did you have in mind here?

    Subset: the above-mentioned conversion generally needs to be done before subsetting, and then converting back to CFF, but there are certainly tools that subset CFF.
  • Deleted Account
    Deleted Account Posts: 739
    edited June 2014
    I've never seen either of those things! What tool subsets CFF? and maybe just our tools don't deal with reading CFF, but I've never read a CFF into any tool or ever seen a CFF show up in a font menu.

    On the other note, have you learned over the last decade, that if you start with PS, and have web, windows and smaller size in mind, it's not a pretty sight in free or commercial tools to get from PS to anything but CFF?

  • Thomas Phinney
    Thomas Phinney Posts: 2,885
    Ah, some of us are using "CFF" as a shorthand for "OpenType CFF," but of course technically it is just the CFF portion of the font, the contents of the CFF table. So in that sense, yes, one does not see naked CFF fonts in font menus ,nor much of anywhere outside of PDF or printer ROMs.

    Google has released an open source subsetting tool that deals with OpenType CFF. I don't know if it does naked CFF. http://fontforge.10959.n7.nabble.com/Announcing-a-new-font-subsetter-td13516.html

    I agree that with current shipping tools, there is an issue with getting from OT-CFF to TTF-with-composites, because of the difference between subroutinization and composite glyphs. Basically one needs a higher-level source format that still has composite glyph info, such as the standard formats for most font editors. Or one needs a new tool that can recreate composite glyphs from the decomposed glyphs.
  • What would be the point of only converting (OpenType)CFF to TTF. As stated above, there are no editors for CFF so it is always generated from a "higher-level source format". And from that you can also generate TTF (qubic outlines and components).

    And I think it is much easier to read back information from (OT)CFF then from TTF. subroutinization is lost but that can be recalculated. TTF on the other hand looses all of its instructions and I don't know of any tool that can import any data into anything usable even if the font was created by the same app.
  • Georg's first point reinforces the reason not to compare TTF and cff. On his second point, vtt does export and import it's own TTF proving it is not TTF that loses anything whatsoever. :)