Skip to main content

AFDKO Test Suite

Coverage

PyPI

Join the chat at https://gitter.im/adobe-type-tools/afdko

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.

Note: This version of the toolkit has been restructured and what was C code has been partially ported to C++. For now these changes are considered experimental and there may be significant bugs. However, the new code can do more or less what the older code did and passes our test suite.

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 Open Source license. Please note that the AFDKO makes use of several dependencies, listed in the requirements.txt file, which will automatically be installed if you install AFDKO with pip. Most of these dependencies are BSD or MIT license, with the exception of tqdm, which is MPL 2.0.

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.

📣 Recent News

AFDKO 5.0.0 is a major release featuring:

  • Unified command interface: afdko <command> syntax
  • Variable font support in addfeatures (replaces makeotfexe)
  • Extensive C→C++ codebase modernization

See NEWS.md for full release notes and migration guide.

Installation

The AFDKO requires Python 3.10 or later. It should work with any Python > 3.10, but occasionally tool-chain components and dependencies don't keep pace with major Python releases, so there might be some lag time while they catch up.

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

Note for all users: we STRONGLY recommend the use of a Python virtual environment (venv) and the use of python -m pip install <package> to install all packages (not just AFDKO). Calling pip install directly can result in the wrong pip being called, and the package landing in the wrong location. The combination of using a venv + python -m pip install helps to ensure that pip-managed packages land in the right place.

Note for Linux users (and users of other platforms that are not macOS or Windows): When there is not a pre-built "wheel" for your platform pip will attempt to build the C and C++ portions of the package from source. This process will only succeed if both the C and C++ development tools and libuuid are installed. See build from source below.

Installing

Option 1 (Recommended)

  • Create a virtual environment:

    python -m venv afdko_env
    
  • Activate the virtual environment:

    • macOS & Linux

      source afdko_env/bin/activate
      
    • Windows

      afdko_env\Scripts\activate.bat
      
  • Install afdko:

    python -m pip install afdko
    

Installing the afdko inside a virtual environment prevents conflicts between its dependencies and other modules installed globally.

Option 2 (not recommended unless there is a global conflict)

Local user installation afdko (info):

python -m pip install --user afdko

Updating

Use the -U (or --upgrade) option to update the afdko (and its dependencies) to the newest stable release:

python -m pip install -U afdko

To get pre-release and in-development versions, use the --pre flag:

python -m pip install -U afdko --pre

Uninstalling

To remove the afdko package use the command:

python -m pip uninstall afdko

Build from source

First you must have installed the development tools for your platform.

On macOS, install these with:

xcode-select --install

On Linux (Ubuntu 17.10 LTS or later), install these with:

apt-get -y install python3.9
apt-get -y install python-pip
apt-get -y install python-dev
apt-get -y install uuid-dev

On other POSIX-like operating systems, libuuid and its header files may be in a package named libuuid-devel, util-linux-libs or uuid-dev. The source code for libuuid is maintained in the util-linux repository.

On Windows, you need Visual Studio 2017 or later.

To build the afdko from source, clone the afdko GitHub repository, ensure the wheel module is installed (python -m pip install wheel), then cd to the top-level directory of the afdko, and run:

python -m pip install .

Developing

If you'd like to develop & debug AFDKO using Xcode, run:

CMake -G Xcode .

For further information on building from source see docs/FDK_Build_Notes.md.

Release files for afdko 5.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for afdko 5.0.1
File Size Uploaded
afdko-5.0.1.tar.gz 17.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for afdko 5.0.1
File
afdko-5.0.1-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
afdko-5.0.1-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
afdko-5.0.1-cp313-cp313-macosx_10_15_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.15+ x86-64 Details
afdko-5.0.1-cp313-cp313-macosx_10_15_universal2.whl CPython 3.13 CPython 3.13 macOS 10.15+ universal2 (ARM64, x86-64) Details
afdko-5.0.1-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
afdko-5.0.1-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
afdko-5.0.1-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
afdko-5.0.1-cp312-cp312-macosx_10_15_universal2.whl CPython 3.12 CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64) Details
afdko-5.0.1-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
afdko-5.0.1-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
afdko-5.0.1-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
afdko-5.0.1-cp311-cp311-macosx_10_15_universal2.whl CPython 3.11 CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64) Details
afdko-5.0.1-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
afdko-5.0.1-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
afdko-5.0.1-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
afdko-5.0.1-cp310-cp310-macosx_10_15_universal2.whl CPython 3.10 CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64) Details

Total release size: 72.6 MB

Release files / afdko-5.0.1.tar.gz

Download URL afdko-5.0.1.tar.gz
Size 17.4 MB
Tags Source
SHA-256 checksum
How to use checksums
083b504a1cd865e8bfbb42134a34318ce42ef5130daebfc5b0e2f2fb444326c5
BLAKE2b-256 checksum
How to use checksums
ab36faa1c9eb87382a52a8a46786f7dac5baaf59bb521dff3f9dd29ea5ce87ee
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp313-cp313-win_amd64.whl

Download URL afdko-5.0.1-cp313-cp313-win_amd64.whl
Size 2.7 MB
Tags CPython 3.13 Windows x86-64
SHA-256 checksum
How to use checksums
e019f19475653dac358ccf3d66e3e6dcd0c99ea458fed6c4314b8ca737c2d597
BLAKE2b-256 checksum
How to use checksums
f773292c404102fa6080515675fd2763c80fef9f6eb4510f1318ef5b1382661b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL afdko-5.0.1-cp313-cp313-manylinux_2_28_x86_64.whl
Size 3.4 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
873b55e0086ed2b76e04060ed542f6336d6b680397aa24da7786679be714af04
BLAKE2b-256 checksum
How to use checksums
be4d758dff2c11f4806943ea0cfd9c33b7e935419031e5f41994d318aafd4415
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp313-cp313-macosx_10_15_x86_64.whl

Download URL afdko-5.0.1-cp313-cp313-macosx_10_15_x86_64.whl
Size 2.9 MB
Tags CPython 3.13 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
65993810f512efddf9fae5276cfbbe3c1ec95a2c908624fd6f0033cdd78d6470
BLAKE2b-256 checksum
How to use checksums
3404d1a81c15f7ab71d16752f6ebeece8099cb095463babb377470e75402b52c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp313-cp313-macosx_10_15_universal2.whl

Download URL afdko-5.0.1-cp313-cp313-macosx_10_15_universal2.whl
Size 4.8 MB
Tags CPython 3.13 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
6c9fc8a1ed74493c281435d17ca6d826b03bcac4e34a653fa6d922f1cf19f4d5
BLAKE2b-256 checksum
How to use checksums
0fb0ac3b369c906d02f68a7300d626a61a562be07c57a89ab40737c1905055cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp312-cp312-win_amd64.whl

Download URL afdko-5.0.1-cp312-cp312-win_amd64.whl
Size 2.7 MB
Tags CPython 3.12 Windows x86-64
SHA-256 checksum
How to use checksums
c5aca7e9c8ed8ad3f411ba9e60cdcc5e820ca2326efc8332168fec995600c15a
BLAKE2b-256 checksum
How to use checksums
de080d5046bd4d4dfc10d0d44feb3fa44886fcf8fa55161f4a4721ea3b90c340
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL afdko-5.0.1-cp312-cp312-manylinux_2_28_x86_64.whl
Size 3.4 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f2f28f623278052aca55e8c730819347ef3443ce69b0ac2134df721bc82a22be
BLAKE2b-256 checksum
How to use checksums
a573b4c67509dd0daaecaf93cd5f425f6a49565aa44df1e10fab2bca3899bb65
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp312-cp312-macosx_10_15_x86_64.whl

Download URL afdko-5.0.1-cp312-cp312-macosx_10_15_x86_64.whl
Size 2.9 MB
Tags CPython 3.12 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
61fc3b8781e09780d0c0298f20ddb13accff0a9287d044dce222784944aa281e
BLAKE2b-256 checksum
How to use checksums
168076a1ebbdb9010bc04b6306e3be335be1eb29ada683b12ddea897c5c52eeb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp312-cp312-macosx_10_15_universal2.whl

Download URL afdko-5.0.1-cp312-cp312-macosx_10_15_universal2.whl
Size 4.8 MB
Tags CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
4c8b455135f2ad7dde9cd06e83e2f76bd65cd52e904c26124ffb329216fdb66f
BLAKE2b-256 checksum
How to use checksums
847a2d0b981cb297fe263088b87358bcb541792a6ee8aa61fd2c14da7560fd85
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp311-cp311-win_amd64.whl

Download URL afdko-5.0.1-cp311-cp311-win_amd64.whl
Size 2.7 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
5e69990c29d9ee77890888a23598f4ea0c7870f1abfe3d129081b3012a81293a
BLAKE2b-256 checksum
How to use checksums
b0f0931a735e688431d5a437989a6250595bd47b5026ff48014596cc3120ba5d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL afdko-5.0.1-cp311-cp311-manylinux_2_28_x86_64.whl
Size 3.4 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
b387565947aa2150d68b480c2271ce04937b9caf4b33ef86c925afb0bda5311e
BLAKE2b-256 checksum
How to use checksums
3df93959e1ecb16f9487064a849820839f6755b331a94e850885895221bb63bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp311-cp311-macosx_10_15_x86_64.whl

Download URL afdko-5.0.1-cp311-cp311-macosx_10_15_x86_64.whl
Size 2.9 MB
Tags CPython 3.11 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
15b864d3bbf949d784a89bc7a182d0c8fd1d5c478ad6fa64edcebfff7442afa4
BLAKE2b-256 checksum
How to use checksums
9e94d7f1a8272bff5fe82b7de81d635b513baa5f0841b16bbf4e65e356a071ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp311-cp311-macosx_10_15_universal2.whl

Download URL afdko-5.0.1-cp311-cp311-macosx_10_15_universal2.whl
Size 4.8 MB
Tags CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
92e090f88a6fb8567474c4f69ee1ac1c1af6ce3fad7e99cabbb2a557e19ef877
BLAKE2b-256 checksum
How to use checksums
91508e0f521b88faf60eb5c7862f6a835b1a5c45239ecb233370cc5cffc269ed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp310-cp310-win_amd64.whl

Download URL afdko-5.0.1-cp310-cp310-win_amd64.whl
Size 2.7 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
6fb2d8f574619fb350dfc63cb59370340969b724ed3623f341979cdedc30ac01
BLAKE2b-256 checksum
How to use checksums
afe5c6c7fff89ebc70d073dce97556de057b7bd95995ecfc13e2be0bedfae963
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL afdko-5.0.1-cp310-cp310-manylinux_2_28_x86_64.whl
Size 3.4 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
8c78f5e2b1e0c4d208d9123b79ec95bba3082f30fafa82de64da13c5dbe52a4d
BLAKE2b-256 checksum
How to use checksums
edf3ccd447912521b65070dff13c74673e748d53d77e6fcd6981149af1aa668c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp310-cp310-macosx_10_15_x86_64.whl

Download URL afdko-5.0.1-cp310-cp310-macosx_10_15_x86_64.whl
Size 2.9 MB
Tags CPython 3.10 macOS 10.15+ x86-64
SHA-256 checksum
How to use checksums
4d2971ad125541f5660b6db6da120786ba42471aa58b5e060970d0df77c53d45
BLAKE2b-256 checksum
How to use checksums
4bdabda10bda4a840d54140c193863c9cc61e19ae4f8815e9b6978e24749df83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / afdko-5.0.1-cp310-cp310-macosx_10_15_universal2.whl

Download URL afdko-5.0.1-cp310-cp310-macosx_10_15_universal2.whl
Size 4.8 MB
Tags CPython 3.10 macOS 10.15+ universal2 (ARM64, x86-64)
SHA-256 checksum
How to use checksums
225f2e90e19ca7be326a63d0dfc717b1659a54e2a54fc3c60542a993cce9d8ef
BLAKE2b-256 checksum
How to use checksums
16c529c43f712b066b24fcdb6afe5c3e7fe15946d41063d6d772d601f572b5a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

5.0.1 This release

17 release files

5.0.0

17 release files

4.0.3

5 release files

4.0.2

5 release files

4.0.1

5 release files

4.0.0

5 release files

3.9.7

5 release files

3.9.6

5 release files

3.9.5

5 release files

3.9.4

5 release files

3.9.3

5 release files

3.9.2

5 release files

3.9.1

5 release files

3.9.0

5 release files

3.8.3

5 release files

3.8.2

5 release files

3.8.1

5 release files

3.8.0

5 release files

3.7.1

4 release files

3.6.2

4 release files

3.6.1

4 release files

3.6.0

4 release files

3.5.1

4 release files

3.5.0

4 release files

3.4.0

4 release files

3.3.0

4 release files

3.2.1

4 release files

3.2.0

4 release files

3.1.0

4 release files

3.0.1

4 release files

3.0.0

4 release files

2.9.1

5 release files

2.8.10

4 release files

2.8.9

5 release files

2.8.8

5 release files

2.8.7

5 release files

2.8.6

5 release files

2.8.5

5 release files

2.8.4

5 release files

2.8.3

5 release files

2.8.2

5 release files

2.8.1

4 release files

2.8.0

7 release files

2.7.2

5 release files

2.7.0

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page