go-text / typesetting

High quality text shaping in pure Go.
Other
100 stars 10 forks source link

[opentype/tables] parse postscript names #161

Open benoitkugler opened 5 months ago

benoitkugler commented 5 months ago

I'm working on a font sub-setter to trim font files bundled in PDF. One heavy table is the 'post' one : it contains a (string) name for every glyph. The wire format is a byte slice where strings are Pascal encoded : [length, data, length, data, etc...] This format does not allow direct access at a given index, and also makes it harder to remove the unused names.

We already process theses names in the font.NewFont constructor, and I would like to reuse the logic (currently hidden). To do so, this PR moves the parsing to the opentype/tables package, so that we can directly use the tables.PostNames20.Strings field.

There is no change for end users (only the consumers of the low level tables package will be impacted).