fonttools / fontbakery

🧁 A font quality assurance tool for everyone
https://fontbakery.readthedocs.io
Apache License 2.0
546 stars 99 forks source link

Fontbakery should perform some default actions #4183

Open justinpenner opened 1 year ago

justinpenner commented 1 year ago

In reference to Dave's recent TypeDrawers thread requesting feedback on how to make Fontbakery better for type designers who may want to use it, but perhaps find it intimidating, hard to install, or hard to use.

As a casual/occasional user of Fontbakery, I find it to be a bit of a pain looking up and writing all the command line flags just to perform some basic actions. I think there should be some sane default actions that are performed if only the check profile is specified.

For example, if I run fontbakery check-universal, it responds with No applicable files found, which is confusing since I have plenty of .ttf files in the current folder. If no flags/parameters are entered after check-xxxx, it would be sensible to me if it simply runs on all font files (ttf/otf/woff/woff2/etc) in the current folder, with the default log level, and outputs to some default formats like gh-markdown and html.

Further to this idea, it would be useful if those default actions could be overriden with a config file in the current folder, and perhaps a default config file somewhere else on the user's system.

davelab6 commented 1 year ago

Thanks for posting this @justinpenner

simoncozens commented 1 year ago

Agree. I also think that the fontbakery CLI is completely unintuitive. For example:

fontbakery check-profile myprofile.py --html report.html font.ttf

does not work; it needs to be

fontbakery check-profile --html report.html myprofile.py font.ttf

even though conceptually check-profile *profilename* is more tightly coupled than *profilename* *fontname*.

As well as having some default settings (I'm forever running checks and then looking for the report file, only to find that it gave me a long output on the terminal but never saved anything because I forgot to ask it to), I think putting the rest of the settings - report format and output filename, profile name to be checked, etc. - into a config file would make the user experience much easier.

davelab6 commented 1 year ago

We may need to manage the migration process, eg have a new fontbakery-nextgen command line for say 3 months, with the new args/order/defaults, and also a fontbakery-legacy command with the old ones, alias the fb command to the legacy one, and then after 3 months remap the alias.

Also, alert users that this is coming in the stdout, install messages, etc.