Copy TrueType instructions from a binary font to a UFO.
Project description
inst2ufo – Copy TrueType instructions from a binary font to a UFO
Glyphs Hinting To UFO Workflow
Convert the UFO from cubic to quadratic curves and save it as tt.ufo:
fonttools cu2qu --keep-direction ps.ufo -o tt.ufo
Open tt.ufo in Glyphs, save it as a Glyphs file (because TrueType instructions don't persist in a UFO saved by Glyphs) and hint it using the TrueType Instructor tool.
Export a TTF font from Glyphs. Don't remove overlaps while exporting.
Copy the instructions from the TTF back to the UFO:
inst2ufo -g myfont.ttf tt.ufo
The -g option causes the UFO to be modified to match the contours exported to the TTF by Glyphs. If you modify the hinting in the Glyphs file and export the TTF again, update the instruction code in the UFO by running the command without the -g option:
inst2ufo myfont.ttf tt.ufo
Now you can generate a font with instructions from the UFO using fontmake:
fontmake -u tt.ufo -o ttf --keep-direction --keep-overlaps --output-path myfont-hinted.ttf
If you need to remove TrueType instructions from a UFO, you can use this command:
rmufoinst tt.ufo
Copyright
© 2026 by Jens Kutílek
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 Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file inst2ufo-0.1.1.tar.gz.
File metadata
- Download URL: inst2ufo-0.1.1.tar.gz
- Upload date:
- Size: 3.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d0c572c8f01f5516d7af28e2126f79f0dde3d568725c2ac88969e851016a292
|
|
| MD5 |
8b366ddd7cb1beef63b7d9da88bf869c
|
|
| BLAKE2b-256 |
336d23ba896401159aadd38b1447d342ae5eaaa4e1da85cfacec7a283c59a81c
|
Provenance
The following attestation bundles were made for inst2ufo-0.1.1.tar.gz:
Publisher:
publish.yml on jenskutilek/inst2ufo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
inst2ufo-0.1.1.tar.gz -
Subject digest:
4d0c572c8f01f5516d7af28e2126f79f0dde3d568725c2ac88969e851016a292 - Sigstore transparency entry: 1075848970
- Sigstore integration time:
-
Permalink:
jenskutilek/inst2ufo@1ce2cabacad72742a22585e1f92270d5a0152082 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jenskutilek
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1ce2cabacad72742a22585e1f92270d5a0152082 -
Trigger Event:
push
-
Statement type:
File details
Details for the file inst2ufo-0.1.1-py3-none-any.whl.
File metadata
- Download URL: inst2ufo-0.1.1-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a9c995f0d7c8abe651818ad1522b4d2b1aa43c3809e259578e7a386dded53350
|
|
| MD5 |
de8f28cc6e8327c81aded2d8bc93c9d8
|
|
| BLAKE2b-256 |
33407b4a0af3755f73aa71a94e3ab7df87a0d19001830f1959ce3db9c6a76bab
|
Provenance
The following attestation bundles were made for inst2ufo-0.1.1-py3-none-any.whl:
Publisher:
publish.yml on jenskutilek/inst2ufo
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
inst2ufo-0.1.1-py3-none-any.whl -
Subject digest:
a9c995f0d7c8abe651818ad1522b4d2b1aa43c3809e259578e7a386dded53350 - Sigstore transparency entry: 1075849016
- Sigstore integration time:
-
Permalink:
jenskutilek/inst2ufo@1ce2cabacad72742a22585e1f92270d5a0152082 -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/jenskutilek
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@1ce2cabacad72742a22585e1f92270d5a0152082 -
Trigger Event:
push
-
Statement type: