I've been recently doing some batch processing of TrueType fonts and came across FontForge, which is a really nice font editor with powerful scripting possibilities, exactly the kind of program one needs.

It's all great except one thing: FontForge is distributed in the form of source code. It's too bad for a spoilt Windows user like me :) so I've started looking for binaries.

For OSX the situation is much tougher, you need either to build it yourself or get pre-build binaries somewhere (I got mine using MacPorts). If your goal is the same as mine to have a self-contained package that is easy to copy between multiple computers (e.g as a part of shared environment), the joy doesn't end here as the main FontForge executable refers its dynamic modules using absolute paths, which brings a lot of inconvenient dependencies.

So I've decided to break these dependencies step by step:

1) Here's a list of binaries to deal with (copy them to the same dir):

fontforge:/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0)/opt/local/lib/libfontforge.1.dylib (compatibility version 2.0.0, current version 2.0.0)/opt/local/lib/libgdraw.4.dylib (compatibility version 5.0.0, current version 5.10.0)/opt/local/lib/libgutils.1.dylib (compatibility version 2.0.0, current version 2.3.0)/opt/local/lib/libgunicode.3.dylib (compatibility version 4.0.0, current version 4.2.0)/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0)/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)/opt/local/lib/libXi.6.dylib (compatibility version 8.0.0, current version 8.0.0)/opt/local/lib/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)/opt/local/lib/libxkbui.1.dylib (compatibility version 2.0.0, current version 2.0.0)/opt/local/lib/libXt.6.dylib (compatibility version 7.0.0, current version 7.0.0)/opt/local/lib/libSM.6.dylib (compatibility version 7.0.0, current version 7.1.0)/opt/local/lib/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0)/opt/local/lib/libxkbfile.1.dylib (compatibility version 2.0.0, current version 2.2.0)/opt/local/lib/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0)/opt/local/lib/libxcb.1.dylib (compatibility version 3.0.0, current version 3.0.0)/opt/local/lib/libXau.6.dylib (compatibility version 7.0.0, current version 7.0.0)/opt/local/lib/libXdmcp.6.dylib (compatibility version 7.0.0, current version 7.0.0)/opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.43.0)

fontforge:/System/Library/Frameworks/CoreServices.framework/Versions/A/CoreServices (compatibility version 1.0.0, current version 44.0.0)/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 152.0.0)@executable_path/libfontforge.1.dylib (compatibility version 2.0.0, current version 2.0.0)@executable_path/libgdraw.4.dylib (compatibility version 5.0.0, current version 5.10.0)@executable_path/libgutils.1.dylib (compatibility version 2.0.0, current version 2.3.0)@executable_path/libgunicode.3.dylib (compatibility version 4.0.0, current version 4.2.0)@executable_path/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0)/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)@executable_path/libXi.6.dylib (compatibility version 8.0.0, current version 8.0.0)@executable_path/libXext.6.dylib (compatibility version 11.0.0, current version 11.0.0)@executable_path/libxkbui.1.dylib (compatibility version 2.0.0, current version 2.0.0)@executable_path/libXt.6.dylib (compatibility version 7.0.0, current version 7.0.0)@executable_path/libSM.6.dylib (compatibility version 7.0.0, current version 7.1.0)@executable_path/libICE.6.dylib (compatibility version 10.0.0, current version 10.0.0)@executable_path/libxkbfile.1.dylib (compatibility version 2.0.0, current version 2.2.0)@executable_path/libX11.6.dylib (compatibility version 10.0.0, current version 10.0.0)@executable_path/libxcb.1.dylib (compatibility version 3.0.0, current version 3.0.0)@executable_path/libXau.6.dylib (compatibility version 7.0.0, current version 7.0.0)@executable_path/libXdmcp.6.dylib (compatibility version 7.0.0, current version 7.0.0)@executable_path/libiconv.2.dylib (compatibility version 8.0.0, current version 8.1.0)

libintl.8.dylib:/opt/local/lib/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0)/opt/local/lib/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.42.0)

libintl.8.dylib:@executable_path/libintl.8.dylib (compatibility version 10.0.0, current version 10.1.0)@executable_path/libiconv.2.dylib (compatibility version 8.0.0, current version 8.0.0)/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1)/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 550.42.0)

It's a tedious job, but after a while you've got a nice self-contained FontForge package for OSX!