Adobe Font Development Kit for OpenType
C Python PostScript C++ Makefile GAP Other
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.travis build manylinux1 wheel for Linux python2.7 (#319) Apr 19, 2018
c cleanup spot Aug 18, 2018
docs Remove script Aug 15, 2018
python/afdko [ufotools] Fix undefined self.topDict Aug 16, 2018
tests [makeotf test] Replace hardcoded paths Aug 17, 2018
.appveyor.yml add cpplint of spot to CI Aug 18, 2018
.clang-format tell clang-format not to sort includes Jul 30, 2018
.codecov.yml turning off the codecov status checks too Feb 1, 2018
.coveragerc coverage: run in parallel & combine afterwards Jul 25, 2018
.gitattributes tell git how to handle PFA & PFB files Aug 15, 2018
.gitignore Update Visual Studio files to version 2017 - take 2 Aug 15, 2018
.prospector.yaml add prospector.yaml file for Codacy Feb 2, 2018
.pyup.yml Config file for (#362) May 10, 2018
.travis.yml add cpplint of spot to CI Aug 18, 2018
CPPLINT.cfg mute cpplint runtime/casting messages for now Aug 17, 2018 [License] Change file extension. Update copyright string. Jan 30, 2018 Change tool name references to lowercase Jul 24, 2018 Change tool name references to lowercase Jul 24, 2018
pyproject.toml use git to compute version and files for source distribution (#315) Apr 18, 2018
requirements-dev.txt add cpplint to the development requirements file Jul 30, 2018
requirements.txt [packaging] Add psautohint to the list of dependencies Aug 14, 2018
setup.cfg Updated files to reflect file name change from `LICENSE.txt` to `LICE… Feb 1, 2018 Remove script Aug 15, 2018

Travis Appveyor Codacy Coverage PyPI

Adobe Font Development Kit for OpenType (AFDKO)

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 file AFDKO-Overview.html 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.

Major Changes

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. In order to do this, two Adobe-owned, non-open source programs were dropped: IS and checkoutlines. If these turn out to be sorely missed, an installer for them will be added to the old Adobe AFDKO website. The current intent is to migrate the many tests in checkoutlines to the newer checkoutlinesufo (which does work with OpenType and Type 1 fonts, but currently does only overlap detection and removal, and a few basic path checks).


The AFDKO requires Python 2.7.x. It does not yet support Python 3.x.

Releases are available on the Python Package Index (PyPI) and can be installed with pip.


Option 1 (Recommended)

  • Install virtualenv:

      pip install --user virtualenv
  • Create a virtual environment:

      python -m virtualenv afdko_env
  • Activate the virtual environment:

    • macOS & Linux

        source afdko_env/bin/activate
    • Windows

  • 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


If you have both the FDK from the Adobe AFDKO web page installed, and the new afdko package installed, the commands in the new afdko will take precedence over commands in the older Adobe FDK, as the Python package directory is added at the beginning of the PATH directory list, and the old installer added the Adobe FDK directory to the end of the list.

Note that the PyPI installer will add the new adko package paths to the start of your system PATH environment variable, and this is not undone by the uninstaller. If you want to completely clean up, you will need to change the PATH environment variable to remove the new afdko executable directories. 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 control panel.

You can download older versions of the tools from the Adobe AFDKO homepage. The tools IS and checkoutlines are included in these downloads.

Build from Source

In order to build afdko from source get the files from the afdko github repository, cd to the top-level directory of the afdko, and use the script:

python install

And to be able to run this install command, you must first have installed the development tools for your platform.

On the Mac, install these with:

xcode-select --install

On Linux, install these with:

apt-get -y install python2.7
apt-get -y install python-pip
apt-get -y install python-dev

On Windows, you need to download and install Visual C++ 6, and add all the service packs.