

pktrace - Scalable PostScript Fonts for MetaFont
************************************************

Introduction
============

   `pktrace' is a small Python program that lets you trace a TeX bitmap
font into a PFA or PFB font (A PostScript Type1 Scalable Font).  It is
licensed under the GNU GPL.

   Type1 fonts offer many advantages over bitmaps, as they allow
PostScript files to render correctly on printers with many resolutions.
Moreover, Ghostscript can generate much better PDF, if given scalable
fonts.

Download
========

   * `http://www.cs.uu.nl/~hanwen/pktrace/pktrace-1.0.3.tar.gz'

   * `http://www.cs.uu.nl/~hanwen/pktrace/pktrace-0.5.tar.gz'

   * `http://www.cs.uu.nl/~hanwen/pktrace/pktrace-0.4.tar.gz'

   * `http://www.cs.uu.nl/~hanwen/pktrace/pktrace-0.3.tar.gz'

   * `http://www.cs.uu.nl/~hanwen/pktrace/pktrace-0.2.tar.gz'

   * `http://www.cs.uu.nl/~hanwen/pktrace/pktrace-0.1.tar.gz'

Required
========

   `pktrace' is a thin Python wrapper around some other programs that
do the real work: Autotrace and t1asm.  To run pktrace you need:
   * Autotrace - see `http://autotrace.sourceforge.net'.    Version
     0.29 still has a couple of bugs. Upgrade to the CVS version if
     you encounter problems..

   * Python-1.5 or later. See `http://www.python.org/'

   * t1utils. See `http://www.lcdf.org/~eddietwo/type/'

   * TeX-your tex installation should include
        * kpsewhich,

        * MetaFont

Recommended
===========

   A recent version (020215 or newer) of pfaedit
(http://pfaedit.sourceforge.net) is recommended. If it is present, then
pktrace will run the font through pfaedit to simplify and autohint it.

Red Hat
=======

   A RPM may be built by issuing


             rpm -tb pktrace-VERSION.tar.gz

Debian GNU/Linux
================

   Users of Debian unstable (and Debian 3.0 when it is released) can
install all requirements by running (as root):

         apt-get install pktrace
   If you wish to also install the pfaedit package to simplify and
autohint the font, then run the command

         apt-get install pfaedit

Install
=======

   Install the prerequite packages. Then run

         ./configure
         make install
   in the pktrace directory. Run as follows:

     pktrace cmr10

Invoking pktrace.
=================

   Command line options:
`-a,--pfa'
     Generate PFA file (Default)

`-b, --pfb'
     Generate a PFB file

`-e,--encoding=ENC'
     Use encoding file ENC

`--glyphs=LIST'
     Only process glyphs in LIST, which is a  comma-delimited  list of
     decimal numbers.

`-h,--help'
     help

`-k,--keep'
     keep all output in directory `pktrace.dir'

`--keep-trying'
     Try to continue if autotrace fails: first try it with a less
     smoothed curve, and if that fails, skip the character.

     By default pktrace outputs `autotrace-bug-FONTNAME-NUMBER.pbm' and
     stops the process with a request to file a bugreport.

`-o,--output-base=FILE'
     Output to FILE.pfa or FILE.pfb.

`--simplify'
     Pass the font through PfaEdit for automatic  simplification and
     hinting.

`--tfmfile=FILE'
     Use FILE for the TFM file

`-V,--verbose'
     Be verbose

`-v,--version'
     Print version number

`-w,--warranty'
     show warranty and copyright

Discussion
==========

   Why use `pktrace' over textrace (http://textrace.sourceforge.net)?
Textrace and pktrace are functionally similar. However, pktrace is
quicker, more cleanly written and can be installed using standard
methods. Additionally, textrace requires perl, ghostscript and dvips.

   How about MetaFog (http://www.truetex.com)? MetaFog operates
directly on the curves that generate the bitmap font, its outlines will
probably be smaller and better. However, MetaFog is a proprietary
product: its source code is not available, and it will only run on a
limited number of platforms.

   How about MetaType1 (ftp://bop.eps.gda.pl/pub/metatype1/)?
MetaType1 is a very simplistic approach that puts severe constraints on
what may be done in a font program. It does not work for fonts
containing overlaps and shaped pens.

   How about MetaType (http://metatype.sourceforge.net/)?  MetaType is
similar in design to pktrace. However, metatype aims at producing
TrueType fonts, not Type1 fonts.  Operating MetaType requires more
additional packages. (Note: Yours Truly did not look further into
MetaType)

Todo
====

   * Inverse mapping:  convert cmr10 to Computer-Modern-Roman-10

   * Submit `tfm.py' to www.python.org. `tfm.py'  is a python   module
     to parse Tex Font Metric file.

Author
======

   Han-Wen Nienhuys <hanwen@cs.uu.nl>

Credits
=======

   The biggest credits go out to Martin Weber, who wrote AutoTrace and
George Williams <gww@silcom.com>, who wrote pfaedit.

   The package also contains gf2pbm, a utility to convert a MetaFont GF
file to a PBM file. Its source code was based on Paul Vojta's Xdvi
program. The license notice is reproduced here:

     Copyright (c) 1990-1999  Paul Vojta

     Permission is hereby granted, free of charge, to any person
     obtaining a copy of this software and associated documentation
     files (the "Software"), to deal in the Software without
     restriction, including without limitation the rights to use, copy,
     modify, merge, publish, distribute, sublicense, and/or sell copies
     of the Software, and to permit persons to whom the Software is
     furnished to do so, subject to the following conditions:

     The above copyright notice and this permission notice shall be
     included in all copies or substantial portions of the Software.

     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
     MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     NONINFRINGEMENT.  IN NO EVENT SHALL PAUL VOJTA BE LIABLE FOR ANY
     CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
     CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
     WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

   Thanks to Julian Gilbey (http://www.maths.qmul.ac.uk/~jdg/) for
finding many bugs.

See also
========

   * Type1 font specification
     (http://partners.adobe.com/asn/developer/pdfs/tn/T1Format.pdf)

   * Supplement to the Type1 specification
     (http://partners.adobe.com/asn/developer/pdfs/tn/5015.Type1_Supp.pdf).

