Category Archives: Releases

Compiling Fontforge 20120731 without Python

The new version of Fontforge is here. On the last couple of days I’ve been trying to compile and install it on my Mac OSX system, with very little success. Mainly because because MacPorts still doesn’t have it available and I lack the proper knowledge to do it in a clean way…

I though I had everything needed (from previous versions), but, as It turns out, the configure script kept freezing (searching for Freetype libraries) and, even after that, the make script crashed because of Python (?). I got something like this:

python.c:16039: warning: initialization makes integer from pointer without a cast
python.c:16042: warning: initialization from incompatible pointer type
python.c:16057: warning: initialization makes pointer from integer without a cast
python.c:16058: warning: initialization from incompatible pointer type
python.c:16067: warning: initialization from incompatible pointer type
make[1]: *** [python.lo] Error 1
make: *** [fontforge] Error 2

I took a little while, but, after reading the instructions and a little digging on Google, I found out this answer by Nicholas Spalinger regarding the Freetype Library timeout error during ./configure: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=605871

After a couple of trial-and-error runs (that included installing and uninstalling several versions of Python), I’ve decided to compile Fontforge without Python. In the end, the command I ended up using was:

./configure –with-freetype-src –without-python

I I know this is an easy way out, but I’ve reached the limits of my Unix capabilities… Fontforge is running smoothly for me (so far), and I hope this helps someone also…

Fontforge binaries…

A couple of weeks ago I had a conversation with Mario Moura. We started talking about the typography class he teaches at the Editorial Design master at the Fine Arts Faculty of Porto, and soon we were talking about font developing software.

I have this conversation from time to time with different people. It’s about the strategies and tools adopted in the different design learning contexts (this topic of discussion actually started a few years ago with Mario himself).  One thing led to another, and, at a given point, he reported students were having trouble finding the necessary files to install Fontforge in the Mac OSX. They still seem to find it difficult, although George Williams has dedicated a significant amount of effort into documenting all the necessary steps. I’ve also tried to simplify it before.

Even when they can understand the necessary steps, there’s always the need to download X11, or to have XCode and the necessary libraries on the system. Other issues include the need to have MacPorts download the gigabytes of ports and dependencies needed to build Fontforge from the source files…I know from my personal experience that this can be very frustrating.

So, if you need to use it in classes, or you can’t build it on your system, here’s quick-fix solution to it (you still need to have install permissions):

  1. Download and install XQuartz, an alternative open source X window system for the Mac OSX;
  2. Download and install the necessary dependencies;
  3. Download and install the latest Fontforge release (20110222).

That’s all there is to it! Now you only have to start XQuartz, then type “fontforge” into the terminal and start editing your fonts.

I’ve pre-compiled Fontforge and almost all the dependencies on OSX 10.6. Somehow I managed to build and install libjpeg and libtiff from source. I think they’ve been included into this build, but I couldn’t create the .dmgs for them with the port command. Nevertheless, everything should be working except the EPS import. As I have only one Mac OSX system, I can’t really test if everything is working as it should, so I’m making this available “as is”…

As a final note, I urge you to check all the necessary license agreements before using these builds. Here’s Fontforge’s license:

Copyright 2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011 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.