Python wrapper for Adobe's PostScript autohinter
Project description
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
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
Hashes for psautohint-2.1.2b0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6c8dd50520a65e85e859b9e961f7f5b5b0c9fa210abaff0d5a48d4a477158d27 |
|
MD5 | b940bf35f6d3b104ca79e0a26324cbd7 |
|
BLAKE2b-256 | 7cbbcbc017ae4821e04a54b7405f32bca643a3990eb66777a29ea69f8f8e16a1 |
Hashes for psautohint-2.1.2b0-cp39-cp39-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 779bedd3e5b967925923daca375fa0f0050904f3cc8bc16971d000fcb43a700f |
|
MD5 | 93889423ab58c09a232cf02e3e89a139 |
|
BLAKE2b-256 | d9de7a00825446b4cb91845e98243ebf7bc72ec72cc92e83c200dbec74750deb |
Hashes for psautohint-2.1.2b0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d7bf96892414ed1920a0a8feccb8e0ae03fee573f5a04d840c2ecd83cd71eda |
|
MD5 | e77d39e5c7d1af236fefaa2adf614c33 |
|
BLAKE2b-256 | fdc7b880c8167f6973f3c7cf403f5cfac06110b325e54c272e45250d2f5f4152 |
Hashes for psautohint-2.1.2b0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6f27b9399cf5a4db6f88f1890bfe88a26093241e538b0f19ed96a0b06d43d06 |
|
MD5 | 6238cd514482ebb7ad910233b9346341 |
|
BLAKE2b-256 | 5887c5dcbb7dca682e8247548843aab81714a7b554e774fa57524d0d350c07fa |
Hashes for psautohint-2.1.2b0-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3a9bca09250ab20ea9deb6c33462d65836285d043f861e1f10ce86428ff0d77 |
|
MD5 | 54f0efcb6689133b1a7c1a76696bc9af |
|
BLAKE2b-256 | 11dc0b83bf779f11e37054d1746731a6d24ade4f6cf8ea0b6e67445b2110736c |
Hashes for psautohint-2.1.2b0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8479767a2bfee5e96f44f566a7e75b536cc1ed4d45028b3899d64c637d68a9cc |
|
MD5 | 5b0fb09c81f4b56bb851225057245e13 |
|
BLAKE2b-256 | dad390d63c8197038a9d255a898917daa9fb781403cac1d534d31ed8fa5c103f |
Hashes for psautohint-2.1.2b0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80b0364cdb47b36be3d1d071ef4bbd173e85ac22fa8a6d15522dafc632b4f2af |
|
MD5 | 750cd7ba84eb7f69c9272acec7b989c2 |
|
BLAKE2b-256 | 34001a14a79452514cc85190c56cf08193e9829038f06b7245767281ccdb66ab |
Hashes for psautohint-2.1.2b0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06c29c18cc119cfe526e7a3eb42426b5ecd680dcd8722a4d57701eee0b73c6e4 |
|
MD5 | 3f05cb7c0c791cee15f865b31ac7549d |
|
BLAKE2b-256 | 7aa6bc51852e7a0315496f1d1d356fe0458ced3ad2bf5f3036f7771f266e6711 |
Hashes for psautohint-2.1.2b0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a947c1b85b698bda7a9ace134290ada695254908432239ef95c021532ca5adde |
|
MD5 | 8df14becd0dd9c34d365d2073012f352 |
|
BLAKE2b-256 | e4a76f3ffa33d7b7e677ae6e2e32bd67410763f6461d6d1f8a8a560b851fa54d |
Hashes for psautohint-2.1.2b0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df0bcce67ee46e24d20a6a55cb6d15c88096200d4c6c996792199c6f37f94cb9 |
|
MD5 | 39a947c04a1c4b6582bcaf2b1cebef11 |
|
BLAKE2b-256 | f5c840590c0291e27eb5936190e3df7e68ea47f42ddff9ab60b378b1e80f36cb |
Hashes for psautohint-2.1.2b0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 36c9b4b074a2e1aba1c096c6429ec2a4d4e13a1cb34d20242c070e6b9f3a288b |
|
MD5 | 0a64801405fc6e2c7821ef8d62f2e0a3 |
|
BLAKE2b-256 | 4b8b72b75cb29634ddbcdd38779c3d82b8a212855852904f92e64329c595b062 |
Hashes for psautohint-2.1.2b0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fd22d9baf3be8ab3d20266f82da1b3ba51de946b579a4b9cced00d01d478a28d |
|
MD5 | 1c0396ea22554d317cebd606fe8865d1 |
|
BLAKE2b-256 | e57d0373a69723484a9475ba9e794a821b5c87b80986e8391a1abd5b13cd62e5 |