n-t-roff / heirloom-doctools

The Heirloom Documentation Tools: troff, nroff, and related utilities
http://n-t-roff.github.io/heirloom/doctools.html
Other
126 stars 23 forks source link

Accept fonts with spaces in glyph names #34

Closed saper closed 8 years ago

saper commented 8 years ago

Glyph names containing spaces should not cause PostScript errors.

Fixes https://github.com/n-t-roff/heirloom-doctools/issues/33

n-t-roff commented 8 years ago

Well done, thank you. Should fprintenc not give a warning when it finds a space, something like "dpost: Invalid glyph name '...' in font '...' (contains spaces)" so the user has a chance to detect buggy fonts?

saper commented 8 years ago

I am not sure how to read the specifications, but it can very well be that spaces are technically valid characters. They just break PostScript when copied literally because "/dot product" means "push literal symbol dot on stack", "execute operator product" which pushes /dot symbol and GPL Ghostscript string on the stack, which leads to the /typecheck error since a string was not expected. One would need to understand the Compact Font File specification which in turn refers to “Adobe Type 1 Font Format” and Adobe Technical Note #5177: “Type 2 Charstring Format.” Microsoft wants to have Pascal strings which makes things pretty interesting since a Pascal string can even contain zero (NUL).

I think I got lost here a bit :)