SourceForge Logo PfaEdit

PfaEdit has changed its name to FontForge. Current releases are found on http://fontforge.sf.net/

PfaEdit -- An outline font editor that lets you create your own postscript, truetype, opentype, cid-keyed, multi-master, cff, svg and bitmap (bdf) fonts, or edit existing ones. Also lets you convert one format to another. PfaEdit has support for many macintosh font formats.

Contents

I have no one to do QA for me except users on the net, so this is essentially (and eternally) beta software. Expect to find bugs. Please let me know when you do.

Binary distributions:

See the dependencies section below for external libraries/programs you may want to add to your system to enhance PfaEdit's capabilities.

Source distribution

You can download a source RPM: Version: 10-Mar-2004
Or you can download the source tree in one .tgz file: Version 10-Mar-2004
Or you can go to the cvs tree and get the most recent version. (This is currently delayed by 24 hours)

Dependencies

If you want to do autotracing around character images you should also download either

If you want to edit CID keyed fonts you need these character set descriptions. (These were last updated 3-Mar-2003)

You might want a copy of this extension to PfaEdit's built in character set encodings.

With the appropriate libraries, PfaEdit can import png, tiff, and gif images to act as character backgrounds for tracing purposes (PfaEdit can import bmp and xbm formats without external libraries). With libxml2 PfaEdit can read SVG fonts. With the freetype library PfaEdit will do a better job making bitmap characters for you. None is required for the proper compilation/execution of PfaEdit, if the libraries are not present they will not be used. If your machine doesn't have them and you want them they are available from:

Versions of shared libraries in my builds
libpng libtiff libungif libjpeg libxml2 libuninameslist freetype
i386 linux builds 3.1.2.2
=1.2.2
3.5
=20011128
4.1.0
=4
62.0.0
=62 (6b)
2.5.4
=2.5.4
0.0.1 6.3.3
=2.1.4
solaris builds 2
=1.0.8
3
=19970127

6
=62 (6b)



Mac OS/X builds (static)
(static) (static) 2.5.0
=2.5.0

6.3.3
=2.1.4

Normally PfaEdit depends on the X11 windowing system, but if you are just interested in the scripting engine (with no user interface), it may be built on systems without X (the configure script should figure this out).

PfaEdit has been ported to the following systems (at some point in its life)

You might also want to pull down some unicode bitmap fonts that pfaedit uses

Documentation

All the documentation files in this directory bundled up into one tgz file 1-Mar-2004.
If you do the following then PfaEdit will find the docs for you when you press F1 (ie. PfaEdit it will look in /usr/local/share/doc/pfaedit before it looks on the web):

$ mkdir -p /usr/local/share/doc/pfaedit
$ cd /usr/local/share/doc/pfaedit
$ gunzip pfaedit_htdocs-*.tgz
$ tar xf pfaedit_htdocs-*.tar
$ rm pfaedit_htdocs-*.tar

Or you can download an rpm which should install them properly for you 8-Feb-2002.

Or you can just browse the docs online. (Always current)

Building it

$ gunzip pfaedit_full-*.tgz
$ tar xf pfaedit-full*.tar
$ cd pfaedit
$ configure
$ make
$ su
# make install

PfaEdit now compiles dynamic libaries by default. If you would rather not deal with dynamic libraries (or if the compiler generates internal compiler errors when asked to generate PIC code, as Mac OS/X did in older versions) then use
        $ configure.static
instead and things should be configured for static libraries.

If you want access to type3 editing capabilities
        $ configure --with-multilayer
(this has the disadvantage of using even more memory that PfaEdit normally does, so it is off by default)

Installing it

The executable tarball contains a shell script doinstall

$ gunzip pfaedit-*.tgz
$ tar xf pfaedit-*.tar
$ cd pfaedit
$ su
# doinstall

See above on how to install using the makefile.

Running it

$ pfaedit font.pfa font2.pfb font3.sfd font4.ttf font5.otf font6.gsf font7.bdf
will start pfaedit looking at the fonts you specify on the command line. It can read either pfb or pfa fonts, and some ps fonts (type 0 fonts based on a type 1 dictionary) as well as truetype fonts, non-CID open type fonts and bitmap fonts.
$ pfaedit -new
will cause pfaedit to create a new font (in iso-8859-1 encoding)
$ pfaedit
will open up a file picker dialog and allow you to browse till you've found a font file (or have created a new one). $ pfaedit -script script.pe fonts...
This will invoke pfaedit in a non-interactive mode, and have it run the named script. Any further arguments on the command line will be passed as arguments to the script and processed (or not) by it.

License

Copyright © 2000,2001,2002,2003,2004 by George Williams

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This is essentially the "revised BSD license".

Lacks

PfaEdit is by no means complete. And probably doesn't work very well. Be prepared to save frequently and always work on a copy of the original.

Mailing Lists

There are currently three mailing lists established for PfaEdit. You may subscribe to any of them on sourceforge: http://sourceforge.net/mail/?group_id=25752. You may not post to a list until you have subscribed (sorry about that, but we were getting too much spam).

Bugs

This list includes the gross bugs that I'm aware of but don't know how to fix. Minor bugs get reported to me and are generally fixed within a week and rarely appear on this list.

Reporting bugs...

I'm sure you'll find some. If you can isolate it and come up with a reproduceable minimal case, that would be great. The executable has symbols in it so if you run it in gdb you should be able to get a stack trace... Do what you can.

fontforge-devel@lists.sourceforge.net

How else you can help.

Acknowledgements

The sample text in File->Print comes from many sources.

The following people have helped debug pfaedit. Many thanks!

I owe David Turner (and everyone else) of FreeType a debt for providing an API which allows me to debug truetype instructions.

PfaEdit was inspired by AltSys's Fontographer now placed in graceful retirement by MacroMedia.

My father inspired a general interest in typography (though he is interested in renaissance printing techniques rather than computers).

And finally I owe thanks to Linda Dozier, David Cole and everyone at NaviSoft which company has given me the free time to write this program.

Related Tools

If you know of a tool you think should be on this list, please let me know. I did my research a couple of years ago and expect it is out of date.

SourceForge Logo