Adobe Font Development Kit for OpenType
Project description
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
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
File details
Details for the file afdko-5.0.0b15.tar.gz
.
File metadata
- Download URL: afdko-5.0.0b15.tar.gz
- Upload date:
- Size: 17.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89110350c65d938cfdeb45cc5fe6ddfdddbb052b1da0b2daa1e6766a14402bd0 |
|
MD5 | 091df6be495cfab16cb5d934f4a44245 |
|
BLAKE2b-256 | e117d69b75650aa24cc729c1f9572715d5d5e5f2977ce5a298cfd5ccd7e2be3a |
File details
Details for the file afdko-5.0.0b15-pp310-pypy310_pp73-win_amd64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-pp310-pypy310_pp73-win_amd64.whl
- Upload date:
- Size: 2.7 MB
- Tags: PyPy, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca145e514108edc5629b529a2a5ecc7e9cb2cd2322a6d91b8c5717ea8acb1295 |
|
MD5 | a24ebfdca7527747561f60f3c022d7e2 |
|
BLAKE2b-256 | c72afb85c7be4af8164ad96d67990e1f557fdcefc8e64fa88edd5c3fa81f5f41 |
File details
Details for the file afdko-5.0.0b15-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: PyPy, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b642bb92f431aea880cedf8576ca52108b0401f31f153101fddbe791ca6f501 |
|
MD5 | 17fdc2739fd43a81866a1773a643d7e8 |
|
BLAKE2b-256 | 4aefa714669908a056d2079850c4f07d079d2c4003d03ff10bf63de150790920 |
File details
Details for the file afdko-5.0.0b15-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: PyPy, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66d8130f4c0236e5a2fae354cafe541cbc10a96f3807e1ae5bc9079b8a4d3ecc |
|
MD5 | 3471cad5f112d7f946524ad195c1290e |
|
BLAKE2b-256 | 1f37d675da379f668b40b426b799ccfb19814e1a32a3c5aa340bc4cff907c9fb |
File details
Details for the file afdko-5.0.0b15-pp39-pypy39_pp73-win_amd64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-pp39-pypy39_pp73-win_amd64.whl
- Upload date:
- Size: 2.7 MB
- Tags: PyPy, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc40d931a16d2a0f67f6c0bb4d7d180f1666f551de4c52369179e2b65c12d233 |
|
MD5 | 03f3201517425298fc0c43d383b47056 |
|
BLAKE2b-256 | b319c72f35260e627ce3f7b20c8431013a3f986ea6519f15d6782a7e31ffbf8f |
File details
Details for the file afdko-5.0.0b15-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.4 MB
- Tags: PyPy, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1daa96cf012295fc0239b240264172aeaf03dfe7e1090a37146f7f52b9f5e8d |
|
MD5 | 70548df268a5cdaf9bd1dac46966a676 |
|
BLAKE2b-256 | 06967895fe1e5efa11d9c17fbf194c6f06d1d6e02e68ad5852e0d749bbd272a7 |
File details
Details for the file afdko-5.0.0b15-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-pp39-pypy39_pp73-macosx_10_15_x86_64.whl
- Upload date:
- Size: 2.4 MB
- Tags: PyPy, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0518878912ebbae20cecf246b36754be1e45f9226bbce7f779712bffd0ff795c |
|
MD5 | d005939e1060231d70b8d1d3c3cabb97 |
|
BLAKE2b-256 | 7ec3bc6fa04019bbd9b2dbc19a3a2c2ed8b9c099adbf0ccd21610d0087137eb3 |
File details
Details for the file afdko-5.0.0b15-cp312-cp312-win_amd64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f9c81509c9e0df8022af805b18c8a370cce58422edd187a35678dc276e1043b |
|
MD5 | 16f788e461372db62c3667476e9ca6ed |
|
BLAKE2b-256 | 37c1740e954b0002a448ef75f60704c67f5de1d9f790ebe0414b4266b02e1355 |
File details
Details for the file afdko-5.0.0b15-cp312-cp312-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp312-cp312-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.12, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42b80f21c049bb7ac8a56922a2a563e6903e036e7d36c70e34b1fe836fb78ace |
|
MD5 | bf6d5d4717cfa8b937ef713cbff43895 |
|
BLAKE2b-256 | 3435c90d573599b6bbc88dbb8b79653965ff83d70785cf65ccabb04f7b61a4b4 |
File details
Details for the file afdko-5.0.0b15-cp312-cp312-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp312-cp312-macosx_10_15_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.12, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 736372a1159532e3a93dbf41e84d3ec263ddfcd0f598839bb48d3892ce79fd13 |
|
MD5 | 10b56cea3a0c306cbed2906be389ea88 |
|
BLAKE2b-256 | 6212b9b414aa394f69701018bb218c3407a6b48cb7b8042821119fa8479e43eb |
File details
Details for the file afdko-5.0.0b15-cp312-cp312-macosx_10_15_universal2.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp312-cp312-macosx_10_15_universal2.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.12, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5caca36bc412152120f75b5e6239506cb22bb2c0dd3e38457944c235596421ea |
|
MD5 | 601676bde2fa0515c7dfa6ca35ea75e9 |
|
BLAKE2b-256 | 1938664bf5d684bcc01746510fae2fc6708269388e435be18d63b170b098afe0 |
File details
Details for the file afdko-5.0.0b15-cp311-cp311-win_amd64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5482b8b0764fe68ba9c0102df0bd258497167799c18feb5c6afddb2627d36945 |
|
MD5 | 86c8739523e14e8a0dc348d704a643a1 |
|
BLAKE2b-256 | 59cdd5ab82a03175ec5bd8e25fbc9aa6b75a86ebcfceff6952a62076956bd41c |
File details
Details for the file afdko-5.0.0b15-cp311-cp311-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp311-cp311-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.11, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 873843d727d4e2ffb75731d02dc15848b0d72409783951c360c636c775f53171 |
|
MD5 | 28788e3984d7e12b221f75836280aafd |
|
BLAKE2b-256 | 7a6dc947c85af0c62c188cdee90d48e33ceb274bc6c42e687575d2f65529242f |
File details
Details for the file afdko-5.0.0b15-cp311-cp311-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp311-cp311-macosx_10_15_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.11, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5552cc611311443ed5e603a982af462138d8fa4b5e4c84871ab00fbe2bb6b35 |
|
MD5 | 1b843b83157bf8c5b7f1545707fa3d53 |
|
BLAKE2b-256 | 8de21c4866455e5ddf700389093f0e0e5b8203d42808fc9f812776fc4ddfcc1d |
File details
Details for the file afdko-5.0.0b15-cp311-cp311-macosx_10_15_universal2.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp311-cp311-macosx_10_15_universal2.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.11, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96220471e3b59e6ac47bbe1b49702e8ae3b30468dec239c059dcf1119ed2e6ec |
|
MD5 | b8a7e1ece05647ec7aada16908074452 |
|
BLAKE2b-256 | 03c5d79992ea108d52ba32f7df3a990b1e787a9fde2a6f28d20f592816321040 |
File details
Details for the file afdko-5.0.0b15-cp310-cp310-win_amd64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 256fa9dc209b8204cbb04836c753f5d4b585e283b695f88f7fae3d9b091fadaa |
|
MD5 | 551dd5c5303069f80f4a526913c1fec7 |
|
BLAKE2b-256 | 052a1365029c64e86f7017175d15f64925ae07d1fd582a8b928f3b4bc3ae762d |
File details
Details for the file afdko-5.0.0b15-cp310-cp310-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp310-cp310-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.10, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b44016648dfd8a7725ce44ac0f8a4bf52454a425f1b3e38f06832b979647a3b |
|
MD5 | 7bb704a6efdcd88d4a1c2536f5028bc7 |
|
BLAKE2b-256 | d8cd38d07a9ab6d02e0760dd92db9c019f0d7ae5c8222ec14aababf3414431eb |
File details
Details for the file afdko-5.0.0b15-cp310-cp310-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp310-cp310-macosx_10_15_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.10, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3021d0e14ac3470530b6fa50ca7ca05c1f25c441689ee04554a1f7445ffec2ed |
|
MD5 | bc802806c76a163c8236f2fb1072bc94 |
|
BLAKE2b-256 | 4f2bb3784c00300a40ac36a1fae6bf2f3e88d41976cbb14ac9f45daf27287cda |
File details
Details for the file afdko-5.0.0b15-cp310-cp310-macosx_10_15_universal2.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp310-cp310-macosx_10_15_universal2.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.10, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce0a4fa9ce76830c99f87d037f154b9bc615412d4f02707fc526c5bf0428cf0e |
|
MD5 | 005be02cad24df7a768a3a411ce2ac4f |
|
BLAKE2b-256 | 81497141508e2644607a2630ee68022bed5f08e995e8ed657ac47d5040c997c7 |
File details
Details for the file afdko-5.0.0b15-cp39-cp39-win_amd64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55900a8097600329bfe3bbea3db714c3ccec8cb5572f38e80e12529fd7a6d2dc |
|
MD5 | 9a83b8f6fcb3a4072844f9dd9502d59a |
|
BLAKE2b-256 | 27c6089f976a35ae2a926e6c0cb9f5018251d2807c05c2156f486bc87d84f492 |
File details
Details for the file afdko-5.0.0b15-cp39-cp39-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp39-cp39-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: CPython 3.9, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a31b50e1a37ae10f4e2619044a19f5f7807cc88e006d4b4ecf06b71103f6639d |
|
MD5 | 3b52b3b47c0ed242b8471a1f856ed87e |
|
BLAKE2b-256 | 4b5bcaff880dd925db630a3d249e56a721eb05e808f6daa7b4ac750848fe83cd |
File details
Details for the file afdko-5.0.0b15-cp39-cp39-macosx_10_15_x86_64.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp39-cp39-macosx_10_15_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: CPython 3.9, macOS 10.15+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2137691ebed5e3cd679cf4aa88c652d05cc356d10ab4a967794260cd2c39e241 |
|
MD5 | a2ec4de111aea3921fd596cde80d3fc6 |
|
BLAKE2b-256 | f8814bf5a9a7e13737535b1804cb87efd3ca2c9985593bcd7893f3d4272da8c2 |
File details
Details for the file afdko-5.0.0b15-cp39-cp39-macosx_10_15_universal2.whl
.
File metadata
- Download URL: afdko-5.0.0b15-cp39-cp39-macosx_10_15_universal2.whl
- Upload date:
- Size: 3.8 MB
- Tags: CPython 3.9, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b540e285b244e904980a708037bc97e453fbc1690ac48e0adffcf82021dea8de |
|
MD5 | e0a94c02adf23d140f35a49fcb154da1 |
|
BLAKE2b-256 | e6295be4c45962696b16349d2bae26d6814f49061152b657bf557aa7a2770b8d |