Skip to main content

Adobe Font Development Kit for OpenType

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

afdko-5.0.0.tar.gz (17.4 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

afdko-5.0.0-cp313-cp313-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.13Windows x86-64

afdko-5.0.0-cp313-cp313-manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

afdko-5.0.0-cp313-cp313-macosx_10_15_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.13macOS 10.15+ x86-64

afdko-5.0.0-cp313-cp313-macosx_10_15_universal2.whl (4.8 MB view details)

Uploaded CPython 3.13macOS 10.15+ universal2 (ARM64, x86-64)

afdko-5.0.0-cp312-cp312-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.12Windows x86-64

afdko-5.0.0-cp312-cp312-manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

afdko-5.0.0-cp312-cp312-macosx_10_15_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

afdko-5.0.0-cp312-cp312-macosx_10_15_universal2.whl (4.8 MB view details)

Uploaded CPython 3.12macOS 10.15+ universal2 (ARM64, x86-64)

afdko-5.0.0-cp311-cp311-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.11Windows x86-64

afdko-5.0.0-cp311-cp311-manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

afdko-5.0.0-cp311-cp311-macosx_10_15_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

afdko-5.0.0-cp311-cp311-macosx_10_15_universal2.whl (4.8 MB view details)

Uploaded CPython 3.11macOS 10.15+ universal2 (ARM64, x86-64)

afdko-5.0.0-cp310-cp310-win_amd64.whl (2.7 MB view details)

Uploaded CPython 3.10Windows x86-64

afdko-5.0.0-cp310-cp310-manylinux_2_28_x86_64.whl (3.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

afdko-5.0.0-cp310-cp310-macosx_10_15_x86_64.whl (2.9 MB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

afdko-5.0.0-cp310-cp310-macosx_10_15_universal2.whl (4.8 MB view details)

Uploaded CPython 3.10macOS 10.15+ universal2 (ARM64, x86-64)

File details

Details for the file afdko-5.0.0.tar.gz.

File metadata

  • Download URL: afdko-5.0.0.tar.gz
  • Upload date:
  • Size: 17.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for afdko-5.0.0.tar.gz
Algorithm Hash digest
SHA256 7dc5f7af9d7167cac00019b7c585c8169e5c32b5c092649eb03cf8d12e04c197
MD5 5e026a7640c616ea6123fefc2b19d94d
BLAKE2b-256 0f507324d3a4367e178dd9b47fe87087c0306cd5ca10d08465fb07de3e1a5f50

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: afdko-5.0.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.7 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for afdko-5.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3c1f9ea7a46f122cd2b1dfb6a381fb93052d182692204edc9e86cbd488fe3db0
MD5 ecc7304af9c09e6d8aa1a2be6074b467
BLAKE2b-256 b26431ccb3463de2c69408d085dee07a48435bc8b3ad1acffe72a13eb07f76f8

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2f56d4467b3cefe163030ba8a3acd2daabc0f61bdebf4c370a863b41f10d88dc
MD5 3a80977c61c2c24c394b27442bfc55d9
BLAKE2b-256 1ce4f914e392622043e6f0157bb9686a7e342bde01227fef65d92035ccb90e0e

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp313-cp313-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp313-cp313-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 1c2432ab05416f41df4b56b6cb1ced302c3fce47ea83658ece1ad4b7cf3fe892
MD5 e0ebbac2dd4e2aa4b4657b34562e5681
BLAKE2b-256 9627b6bb4725612c283f59deb80a1df7a61906c87dec61bc14ff1decdbe49b69

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp313-cp313-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 bc5d9dc4445492738f254855458c525f0cda9984923f235c1b48a91ed12f661f
MD5 c3b9278c221fc594ad98a0421060a4b7
BLAKE2b-256 17c1c114d8af7aab9f0b6f809fbbdb8e2972f5012a69999b1834afcfea008f71

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: afdko-5.0.0-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/6.1.0 CPython/3.13.7

File hashes

Hashes for afdko-5.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 254bdb79c2aeaa314140926c94c4e1c67a67f1770cb5c2a12969a4db66827ceb
MD5 ed28bec8477bdcb42e1b81d111785ed6
BLAKE2b-256 9cd073ff2ccc4c94f1896ba250b18eae98deeae250a7c6a3e27120f698f45dda

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 58a0b68d859d4f949cd8baee4cf51219b58c0665e5fb00020c156b0790a12194
MD5 570bd7cd0637b04504ef2771c8781d69
BLAKE2b-256 a40f7a40c4b16f3c97731e5ed154f187ef2d40ca971ab38ba7a103f1f2fe5e94

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 02285bd2c4fcd322a1236018ed9c126d5ed59a8a84ab2c37db872ee7ed881783
MD5 685361da42b92703a18990d22dcf76ae
BLAKE2b-256 227b973f5dcae760e3e801c8743ecffa333fa442c339913962413a3febe80843

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp312-cp312-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 7d00191a42e0fd528a191966460d61a55325d8b65f72cbbdf1e9cf9f2b50bd8e
MD5 88feb71d986657aa0babbe860566c2d6
BLAKE2b-256 6771fce822a3b93014c60a75df36daa7211a57259d994d6af5c31a22d847ec8a

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: afdko-5.0.0-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/6.1.0 CPython/3.13.7

File hashes

Hashes for afdko-5.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 9d7976eb1df039c5d09699f861d0648d96159ac2c0285594a572611d56c171c5
MD5 cee7366083267cb073574c3b9ebd98d5
BLAKE2b-256 05d55068c4cd2e555cde59ca1f6ca4e90acdbdf9e525d3edeee2e2e9a0a20e99

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9ba654eda6eb32bbb76f3d8c68d6437cbe25f16449bb37f7e7f98cc1f48be620
MD5 269386ff95d4bb0fbb7a0e6a0ccfcf7e
BLAKE2b-256 28de2071c69636a4fa694329a4d44a6135a15e1606928d03ddfd1077fd9fbcdb

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 0495a41fde926e9de3bab1c9c54dd7aa2e3c99c4650dab39692bd7b87eea1389
MD5 303759e935da0c880a7b07a863b51e44
BLAKE2b-256 10a173d60b7453c62d70774f9260e4359b2d9c575b4a35d2c46a7781400be7ca

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp311-cp311-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 58fce1c087819049e061c2533daea407c2b07a6700c4d635f90049bac99aa45b
MD5 9d12593718c5ba2977c857d4604865b8
BLAKE2b-256 fb3cc08fa8643d0cd65a898c8c76c659be4841576873c3627c0cacdfbffb8b09

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: afdko-5.0.0-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/6.1.0 CPython/3.13.7

File hashes

Hashes for afdko-5.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 87c4145744a7415d122ae7cda50e2645b8ef3cdac3a461ebd028b28f73669c28
MD5 008873b630935d5a18e238cf44fa43ca
BLAKE2b-256 14c40948dbcea651abfebd8569b38428535a1d6a086ce4d535e681585b128b0c

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d46665a4f3427aaab291e8a94344dd231f7dd709af5f92f7dbc80969f13dd050
MD5 568e47d1b7257b6b7ceca5388ce25ed8
BLAKE2b-256 3f6731eec780e236baa3eb769d00010851284b07656176139df8802d0741a59a

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 afc468adda958117d622a710755a89123b4f7b8ace3c013a37178b7ee5794e9b
MD5 8fd0047945ad6dd0506f50f48d46eb26
BLAKE2b-256 dfc5a788863bddb038c9c4ec0b39e0884e60625f0a1ba60ea45904ecb37f707f

See more details on using hashes here.

File details

Details for the file afdko-5.0.0-cp310-cp310-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for afdko-5.0.0-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 af2e9c5f405f4969c0c74a4c12041359e526b749590982b13836f07ae64190a3
MD5 1ecd4c455d710eb41baf8f93f44e58ee
BLAKE2b-256 c99d4bbe15f2abce6ba94f369bdf9f58b69c09321228c2e62d510681c9e197a4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page