This page is step by step guide to installing FontForge for beginners.
WindowsPlease see this guide on how to install FontForge on Windows.
Mac OS XPlease 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.)
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 apt-get update; sudo apt-get 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 libltdl-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:
autoreconf -i; # you might be able to try autoconf automake; ./configure; make -j 4 -k; make check; 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:
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;