README
NAME
FontConverter - Enables conversion between TrueType, OpenType, and PostScript Type 1 fonts
SYNOPSIS
use FontConverter;
fc-convert-font Times-Roman.pfb # OUTPUT: «Times-Roman.ttf»
DESCRIPTION
FontConverter provides tools to convert PostScript Type 1 binary font files to TrueType as well as conversion from TrueType or OpenType to PostScript Type 1. It requires the following system programs to be installed:
fontforge (and its Python3 components, if any)
To convert PostScript Type 1 to TrueType (X.pfb to X.ttf).
Note the conversion from PostScript to TrueType requires a Python3 script because fontforge
's own scripting language is broken (see its issue #5261 at https://github.com/fontforge/fontforge). We are fortunate to have found and been able to incorporate such a ready-made program at https://antlarr-suse, and we are indebted to its author, Antonio Larrosa (who also happens to be a contributor to the SUSE Linux distribution).
Note it looks like there is a conversion path from '.pfb' to '.otf', but that will require some more research and Python3 expertise.
ttf2ufm
To convert TrueType or OpenType to PostScript Type 1 (X.ttf or X.otf to X.pfb, X.pfa [same as X.t1a], X.t1a, and X.afm).
Other font-related system programs:
pdffonts - information on fonts in a PDF document
printafm - shows metrics from a PostScript font
showttf - provides details of a TrueType or OpenType font
Cautions and limitations
Font file names may not always be named exactly after the actual font being described internally and, consequently, the resulting filename may not bear any semblance to the input filename. If there is any doubt, use one of the system tools (showttf
or printafm
) to investigate further.
Eventually this module will be able to notify you of any font or file naming difficulties, but, until then, it should not let you convert files into the users's current directory; instead, you must always enter the to-dir=D
option to name the output directory (which must exist and cannot be the same as the input directory).
It is also recommended that the output directory be empty before starting font conversions.
Motivation
Convert PostScript Type 1 to TrueType
The author has been creating Raku modules to convert his old (but cool) PostScript-generating programs to direct PDF-generation using David Warring's Raku PDF modules. In the process, he wanted to convert old PostScript Type 1 fonts he bought for special projects to TrueType. Hence this module, which brings together the necessary tools into an easy-to-use, double-duty module and encourages use of Unicode in multi-language printed products.
Convert TrueType or OpenType to PostScript Type 1
For completeness, the module also provides the opposite conversion for the rare case of wanting a PostScript version of a modern font for direct inclusion into a PostScript product.
AUTHOR
Tom Browder [email protected]
COPYRIGHT AND LICENSE
© 2023 Tom Browder
This library is free software; you may redistribute it or modify it under the Artistic License 2.0.
ADDITIONAL LICENSE
The included Python3 program, ttf-converter
, has its own license which is embedded in its contents at the top of the file. The first few lines are repeated here:
# Copyright (C) 20202 [sic] <Antonio Larrosa <[email protected]>
# This file is part of ttf-converter
# <https://github.com/antlarr-suse/ttf-converter>.
#
# ttf-converter is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License.