CAVEAT FontForge used to be called PfaEdit. Early releases may be found at http://pfaedit.sf.net/ INSTALLATION NOTES: This distribution may be in two formats, either it contains dynamic libraries or it does not. INSTALLATION WITH DYNAMIC LIBRARIES contains two executables: fontforge -- a font editor sfddiff -- a program for comparing fonts man pages for the above fontforge.1 sfddiff.1 two libraries libgdraw.so libgunicode.so and some user interface files fontforge.{en,fr,de,ru,ja}.ui and a shell script doinstall which should put everything into a reasonable place (you probably need to be root to run it). If you want to edit CID-keyed fonts (for CJK fonts) you may want to pull down the cidmap package from http://fontforge.sf.net/cidmaps.tgz and move the contents to /usr/share/fontforge also. INSTALLATION WITHOUT DYNAMIC LIBRARIES Otherwise the package will contain: A README file or two fontforge -- the executable fontforge.1 -- the man page. You should: $ su # mkdir -p /usr/local/bin /usr/local/man/man1 /usr/local/share/fontforge # mv fontforge /usr/local/bin # mv *.1 /usr/local/man/man1 # mv *.ui /usr/local/share/fontforge You may need to add /usr/local/bin to your PATH environment variable (and /usr/local/man to your MANPATH environment variable). If you use bash edit ~/.bashrc and add PATH=${PATH}:/usr/local/bin MANPATH=${MANPATH:-}:/usr/local/man ; export MANPATH Or if you use csh, tcsh, etc. edit your ~/.cshrc and add: setenv PATH ${PATH}:/usr/local/bin if ( $?MANPATH == "0" ) then setenv MANPATH /usr/local/man else setenv MANPATH ${MANPATH}:/usr/local/man endif BUILDING Just download the file fontforge_full-*.tar.bz2 which you will find on http://fontforge.sourceforge.net/index.html#source Move it somewhere appropriate (/usr/local/src perhaps?) and type: $ bunzip2 fontforge_full-*.tar.bz2 ; tar xf fontforge_full-*.tar $ cd fontforge $ ./configure $ make $ su # make install On those machines where I can't figure out how to build dynamic libraries you should substitute "configure.static" for configure. If you want access to FontForge's type3 editing capabilities then $ ./configure --enable-type3 More complex installations "make install" will also install a few other things which are not part of the standard package, but which are useful for some people. CIDMAPS: If you are going to be editing CID keyed fonts you should also down- load my cidmap files from http://fontforge.sourceforge.net/cidmaps.tgz put that file in the same place as you put fontforge_full*.tgz, then $ mkdir -p fontforge/cidmaps $ mv cidmaps.tgz fontforge/cidmaps $ cd fontforge/cidmaps $ gunzip *.tgz ; tar xf *.tar $ cd ../.. And then proceed to do the normal install. DOCUMENTATION: You can choose to install FontForge's documentation on your system, then pressing the [Help] or [F1] key within FontForge will go to the local docs rather than those on the web. Download the doc bundle from http://fontforge.sourceforge.net/index.html#docs Then (assuming you have not changed the install prefix) # mkdir -p /usr/local/share/doc/fontforge # mv fontforge_htdocs-*.tgz /usr/local/share/doc/fontforge # cd /usr/local/share/doc/fontforge # gunzip *.tgz; tar xf *.tar BUILDING for OpenVMS Jouk Jansen has provided me with OpenVMS makefile scripts. There should be mms files in all the appropriate directories. BUILDING without X11 FontForge can be built without X11. You will probably only want to do this if your system lacks X (in which case configure should figure that out and do it automagically). But if, for some strange reason you wish to build a non-X version on a machine with X type: $ configure --without-x BITMAP FONTS The program sort of assumes you've got some unicode fonts lying around. The program will choose fonts as best it can depending on what you have installed on your machine. Sources of unicode fonts: http://czyborra.com/unifont/ http://clr.nmsu.edu/~mleisher/cu.html http://savannah.nongnu.org/projects/freefont http://bibliofile.mc.duke.edu/gww/fonts/{Monospace,Caliban} DEPENDENCIES FontForge has more functionality if libpng and libungif are installed on your system. If they are not then you can find them at: http://www.libpng.org/pub/png/libpng.html http://www.gzip.org/zlib/ http://prtr-13.ucsc.edu/~badger/software/libungif/index.shtml FontForge also makes use of libuninameslist to be found at: http://libuninameslist.sf.net/ FontForge's truetype debugger is completely dependent on: http://freetype.sf.net/ The default configuration is useful to FontForge, but more functionality is obtained if you enable the bytecode interpreter (but note: you must have a license from Apple to do this). Instructions for doing so are in the file README.UNX in the freetype distribution. *** FontForge also needs to have the freetype sources available to it *** *** when it builds (it needs some internal include files). The configure *** *** script can usually figure this out, but it is very time-consuming *** *** you might want to say $ ./configure --with-freetype-src= *** *** where is the top-level freetype source directory *** Finally, if you want to do autotracing you should install http://sourceforge.net/projects/autotrace/ or http://potrace.sf.net/ RUNNING $ fontforge -new Creates a new font $ fontforge -nosplash (No splash screen in case you have a very slow X connection) $ fontforge font.pfa font2.pfb font3.ttf font4.otf font4.sfd font5.svg Opens those fonts (sfd files are fontforge's own spline font database files) $ fontforge Brings up a file picker dlg. DOCUMENTATION http://fontforge.sourceforge.net/overview.html Please report any bugs to fontforge-devel@lists.sourceforge.net (if you wish to send large testcases, example fonts, etc. please use fontforge-testcases@lists.sourceforge.net