About the Source

Font Runner began life more than a decade ago during the Visual C++ 6 era. The second version tacked some new features onto the original and I did some refactoring for 3.0, but there is likely a lot of old code laying around in there. A colleague of mine is fond of saying “code doesn’t rust” and since MFC is still a kicking around and I doubt Font Runner calls any deprecated WinAPI functions, I expect that old code will continue to work correctly. I’ve always paid close attention to Microsoft’s guidelines; listening to advice from the OS vendor goes a long way towards future-proofing an application.

Part of the refactoring for 3.0 was an effort to keep distinct parts of the program separate from each other so I connected many objects using Boost Signals (v1 at first, then v2). The Signals library allowed me to raise notifications in one object without it requiring knowledge about objects that might receive them. For example, when the user selects a new folder, there are a number of components that need to know about it. I didn’t want the folder tree to contain logic about what needed to be done in other parts of the program.

Browsing the Source

Font Runner is hosted at Bitbucket. Have a look around.

Building Font Runner from Source

Here’s how to build and run it:

1. Get the source code:
git clone

2. Download Boost. Any recent version should do.

3. Extract Boost so it is rooted at Libraries\Boost within the Font Runner source tree
(For example, the bootstrap file should be at Libraries\Boost\bootstrap.bat)

4. Build Boost

a) Open a Visual Studio Command Prompt (2010)

b) cd to the Boost root and run bootstrap.bat.

c) Run this command in the root of the Boost folder:
bjam -j8 --with-regex --build-type=minimal stage --stagedir=bin/vc100/x86 toolset="msvc-10.0" threading=multi link=static debug release

d) Open a Visual Studio x64 Win64 Command Prompt (2010)

e) Run this command in the root of the Boost folder:
bjam -j8 --with-regex --build-type=minimal stage --stagedir=bin/vc100/x64 toolset="msvc-10.0" threading=multi link=static address-model=64 debug release

5. You will probably have to run Visual Studio as administrator in order for
registration of the Color Picker control to succeed.

6. Open FontRunner\program\FontRunner\FontRunner.sln.

Building the Installers

1. Download and install Wix.

2. Ensure the the Relase Win32 and x64 versions of FontRunner are built.

3. Open FontRunner\installer\Installers.sln

4. Build the Release|Any CPU configuration.

5. The FontRunner\installer\bin\Release folder should contain the 32-bit and 64-bit installers.

Feel free to hack on it. If you have any questions or comments, use the contact page.