adobe-type-tools / afdko

Adobe Font Development Kit for OpenType
https://adobe-type-tools.github.io/afdko/
Other
1.04k stars 168 forks source link

[tx] (cfw) subr stack depth exceeded #1111

Open khaledhosny opened 4 years ago

khaledhosny commented 4 years ago

I get this warning with nearly all fonts, including the attached one:

$ tx -cff +S +b LibertinusSerif-Regular.otf o.cff
tx: --- LibertinusSerif-Regular.otf
tx: (cfw) subr stack depth exceeded (reduced)

LibertinusSerif-Regular.zip

Not sure if there is something I should be worried about, if no may be there should be a way to silence such messages.

josh-hadley commented 4 years ago

From discussion here: the "subr stack depth exceeded" messages are just informational; it's just indicating that the subroutine call depth limit was reached and (subsequently reduced) during subroutinization.

Maybe we could improve the wording of the message to indicate that it is informational, or just not emit the message at all (tx doesn't really have a message filtering scheme). Open to suggestions...

khaledhosny commented 4 years ago

I’m getting various messages from tx, this is just one of them (I still need to investigate the rest), so may be a quite option is needed as the default verbosity make spotting real issues harder. No idea how hard is that, though.

josh-hadley commented 4 years ago

Understood. It would be nice to have selectable verbosity for tx (Debug/Info/Warning/Error) but I do think that would be a bit more involved to wire up.

BoldMonday commented 4 years ago

FWIW the same message appears often as a [WARNING] when we compile fonts with makeotf. For example (also notice the WARNING about the source font here.):

makeotf [Note] adding the style Bold from fontinfo keyword.
makeotf [Note] Writing options file ./current.fpr
makeotf [Note] Running makeotfexe with commands:
   cd "/Volumes/MBP Docs/docs/Mike Abbink/IBM/deliveries/plex/IBM Plex Serif/version 02.5/opentype/fdk/IBM Plex Serif-Bold"
   makeotfexe "-f" "font.pfa" "-o" "IBMPlexSerif-Bold.otf" -r -ff "features" -b -gf "GlyphOrderAndAliasDB" -mf "FontMenuNameDB"
makeotfexe [WARNING] --- Source font: font.pfa
makeotfexe [WARNING] subr stack depth exceeded (reduced)
makeotfexe [NOTE] Wrote new font file 'IBMPlexSerif-Bold.otf'.

Built release mode font 'IBMPlexSerif-Bold.otf' Revision 2.005

Usually I would expect a WARNING to be for errors in the input data that can be controlled by the user and that are not critical for the algorithm to finish its job.