mftrace 1.1.17 review

Download
by rbytes.net on

mftrace is a small Python program that lets you trace a TeX bitmap font into a PFA or PFB font (A PostScript Type1 Scalable Font) or

License: GPL (GNU General Public License)
File size: 57K
Developer: Han-Wen Nienhuys
0 stars award from rbytes.net

mftrace is a small Python program that lets you trace a TeX bitmap font into a PFA or PFB font (A PostScript Type1 Scalable Font) or TTF (TrueType) font.

Scalable fonts offer many advantages over bitmaps, as they allow documents to render correctly at many printer resolutions. Moreover, Ghostscript can generate much better PDF, if given scalable PostScript fonts.

mftrace project is licensed under the GNU GPL.

Requirements:
A tracing program: autotrace >= 0.30
Python–2.1 or later
t1utils
TeX–your tex installation should include
kpsewhich,
MetaFont

Installation:

Install the prerequite packages. Then run

./configure
make install

in the mftrace directory. Run as follows:

mftrace cmr10

Usage:

Command line options:

--formats=LIST
A comma-separated list of formats to generate. Choices include: AFM, PFA, PFB, TTF and SVG. Default is to generate a PFA file. Note that fontforge (formerly called pfaedit) needs to be installed in order to generate any format except PFA or PFB. For generating AFM you need either fontforge or ghostscript.
-e,--encoding=enc
Use encoding file enc. Encoding files used by mftrace are basically in the GhostScript/dvips format, but you may use a special .notavail glyph name in order to tell mftrace not to process a specific glyph. If this option is not specified, mftrace will try to determine the encoding file automatically, from the encoding specified in the TFM file.
--glyphs=list
Only process glyphs in list, which is a comma-delimited list of decimal numbers or ranges.
--glyphs 1-10,50,55,90-100

--gffile=name
= Take glyphs from file name.
--grid gridsize
Set reciprocal grid size in em units multiplied by ratio magnification/1000. For example --grid 10 --magnification 1000 will round coordinates of control points to 1/10 of em unit. Useful simultaneously with --noround option. Default gridsize value is 1, i. e. round to integer.
-h,--help
help on options.
-k,--keep
Retain all temporary files in the directory mftrace.dir/. This is useful for debugging problems.
--keep-trying
Try to continue if external programs called by mftrace fail. If METAFONT crashes with overflow errors, but nevertheless outputs a GF file, try to process its output as is (useful for some buggy fonts, see below). If potrace/autotrace fails to trace a specific character, first try it with a less smoothed curve, and if that fails, skip the character.
By default mftrace outputs trace-bug-FONTNAME-NUMBER.pbm and stops the process with a request to file a bugreport.
--magnification
The magnification to use for the PFA file. The default is 1000. The larger the more precise the PFA file will be. However, when magnification is too large METAFONT can crash with overflow errors.
Sadly, many MF fonts contain resolution checks if dots_per_inch * design_size > 1500:

This check is susceptible to overflow errors. Such code should be reported as a bug, and changed to if dots_per_inch > (1500 / design_size):

--noround
Don't round coordinates of control points to integer values. Useful simultaneously with --grid option. Disabled by default.
-o,--output-base=FILE
Output to FILE.pfa or FILE.pfb.
--simplify
Pass the font through FontForge for automatic simplification and hinting.
--tfmfile=FILE
Use file for the TFM file. This file is needed to determine at what resolution to run MetaFont.
-V,--verbose
Be verbose: print all commands as they are invoked. This is useful for debugging.
-v,--version
Print version number
--dos-kpath
Try to kludge up the paths coming from MikTeX for a cygwin environment. If this doesn't work, specify --tfmfile and --encoding manually.
-w,--warranty
show warranty and copyright
--potrace
use Potrace (default).
--autotrace
use AutoTrace.

Mftrace uses kpathsea for finding fonts, so any kpathsea variable can be used to fine-tune which files should be loaded. For example, you can set MFINPUTS to specify which paths to search for .mf files.

Mftrace tries to fill in sensible values for the FontFamily, FullName and Weight fields. It does so by guessing values for the CM font series. For other fonts, it tries to read an AFM file (which is not likely to exist). Suggestions for a more generic way to handle this are welcome.

Additional options may be passed to the backend program (potrace or autotrace) with the MFTRACE_BACKEND_OPTIONS environment variable.

mftrace 1.1.17 search tags