Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

psautohint error when building fonts #134

Open
ivo-s opened this issue Mar 7, 2021 · 2 comments
Open

psautohint error when building fonts #134

ivo-s opened this issue Mar 7, 2021 · 2 comments
Assignees

Comments

@ivo-s
Copy link

ivo-s commented Mar 7, 2021

I am having some trouble building the Libertinus fonts.
(one thing is that the Libertinus build script only accepts sfdLib 1.0.8, not 1.1.0, because then it has trouble with from sfdLib.utils import GLYPHCLASS_KEY, MATH_KEY.)
There is some trouble with psautohint (see dump below). I tried updating to the git release, updating psautohint to 2.3.0, updating fonttools, but it did not help. I don't know where this error is coming from and it is possible that it isn't a Fontship bug, but I can't track down where it goes wrong. According to the checks, package prerequisities should be satisfied and Fontship compilation goes smoothly, it's only the building that's the problem.
I did not manage to get Docker running so I have just been using the compiled Fontship version. Lately it stopped working, so I decided to upgrade from 0.7.2 to 0.7.6, and that's when I started to have this problem.

┏━ Welcome to Fontship ⁨v0.7.6.r5-gf0302d2⁩
┠─ Everything seems to be ship shape, anchors up!
┣━ Building target(s) using ‘make’
┠┄ Starting make job for target: ⁨.fontship/last-commit⁩
┠┄ Starting make job for target: ⁨.fontship/LibertinusSerif-Regular-instance-hinted.otf⁩
┠┄ Starting make job for target: ⁨.fontship/LibertinusSerif-Semibold-instance-hinted.otf⁩
┠┄ Starting make job for target: ⁨.fontship/LibertinusSerif-Bold-instance-hinted.otf⁩
┠┄ Finished make job for target: ⁨.fontship/last-commit⁩
┠┄ Starting make job for target: ⁨.fontship/LibertinusSerif-Italic-instance-hinted.otf⁩
┠┄ Failed make job for target: ⁨.fontship/LibertinusSerif-Italic-instance-hinted.otf⁩
┠┄ Failed make job for target: ⁨.fontship/LibertinusSerif-Bold-instance-hinted.otf⁩
┠┄ Failed make job for target: ⁨.fontship/LibertinusSerif-Regular-instance-hinted.otf⁩
┠┄ Failed make job for target: ⁨.fontship/LibertinusSerif-Semibold-instance-hinted.otf⁩
┖┄ Dumping captured output of ‘make’
usage: psautohint [-h] [-v] [-o PATH [PATH ...]] [-r PATH] [-a] [-w]
usage: psautohint [-h] [-v] [-o PATH [PATH ...]] [-r PATH] [-a] [-w]
[-g GLYPH_LIST | --glyphs-file PATH | -x GLYPH_LIST | --exclude-glyphs-file PATH]
[-g GLYPH_LIST | --glyphs-file PATH | -x GLYPH_LIST | --exclude-glyphs-file PATH]
[-c | --report-only] [--log PATH] [-d] [--no-flex]
[-c | --report-only] [--log PATH] [-d] [--no-flex]
[--no-hint-sub] [--no-zones-stems] [--fontinfo-file PATH]
[--no-hint-sub] [--no-zones-stems] [--fontinfo-file PATH]
[--print-dflt-fddict] [--print-list-fddict] [--doc-fddict]
[--print-dflt-fddict] [--print-list-fddict] [--doc-fddict]
[--info] [--version] [--traceback]
[--info] [--version] [--traceback]
FONT [FONT ...]
FONT [FONT ...]
psautohint: error: the following arguments are required: FONT
psautohint: error: the following arguments are required: FONT
usage: psautohint [-h] [-v] [-o PATH [PATH ...]] [-r PATH] [-a] [-w]
[-g GLYPH_LIST | --glyphs-file PATH | -x GLYPH_LIST | --exclude-glyphs-file PATH]
[-c | --report-only] [--log PATH] [-d] [--no-flex]
[--no-hint-sub] [--no-zones-stems] [--fontinfo-file PATH]
[--print-dflt-fddict] [--print-list-fddict] [--doc-fddict]
[--info] [--version] [--traceback]
FONT [FONT ...]
psautohint: error: the following arguments are required: FONT
usage: psautohint [-h] [-v] [-o PATH [PATH ...]] [-r PATH] [-a] [-w]
[-g GLYPH_LIST | --glyphs-file PATH | -x GLYPH_LIST | --exclude-glyphs-file PATH]
[-c | --report-only] [--log PATH] [-d] [--no-flex]
[--no-hint-sub] [--no-zones-stems] [--fontinfo-file PATH]
[--print-dflt-fddict] [--print-list-fddict] [--doc-fddict]
[--info] [--version] [--traceback]
FONT [FONT ...]
psautohint: error: the following arguments are required: FONT
make: *** [/usr/local/share/fontship/rules/rules.mk:307: .fontship/LibertinusSerif-Italic-instance-hinted.otf] Error 2
make: *** Waiting for unfinished jobs....
make: *** [/usr/local/share/fontship/rules/rules.mk:307: .fontship/LibertinusSerif-Bold-instance-hinted.otf] Error 2
make: *** [/usr/local/share/fontship/rules/rules.mk:307: .fontship/LibertinusSerif-Regular-instance-hinted.otf] Error 2
make: *** [/usr/local/share/fontship/rules/rules.mk:307: .fontship/LibertinusSerif-Semibold-instance-hinted.otf] Error 2
┎┄ End dump
┗━ Fontship run complete
Error: Custom { kind: InvalidInput, error: "Make returned unknown error." }
@alerque alerque self-assigned this Mar 17, 2021
@alerque
Copy link
Member

alerque commented Mar 17, 2021

psautohint has been trouble before, I had to disable it for a while. I thought it was working again –at least for the projects I was checking on which included Libertinus– but I guess I'll have to poke it again. I'm a little confused because it does work for me right now, but I'll still take a gander.

As a temporary stand by you can build without any hinting by turning off the hinting step entirely. Either at the top of fontship.mk or from the CLI pass a Makefile variable that sets HINT=''. The empty value will make it skip the step entirely. No that's not pretty and not meant to be a permanent work around...

$ fontship make -- HINT=''

@ivo-s
Copy link
Author

ivo-s commented Mar 17, 2021

I had to update a bunch of Python packages, maybe the problem's there. Unfortunately, I couldn't trace where the problem is coming from, because I don't know the structure of font compilation.

Thanks for the workaround, but I managed to get Docker working eventually, so I'll be using that for local compilation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants