We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
(Filing here because I'm not sure which dependent library should be fixed.)
This program generates a font which reproduces the problem: https://gist.github.com/irori/b0d5f53b6298efab4e526d68be2eab8d
Generated font is rejected by OTS because its Type2 Charstring exceeds the argument stack depth limit (48).
The above test program produces Type2 Charstrings like this:
[push 2 numbers] RMoveTo [push 48 numbers] RLineTo -90 -100 RMoveTo 10 10 10 10 10 10 10 10 10 VLineTo EndChar
After RLineTo are common to all glyphs, so compreffor subroutinizes it, resulting in:
RLineTo
[push 2 numbers] RMoveTo [push 48 numbers] [push 1 number] CallSubr
This exceeds the stack size limit.
Possible fixes:
CallSubr
maxstack
The text was updated successfully, but these errors were encountered:
Reduce maxstack for fontTools.cffLib.specializer.specializeCommands by 1, so that there's always a room for a subroutine number.
This makes sense to me.
Sorry, something went wrong.
No branches or pull requests
(Filing here because I'm not sure which dependent library should be fixed.)
This program generates a font which reproduces the problem:
https://gist.github.com/irori/b0d5f53b6298efab4e526d68be2eab8d
Generated font is rejected by OTS because its Type2 Charstring exceeds the argument stack depth limit (48).
The above test program produces Type2 Charstrings like this:
After
RLineTo
are common to all glyphs, so compreffor subroutinizes it, resulting in:This exceeds the stack size limit.
Possible fixes:
CallSubr
where the stack is full, ormaxstack
for fontTools.cffLib.specializer.specializeCommands by 1, so that there's always a room for a subroutine number.The text was updated successfully, but these errors were encountered: