| || |
L.S. Ng explains the mathematical aspects of truetype to type 1 Bezier conversions (quadratic to cubic). Conversions from quadratic Beziers (truetype Beziers) to cubic (type 1) Beziers. [Google]
Similar but more diverse than ttf2ps, this free code converts truetype fonts to postscript format. Can be used for Chinese fonts. See also here. Linux version. [Google]
George Williams' free Open Source UNIX-based font editor for type 1 and truetype fonts, previously called Pfaedit. Also does truetype collections (TTC) and opentype fonts. Note that FontForge can be used to do all conversions between all formats (type 1, truetype, OpenType; PC, UNIX and Mac): it's a formidable tool. The internal text format for fonts is called SFD. It is a format that is acceptable for communicating and storing fonts. Note also that there is a powerful scripting language that can automate conversions and various tedious tasks.
Interview. Wikipedia page on FontForge.
FontForge documentation. FontForge history.
Footnote: the headline of this page is set in New G8 by Artifex and Michael Sharpe based on URW Garamond No.8, a project developed, like hundreds of others in the open source community, by FontForge.
Github link. [Google]
George Williams' free Open Source UNIX-based font editor for type 1 and truetype fonts. Also does truetype collections (TTC) and opentype fonts. Note that PFAedit can be used to do all conversions between all formats (type 1, truetype; PC, UNIX and Mac): it's a formidable tool. In 2004, Pfaedit was renamed FontForge. [Google]
Mac OS X platform (free) converter from Truetype (Mac TTF) to PostScript (Mac T1), by Stone Studio of Albuquerque, New Mexico. Full license, 30 day free trial. [Google]
Truetype <=> Type 1 conversions
Beware! There is no such thing as a one-to-one reversible conversion. There are several problems:
All this to tell people to steer away like the plague from format conversions. And a plea to the font software community to develop one final format. My recommendation: get rid of truetype, tinker with the type 1 format (well, tinker a lot). More about that ideal format elsewhere. [Google]
- The outlines are stored in different ways in both formats. In truetype, second-order Bezier curves are used, and in type 1, third-order Bezier curves are employed. One second order Bezier can be transformed into a third-order Bezier, but a third-order Bezier cannot be transformed into one, two or seventeen second-order Beziers--approximations are in order for that conversion. So, type 1 to truetype is problematic, right from the start. For truetype to type 1, there is a snake in the grass, in the form of integer grid rounding (see below).
- Both formats require all control points to be integers (whole numbers), falling in a grid. Truetype uses a 2048x2048 grid, type 1 typically a 1000x1000 grid. For the truetype to type 1 direction, one could divide all grid values by two, but then what? Should 183.5 become 183 or 184? The type 1 to truetype direction is easier, at least from this point of view, as we could multiply each grid coordinate by two, so no rounding loss would be involved. However, in the truetype to type 1 direction, the rounding causes additional problems for the new control points needed for the perfect third-order Bezier outlines mentioned above.
- Placing ink on paper: the formats have different rules for placing ink on paper in case of outlines that are nested or intersecting. These differences are not caught by many conversion programs. In most cases, the user should not worry about this---only rarely do we have overlapping outlines (I was forced once to have them, for other reasons).
- Complexity of the outlines: truetype permits more complex outlines, with more control points. For example, I am sure you have all seen fonts made from scans of pictures of typefaces of people. Typically, these outlines are beyond the type 1 limit, so this restriction makes the truetype to type 1 conversion impossible for ultra complex fonts.
- Encoding: truetype can work with a huge number of glyphs. There are truetype fonts for Chinese and Japanese, for example. In type 1, the number of active glyphs is limited to 256. Again, for most Latin fonts, this is a non-issue.
- The remarks about grid rounding also apply to all metrics, the bounding boxes, the character widths, the character spacing, the kerning, and so forth.
- Finally, there is the hinting. This is handled very differently in both formats, with truetype being more sophisticated this time. So, in truetype to type 1 conversions of professionally (hand-hinted) fonts, a loss will occur. Luckily, 99% of the truetype fonts do not make use of the fancy hinting possibilities of truetype, and so, one is often safe.
Truetype to Postscript type 3 converter written in C by Andrew Weeks (Bath Information&Data Services) of the University of Bath. An AFM generator is included as well. Freeware. [Google]
Werner Lemberg and Frederic Loyer have written a generic ttf2pfb program which creates a type 1 font (pfb) from a truetype font. A simple conversion tool to bring TrueType quality to the TeX world. Check also the font metrics file generator ttf2tfm. [Google]
Wu Liangsheng's free Chinese True Type Font to Postscript Translator, which reads Chinese TTF file data, and outputs to stdout in Postscript format curve data. [Google]
Freeware truetype to type 1 converter by Mark Heath. From the author: "TTF2PT1 is a modification of Andrew Weeks' TTF2PFA True Type to Postscript Type 3 converter. Which will convert most True Type Fonts to an Adobe Type 1 .pfa file. The files produced are in human readable form, which further needs to be encrypted with the t1utilities, to work with most software requiring type 1 fonts. " Another link. Later versions included bug fixes and improvements by Thomas Henlich and Sergey Babkin. Current version: ttf2pt1-343. Babkin's site. Mirror. Latest news. Precompiled binaries for Windows. [Google]
90USD gets you the source code for a truetype to postscript font conversion kit. Handles Latin, but also Chinese (GB and Big 5). By Hangzhou Telek Information Corp., XianLin Street No. 27, Hangzhou, ZheJiang 310006, P.R.China. Free demo. TTFKIT contains a complete TTF interpreter in C, This interpreter can work under PC DOS, Microsoft DOS or Microsoft Windows. It can easily move to UNIX. It also has a function library and the following utilities: TTFDUMP (ttf to ascii dump), TTFTEXT (screen view), TTFDISP (more screen viewing), TTFTODXF (AutoCAD format), TTF2DXF, TTFTOAI (ttf to Adobe Illustrator or EPS), TTFW. [Google]
The Linux TrueType utilities. Mostly programs written by Brion Vibber. Includes ttf2type1 and ttf2afm: ttf2afm is a wrapper for ttf2pfa that creates an AFM file from a ttf font. And ttf2type "is a wrapper to simplify mass conversion of TrueType fonts to Adobe Type 1 fonts, necessary for some programs such as WordPerfect which support Type 1 but not TrueType fonts. ttf2type1 accepts any number of .ttf files and produces Type 1 .pfb font files and .afm font metric files. " All programs are free. The external programs ttf2pt1, ttf2pfa, and t1asm from the t1utils are needed. [Google]