Skip to content
New issue

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

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

Already on GitHub? # to your account

Add hooks for pre- and post-processing #181

Open
madig opened this issue Dec 1, 2017 · 4 comments
Open

Add hooks for pre- and post-processing #181

madig opened this issue Dec 1, 2017 · 4 comments

Comments

@madig
Copy link
Collaborator

madig commented Dec 1, 2017

Working on the Ubuntu font with its' special requirements made me think about pre-/post-processing hooks for fontmake or ufo2ft. The goal is to write custom code that takes care of things like reading in the maxp table data present in the UFO or adding a legacy kerning table to the compiled TTF, all without compromising fontmake's simplicity.

@behdad
Copy link
Collaborator

behdad commented Dec 1, 2017

For things that are commonly used by multiple designers, we should make them available in fontmake itself.

@madig
Copy link
Collaborator Author

madig commented Dec 2, 2017

That would need more designer input first.

I'm thinking about all the fonts out there that were not build with a modern toolset and have special requirements for building (like Adam Twardoch says about Lato: google/fonts#6).

A pre-processor hook would be called after the source (UFO) has been loaded, a post-processor would be able to work on the compiled TTF/OTF in-memory before it is written to disk.

@behdad
Copy link
Collaborator

behdad commented Dec 2, 2017

Right. I deliberately didn't say these hooks are not a good idea.

@madig
Copy link
Collaborator Author

madig commented Dec 13, 2017

The hooks have to work such that external tools can work on the fonts, so they'd have to be written out to disk before that and then read back in. In e.g. Ubuntu, the final binaries might be worked on by CacheTT.exe through wine with another Python script doing post-processing after that.

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

No branches or pull requests

2 participants