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

The Python port of psautohint was (re)integrated into the AFDKO repository as "otfautohint"

More information can be found in docs/otfautohint_Notes.md

AFDKO now provides a unified command interface

All AFDKO tools are now accessed through the afdko command:

afdko <command> [options]

For example:

afdko makeotf -r
afdko tx -dump font.otf
afdko spot -Proof font.otf

The individual command wrappers (e.g., makeotf, tx, spot) are deprecated and will be removed in a future release. By default, these wrappers continue to work silently. To see deprecation warnings, set:

export AFDKO_WRAPPER_MODE=warn

For more details on the deprecation system and migration timeline, see docs/Deprecation_System.md.

To see all available commands:

afdko --help

Installation

The AFDKO requires Python 3.9 or later. It should work with any Python > 3.9, 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 macOS users: we recommend that you do not use the system Python. Among other reasons, some versions of macOS ship with Python 2 and the latest version of the AFDKO is only available for Python 3. You can find instructions for using Brew to install Python 3 on macOS here: Installing Python 3 on Mac OS X. Also: pyenv is a great tool for installing and managing multiple Python versions on macOS.

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.

Metadata

Release files for afdko 5.0.0

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.0
File Size Uploaded
afdko-5.0.0.tar.gz 17.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for afdko 5.0.0
File
afdko-5.0.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
afdko-5.0.0-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
afdko-5.0.0-cp313-cp313-macosx_10_15_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.15+ x86-64 Details
afdko-5.0.0-cp313-cp313-macosx_10_15_universal2.whl CPython 3.13 CPython 3.13 macOS 10.15+ universal2 (ARM64, x86-64) Details
afdko-5.0.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
afdko-5.0.0-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
afdko-5.0.0-cp312-cp312-macosx_10_15_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.15+ x86-64 Details
afdko-5.0.0-cp312-cp312-macosx_10_15_universal2.whl CPython 3.12 CPython 3.12 macOS 10.15+ universal2 (ARM64, x86-64) Details
afdko-5.0.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
afdko-5.0.0-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
afdko-5.0.0-cp311-cp311-macosx_10_15_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.15+ x86-64 Details
afdko-5.0.0-cp311-cp311-macosx_10_15_universal2.whl CPython 3.11 CPython 3.11 macOS 10.15+ universal2 (ARM64, x86-64) Details
afdko-5.0.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
afdko-5.0.0-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
afdko-5.0.0-cp310-cp310-macosx_10_15_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.15+ x86-64 Details
afdko-5.0.0-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.0.tar.gz

Download URL afdko-5.0.0.tar.gz
Size 17.4 MB
Tags Source
SHA-256 checksum
How to use checksums
7dc5f7af9d7167cac00019b7c585c8169e5c32b5c092649eb03cf8d12e04c197
BLAKE2b-256 checksum
How to use checksums
0f507324d3a4367e178dd9b47fe87087c0306cd5ca10d08465fb07de3e1a5f50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

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

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

Download URL afdko-5.0.0-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
2f56d4467b3cefe163030ba8a3acd2daabc0f61bdebf4c370a863b41f10d88dc
BLAKE2b-256 checksum
How to use checksums
1ce4f914e392622043e6f0157bb9686a7e342bde01227fef65d92035ccb90e0e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-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
1c2432ab05416f41df4b56b6cb1ced302c3fce47ea83658ece1ad4b7cf3fe892
BLAKE2b-256 checksum
How to use checksums
9627b6bb4725612c283f59deb80a1df7a61906c87dec61bc14ff1decdbe49b69
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-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
bc5d9dc4445492738f254855458c525f0cda9984923f235c1b48a91ed12f661f
BLAKE2b-256 checksum
How to use checksums
17c1c114d8af7aab9f0b6f809fbbdb8e2972f5012a69999b1834afcfea008f71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

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

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

Download URL afdko-5.0.0-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
58a0b68d859d4f949cd8baee4cf51219b58c0665e5fb00020c156b0790a12194
BLAKE2b-256 checksum
How to use checksums
a40f7a40c4b16f3c97731e5ed154f187ef2d40ca971ab38ba7a103f1f2fe5e94
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-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
02285bd2c4fcd322a1236018ed9c126d5ed59a8a84ab2c37db872ee7ed881783
BLAKE2b-256 checksum
How to use checksums
227b973f5dcae760e3e801c8743ecffa333fa442c339913962413a3febe80843
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-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
7d00191a42e0fd528a191966460d61a55325d8b65f72cbbdf1e9cf9f2b50bd8e
BLAKE2b-256 checksum
How to use checksums
6771fce822a3b93014c60a75df36daa7211a57259d994d6af5c31a22d847ec8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-cp311-cp311-win_amd64.whl
Size 2.7 MB
Tags CPython 3.11 Windows x86-64
SHA-256 checksum
How to use checksums
9d7976eb1df039c5d09699f861d0648d96159ac2c0285594a572611d56c171c5
BLAKE2b-256 checksum
How to use checksums
05d55068c4cd2e555cde59ca1f6ca4e90acdbdf9e525d3edeee2e2e9a0a20e99
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-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
9ba654eda6eb32bbb76f3d8c68d6437cbe25f16449bb37f7e7f98cc1f48be620
BLAKE2b-256 checksum
How to use checksums
28de2071c69636a4fa694329a4d44a6135a15e1606928d03ddfd1077fd9fbcdb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-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
0495a41fde926e9de3bab1c9c54dd7aa2e3c99c4650dab39692bd7b87eea1389
BLAKE2b-256 checksum
How to use checksums
10a173d60b7453c62d70774f9260e4359b2d9c575b4a35d2c46a7781400be7ca
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-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
58fce1c087819049e061c2533daea407c2b07a6700c4d635f90049bac99aa45b
BLAKE2b-256 checksum
How to use checksums
fb3cc08fa8643d0cd65a898c8c76c659be4841576873c3627c0cacdfbffb8b09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-cp310-cp310-win_amd64.whl
Size 2.7 MB
Tags CPython 3.10 Windows x86-64
SHA-256 checksum
How to use checksums
87c4145744a7415d122ae7cda50e2645b8ef3cdac3a461ebd028b28f73669c28
BLAKE2b-256 checksum
How to use checksums
14c40948dbcea651abfebd8569b38428535a1d6a086ce4d535e681585b128b0c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-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
d46665a4f3427aaab291e8a94344dd231f7dd709af5f92f7dbc80969f13dd050
BLAKE2b-256 checksum
How to use checksums
3f6731eec780e236baa3eb769d00010851284b07656176139df8802d0741a59a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-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
afc468adda958117d622a710755a89123b4f7b8ace3c013a37178b7ee5794e9b
BLAKE2b-256 checksum
How to use checksums
dfc5a788863bddb038c9c4ec0b39e0884e60625f0a1ba60ea45904ecb37f707f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

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

Download URL afdko-5.0.0-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
af2e9c5f405f4969c0c74a4c12041359e526b749590982b13836f07ae64190a3
BLAKE2b-256 checksum
How to use checksums
c99d4bbe15f2abce6ba94f369bdf9f58b69c09321228c2e62d510681c9e197a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.7

Release history Release notifications | RSS feed

5.0.1

17 release files

This release

5.0.0 This release

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