neato

neato is a freely-available renderer for graphs built using the dot format from AT&T Labs, see http://www.research.att.com/sw/tools/graphviz/.

wnconnect draws graphs in dot format and uses neato to render them into png and postscript formats for display.

[I've taken the liberty of bundling a compiled version of neato in the distribution so you don't have to do it from scratch.]

However, neato is a pain in the ass for MacOS X because it doesn't (and can't) use the existing fonts present in the system for reasons that will become immediately apparent. So it will complain if you don't install anything else.

You can tell wnconnect to customize the font settings for neato. The font and path to the folder containing the font can be input via the pop-up dialog box shown on the right.

This menu can be acticated by clicking the "Other Settings..." button in wnconnect:

Unfortunately, neato depends on other things not in a standard setup. Here is the dependency tree for neato 1.10:

[A compiled version of the FreeType library is included in this distribution. So you don't need to download that.]

Actually, if you want to directly generate graphs to be displayed in PDF format, you'll have to install ghostscript as well. (wnconnect uses the program ps2pdf, which comes with ghostscript.)

[Ghostscript is downloadable for free via "Get Mac OS X Software..." from the Apple menu.]

Font Issues

neato is built on FreeType, which can use TrueType fonts. Apple uses TrueType fonts as well (see folder /Library/Fonts), but they're stored in Apple's own dfont format. FreeType can't use dfont fonts.

Problem: We need to find some .ttf TrueType fonts otherwise neato will not know how to render graph labels.

Solution 1: Build some .ttf fonts and point neato to the directory using the environment variable DOTFONTPATH. You need to know some Unix to do this. Then set the graph font to be the font name minus the .ttf extension.

[For example, if you choose to install your TrueType fonts in ~/Library/Fonts/TTF, set environment variable DOTFONTPATH to ~/Library/Fonts/TTF.]

[You can convert Apple's dfont fonts in /Library/Fonts into .ttf fonts by using the freely available package fondu, see http://fondu.sourceforge.net/. After installing fondu, conversion can be done trivially as follows: mkdir ~/Library/Fonts/TTF ; cd ~/Library/Fonts/TTF ; cp /Library/Fonts/*dfont . ; /usr/local/bin/fondu *dfont]

Solution 2: Apple's own X11 package (downloadable for free, but the public beta is no longer available for MacOS X 10.2) has, as standard, the TrueType font luxisr installed in:

/usr/X11R6/lib/X11/fonts/TTF/luxisr.ttf
neato can find this font automatically as it is in one of the directories that it searches for (by default). If you have Apple's X11 already installed, just set the graph font to be luxisr.

[If you're running MacOS X 10.3, you can install Apple's X11 package for free. From the Apple menu, go to "Get Mac OS X Software..." and look for X11.]

Sandiway Fong
November 11th 2003
Tucson, Arizona