I am curious if anyone has used fontbakery and has any feedback that they would like to share, here, in the GitHub issue tracker, or to me privately.
I've come to learn in the last week that some folks have not communicated their feedback on how the project could be better in their eyes, since they didn't believe the feedback would be acted on. Since that's not the case, I'm hoping to reach anyone here who may have additional feedback
Comments
It was very difficult for me to install it in Windows. I have very little experience with Python and most of the steps in the installation instructions didn't work. I got some outside help from someone with some expertise, and they had a tough time getting it going. The biggest battle was getting the paths sorted out. We tried all kinds of combinations until we got the specific path scheme it was looking for. I think I reset my machine a dozen times that day. But once it's up and running it's no problem. I recommend watching someone who doesn't know what they're doing try to install it in Windows.
It’s a great tool, every type designer should use it. There are some errors that should be warnings in my opinion, but it’s not a great problem.
@c.g. also an excellent bug report
@Michael Rafailyk. Oh! The dashboard project was sadly halted in December 2019. I've archived the project. A desktop UI app, or even better, integration into popular font editors as a plugin, has been discussed recently (https://github.com/googlefonts/fontbakery/issues/4128) and the GlyphsApp account said they are looking into it
That might also solve the other 2 issues with Windows installation and progress indication
I also just posted the above as issue #4183 on Github.
John, Simon has it all right. If you check my typecon workshop linked in the readme, you'll see how easy it is to make a new profile.
Fontbakery is run automatically in our Makefile-/fontmake-based variable font workflow, and I run it manually on our usual static font exports (OTF and TTF generated from FL5, then patched and modernized with Python FontTools). Might automate Fontbakery in that process as well.
@Jens Kutilek very helpful! Have you ever tried to modify any fb internals, or only worked on end-user usage and profile development?
@PabloImpallari on it
Right now, we add our own profile in the FontBakery build we use internally, but the whole setup is a bit awkward. Extending that to the wider community, I could see profiles owned and maintained separate from the main project: Adobe, Google, and others could maintain their own checks and profiles, which would be (automatically?) installed. The main project could then serve as a repository for the "universal" checks and a registry of external profiles. I understand something similar is being worked on using extras, but I hope some consideration is given to supporting profiles that don't live in the main repository.
For example, fontbakery can calculate italic angle, caret slope rise and caret slope run. When detected values are different than the expected ones, there's not much code to write to fix the detected errors. Or decomposing glyphs with scaled/transformed components, removing duplicate components, setting a bit in panose etc.
The code could be implemented in external tools, like gftools, and fontbakery could suggest the user how to fix the detected errors, where possible.
For example, a message like “To fix this error, run gftools fix italic-angle”
There are numerous instances of this. "Whitespace glyphs have ink?" (they shouldn't), etc.
Maybe someone in the capacity of an editor should go over all user-facing text, define a style guide for writing check messages and titles, and unify the style.
1. The output filters simply list the checks in the order that they are executed. We modified the html filter to always sort the results so that the ERRORs and FAILs are at the top, followed by WARN, SKIP, PASS, etc.; such an option should really be built-in.
2. We also created our own Schriftlabor profile. But the next update to fontbakery broke both our profile and our modified html output filter, so we now remain several versions behind until we have time to update the code. I know it's not easy, but it would be great if the methods used for interfacing between the profiles/output filters and the rest of the the fontbakery code could remain more stable (e.g. by deprecating old methods instead of removing them entirely). Or perhaps we should have structured our methods differently?