A collection of simple scripts (currently for macOS only) that install various tools and libraries useful for font development and hacking.
I plan to extend this from time to time.
— Adam Twardoch, 5 April 2017
- Unpack the downloaded
fontsurgery-tools-master.zip
- Go to the
macOS
folder inside the unpackedfontsurgery-tools-master
folder. - Double-click on
install-macos.command
.
The script may run for some 10-20 minutes as it downloads and installs various libraries, and you should be ready to hack your fonts.
At the end, it’ll open the websites where you can download and manually install further tools:
- If you find that the installation does not work, please report an issue on Github.
- The scripts use Homebrew, a macOS management utility for command-line apps, which it installs when needed.
- Some libraries ("dependencies") are not usable directly, but they are installed because other tools or libraries need them.
- In the
macOS
folder, there is aupgrade-macos.command
script which will install fresh versions of the various tools. You can run it from time to time. - In the
macOS-devel
folder, there areinstall-macos-dev.command
andupgrade-macos-dev.command
scripts which will install cutting-edge versions of the same libraries as the regular script does (but those versions may fail installing or not work properly!) Note that the Python libraries will be installed in “development” mode, i.e. inside themacOS-devel/modules/src
folder. So if you use this method, please place your unpackedfontsurgery-tools-master
folder in some reasonable location, and possibly rename it (I recommend/Users/YOURUSERNAME/Developer/fontsurgery-tools
).
- The scripts install the newest Python 2.7.x and the newest Python 3.x, even though macOS already has them, but those come in an older version.
- Many of the Python libraries come with standalone command-line utilities.
- The Python libraries are installed for both Python 2.x and 3.x.
- The Python libraries are installed in the “user location” i.e.
/Users/YOURUSERNAME/Library/Python
. This makes it easy to see what’s going on. - unicodedata2
- fontMath
- ufoLib
- fonttools
- compreffor
- cu2qu
- glyphsLib
- ufo2ft
- MutatorMath
- booleanOperations
- defcon
- fontmake
- feaPyFoFum
- ufo-extractor
- glyph-name-formatter
- designSpaceDocument
- pyparsing
- vttLib
- nototools
- font-line
- shapeops
- PyICU