The AFDKO is a set of tools for building OpenType font files from PostScript and TrueType font data.
This repository contains the data files, Python scripts, and sources for the command line programs that comprise the AFDKO. The project uses the Apache 2.0 OpenSource license.
Please refer to the AFDKO Overview for a more detailed description of what is included in the package.
Please see the wiki for additional information, such as links to reference materials and related projects.
The AFDKO requires Python 3.6 or later.
Releases are available on the Python Package Index (PyPI) and can be installed with pip.
Option 1 (Recommended)
-
Create a virtual environment:
python3 -m venv afdko_env
-
Activate the virtual environment:
-
macOS & Linux
source afdko_env/bin/activate
-
Windows
afdko_env\Scripts\activate.bat
-
-
Install afdko:
pip install afdko
Installing the afdko inside a virtual environment prevents conflicts between its dependencies and other modules installed globally.
Option 2
Install afdko globally:
pip install --user afdko
Use the -U
(or --upgrade
) option to update the afdko (and its
dependencies) to the newest stable release:
pip install -U afdko
To get pre-release and in-development versions, use the --pre
flag:
pip install -U afdko --pre
To remove the afdko package use the command:
pip uninstall afdko
First you must have installed the development tools for your platform.
On the Mac, install these with:
xcode-select --install
On Linux (Ubuntu 17.10 LTS or later), install these with:
apt-get -y install python3.6
apt-get -y install python-pip
apt-get -y install python-dev
On Windows, you need Visual Studio 2017.
To build the afdko from source, clone the afdko GitHub
repository, ensure the wheel
module is installed (pip install wheel
), then cd
to the top-level
directory of the afdko, and run:
pip install .
Note
It's not possible to install the afdko in editable/develop mode using
pip install -e .
; this is because the toolkit includes binary C executables
which setup.py tries to install in the bin/ (or Scripts/) folder, however
this process was only meant to be used with text-based scripts (either
written in Python or a shell scripting language). To work around this problem
(which really only impacts the few core afdko developers who need to get live
feedback as they modify the source files) you can use alternative methods like
exporting a PYTHONPATH, using a .pth file or similar hacks.
For further details read this comment.
-
The AFDKO has been restructured so that it can be installed as a Python package. It now depends on the user's Python interpreter, and no longer contains its own Python interpreter.
-
Two programs, IS and checkoutlines were dropped because their source code could not be open-sourced. These tools are available in release version 2.5.65322 and older.
Note
If you install the old AFDKO as well as the new PyPI afdko package, the tools from the newer version will take precedence over the older. This happens because pip adds the afdko's package path at the beginning of the system's PATH environment variable, whereas the old installer adds it at the end; this modification to PATH is not undone by the uninstaller. If you want to completely remove the path to the newer version, you will have to edit the PATH. On the Mac, this means editing the line in your login file that sets the PATH variable. On Windows, this means editing the PATH environment variable in the system's Control Panel.