This page is step by step guide to installing FontForge for beginners.
Windows
Please see this guide on how to install FontForge on Windows.Mac OS X
Please see this guide on how to install FontForge on Mac OS X. (To solve copy-paste problems with FontForge and also Inkscape, change the X11 preferences' "Pasteboard" settings to that "Enable syncing" is disabled.)GNU/Linux
Install the required programs
The parts in the light blue boxes are commands that should be typed (copy and pasted) into your "Terminal" program.
When using Debian or Ubuntu:
sudo aptitude update; sudo aptitude install -y autoconf libtool libpng12-dev zlibc zlib1g-dev libtiff-dev libungif4-dev libjpeg-dev libxml2-dev libuninameslist-dev xorg-dev subversion cvs gettext git libpango1.0-dev libcairo2-dev python-dev uuid-dev libreadline-dev;and enter your password when prompted.
When using Fedora or Red Hat:
sudo yum update; sudo yum install -y libpng-devel zlib-devel libtiff-devel giflib-devel libjpeg-devel libxml2-devel libuninameslist-devel cairo-devel python-devel cvs git subversion mercurial pango-devel libtool-ltdl-devel libtool-ltdl libtool libuuid-devel readline-devel czmq-devel; sudo yum groupinstall -y x-software-development development-tools;and enter the root password when prompted.
Download, Compile and Install FontForge Dependencies
First, use the 'change directory' command "cd" to ensure you are in your 'home directory' ("~"). Then make a "source code" folder with the 'make directory' command "mkdir" to keep things tidy. Then change to that directory.
cd ~; mkdir src; cd src;Using the Git version control program, download the other source code to enable all of FontForge's features: Freetype2 is a text rendering system used to draw fonts on screen; libspiro is the Spiro drawing program that is integrated into FontForge; libuninameslist is a program for looking up descriptions of unicode characters, and libzmq and czmq are programs required for the new real time collaboration feature.
git clone git://git.sv.gnu.org/freetype/freetype2.git; git clone https://github.com/fontforge/libspiro.git; git clone https://github.com/fontforge/libuninameslist.git; git clone https://github.com/zeromq/libzmq.git; git clone https://github.com/zeromq/czmq.git;These 3 commands change to the libspiro directory, configure, compile and install it:
cd ~/src/libspiro; ./configure; make -j 4 -k; sudo make install;
These 3 commands change to the libuninameslist directory, configure, compile and install it:
cd ~/src/libuninameslist; ./configure; make -j 4 -k; sudo make install;
These 3 commands change to the libzmq directory, configure, compile and install it:
cd ~/src/libzmq; ./autogen.sh; ./configure; make -j 4 -k; sudo make install;
These 3 commands change to the czmq directory, configure, compile and install it:
cd ~/src/czmq; ./autogen.sh; ./configure; make -j 4 -k; sudo make install;
Download FontForge source code
Typically, you will want to download the latest daily source code, with the "git" version control system, hosted by the GitHub website. To do this, run:
cd ~/src/; git clone https://github.com/fontforge/fontforge.git;Compile, install and run FontForge
Now configure, compile and install FontForge:
cd ~/src/fontforge/; ./autogen.sh; ./configure --with-freetype=../freetype2; make -j 4 -k; sudo make install; sudo ldconfig;Finally, run FontForge:
/usr/local/bin/fontforge;
Updating your source code
You don't have to do all this each time you want to update. Just run the following commands:
cd ~/src/libspiro; make clean; svn up; ./configure; make; sudo make install; cd ~/src/freetype2; git pull; cd ~/src/fontforge; sudo make clean; git pull; ./configure --with-freetype=../freetype2; make -j 4 -k; sudo make install; sudo ldconfig;