PfaEdit -- An outline font editor that lets you create your own postscript, truetype, opentype, cid-keyed, 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.
See the dependencies section below for external libraries/programs you may want to add to your system to enhance PfaEdit's capabilities.
You can download a source RPM: Version:
10-Dec-2003
Or you can download the source tree in
one .tgz file: Version
10-Dec-2003
Or you can go to the
cvs
tree and get the most recent version. (This is currently delayed by 24
hours)
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:
Some of PfaEdit's commands depend on your compiling
freetype with the byte code interpreter enabled. This is disabled by default
because it infringes on certain
patents granted to
Apple. If you have a license from Apple then you may enable the interpreter
by setting the appropriate macro in .../include/freetype/config/ftoption.h
before you build the library (see the README.UNX file on the top level of
the freetype distribution).
PfaEdit needs to have the freetype source directories available when it is built (there are some include files there which it depends on) |
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
All the documentation files in this directory bundled up into one
tgz file 10-Dec-2003.
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)
$ 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 does for me) then use
$ configure.static
instead and things should be configured for static libraries.
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.
$ 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.
Copyright © 2000,2001,2002,2003 by George WilliamsRedistribution 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.
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.
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).
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.
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.
pfaedit-devel@lists.sourceforge.net
U+0066 + U+0069 => U+FB01 'liga'
The sample text in File->Print comes from many sources.
The following people have helped debug pfaedit. Many thanks!
I owe David Turner 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.
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.