Skip to main content

Python wrapper for Adobe's PostScript autohinter

Project description

Travis AppVeyor Codecov PyPI Language grade: C/C++ Language grade: Python Total alerts

PSAutoHint

A standalone version of AFDKO’s autohinter.

NOTE: as of August 2019, only Python 3.6 or later is supported.

Building and running

This repository currently consists of a core autohinter written in C, a Python C extension providing an interface to it, and helper Python code.

To build the C extension:

python setup.py build

To install the C extension and the helper scripts globally:

pip install -r requirements.txt .

Alternatively to install them for the current user:

pip install -r requirements.txt --user .

The autohinter can be used by running:

psautohint

To build just the autohintexe binary:

python setup.py build_exe

Testing

We have a test suite that can be run with:

tox

Debugging

For standard debugging, build with:

python setup.py build --debug

It is also possible to build a debug version with AddressSanitizer ("ASan") support (currently for Mac OS X only) with:

python setup.py build --asan
pip install .

Once it is installed, you can use the util/launch-asan.sh shell script to launch a Python process that invokes the ASan libraries needed for debugging. Attach Xcode the launched process, then execute code in the process that triggers memory usage problems and wait for ASan to do its magic.

NOTE: be sure to build and install psautohint as described above; using other techniques such as python setup.py install will cause a re-build without ASan and debug support, which won't work.

Project details


Download files

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

Files for psautohint, version 2.0.1
Filename, size File type Python version Upload date Hashes
Filename, size psautohint-2.0.1-cp36-cp36m-macosx_10_9_x86_64.whl (223.3 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size psautohint-2.0.1-cp36-cp36m-manylinux1_x86_64.whl (211.4 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size psautohint-2.0.1-cp36-cp36m-win_amd64.whl (236.4 kB) File type Wheel Python version cp36 Upload date Hashes View
Filename, size psautohint-2.0.1-cp37-cp37m-macosx_10_9_x86_64.whl (223.5 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size psautohint-2.0.1-cp37-cp37m-manylinux1_x86_64.whl (211.4 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size psautohint-2.0.1-cp37-cp37m-win_amd64.whl (236.4 kB) File type Wheel Python version cp37 Upload date Hashes View
Filename, size psautohint-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl (223.5 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size psautohint-2.0.1-cp38-cp38-manylinux1_x86_64.whl (211.4 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size psautohint-2.0.1-cp38-cp38-win_amd64.whl (236.5 kB) File type Wheel Python version cp38 Upload date Hashes View
Filename, size psautohint-2.0.1.zip (232.9 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page