What’s happening with FontBakery? Is Fontspector the future?

Hello everyone,

I recently came across a note on GitHub mentioning that FontBakery is gradually being phased out, and that Fontspector is the future of font quality assurance. It’s recommended to migrate to Fontspector, as FontBakery seems to no longer be actively maintained.

Currently, there also seem to be issues with installing FontBakery, particularly under Python 3.13.7, which has caused frustration for many users. This raises some important questions for me and others:

  1. Is FontBakery still being developed? Will there be any updates or official support for newer Python versions? Or can we assume that FontBakery is being gradually phased out?

  2. Fontspector as the new solution: What steps are needed to install and use Fontspector on personal systems? Is there a detailed guide for installation and integration of Fontspector into workflows? How does Fontspector differ from FontBakery in terms of usage and functionality?

I’m sure many of us who rely on FontBakery share these questions. Any answers or further information would be very helpful, especially as we may soon need to transition to Fontspector.

Looking forward to your thoughts and experiences!

Comments

  • John Hudson
    John Hudson Posts: 3,497
    There’s a web version of Fontspector that is probably the easiest way to work with it. If you want to install it locally, you can either grab binaries from the project release page or install using cargo-binstall. Depending on your platform, you may need some dependencies preinstalled, as explained in the repo readme.
  • So, this isn’t personally my project or anything, but I have been paying attention and use both tools. I also happen to be in regular meetings with the folks who do make those tools.

    1) No, Fontbakery is not being actively developed. I can’t say if that rules out minor updates for OS compatibility purposes. Of course, it being open source, somebody could choose to do this themselves. But as I explain below, this seems unlikely.

    2) FontSpector can either be run locally from the command line, or you can use the web version.

    - you can find the web version here: https://fonttools.github.io/fontspector/ — just drag and drop your font onto it.

    - instructions for installing the command-line version (from the command line) are here: https://github.com/fonttools/fontspector?tab=readme-ov-file#running-the-cli-tool — note that it assumes you either have cargo or homebrew installed, to do the install! If you do not, then you will need to install one of those first. If you are on a Mac, you will need protobuf.dev as well.

    - you may need to do a custom build of fontspector if you want special options, such as being able to directly run your own custom fontbakery checks within fontspector. (Yes, it can be built in a way that supports this!)

    Why Fontspector instead of Fontbakery?

    Fontspector is simply a port of Fontbakery from Python to Rust. But why? Two reasons: mostly performance, but security comes along for free.

    Performance

    Fontbakery can take several minutes for a single font family. Fontspector is roughly 1000 times as fast. It can run and report on the entire Google Fonts library in seconds. (This is mostly the benefits of being a compiled language, rather than interpreted. But even among compiled languages, Rust does pretty well, thanks to only allowing zero-cost abstractions.)

    Security

    In short, Rust is an inherently MUCH more secure language than Python (and C++, and most other languages). Many of the most common software security vulnerabilities are either impossible in Rust, or can only happen if you deliberately write and declare your app (or a part thereof) to be insecure.
  • Typedesigner
    Typedesigner Posts: 63
    edited September 6
    Thank you very much for this information.

    Does anyone know who owns or operates the website https://fonttools.github.io/fontspector/ ?
  • Thank you very much for this information.

    Does anyone know who owns or operates the website https://fonttools.github.io/fontspector/ ?


    It is run by developer team of fontspector themselves
  • Specifically, Simon Cozens is the lead developer of Fontspector, and Felipe Sanches was long the lead for Fontbakery.

    Development of both was primarily funded by Google, though many other folks have contributed, either as work for an employer, or on their own.
  • Typedesigner
    Typedesigner Posts: 63
    edited 8:08AM

    The description of how to install Fontspector is difficult to understand. The target audience of this guide must be very familiar with Rust and possibly programming. However, this is not the case for users of FontLab 8 and Glyphs 3 – i.e., type designers – unless they are font engineers.
    https://github.com/fonttools/fontspector?tab=readme-ov-file#running-the-cli-tool

    It would therefore be desirable to have a detailed step-by-step guide, similar to FontBakery, explaining how to install Fontspector.
    https://fontbakery.readthedocs.io/en/latest/user/installation/install-windows.html 


  • Simon Cozens
    Simon Cozens Posts: 803
    There’s a web version of Fontspector that is probably the easiest way to work with it. If you want to install it locally, you can either grab binaries from the project release page or install using cargo-binstall. Depending on your platform, you may need some dependencies preinstalled, as explained in the repo readme.
  • fTypedesigner said:

    The description of how to install Fontspector is difficult to understand. 

    It is a two step process 

    First install Rust and Cargo as per instruction given in https://doc.rust-lang.org/cargo/getting-started/installation.html

    Next go to a terminal and run

     cargo install fontspector 

  • Typedesigner
    Typedesigner Posts: 63
    edited 1:29PM
    Unfortunately, this description of how to install Fontspector is incomplete and leads to an error. How can this be fixed?
  • Simon Cozens
    Simon Cozens Posts: 803
    I'm not quite sure why you're double-posting your comments both here and on the fontspector issue tracker; it isn't helpful.

    The first step in the install instructions reads:
    You wanted a way to install that's similar to Glyphs and Fontlab - well, there you go! Just download the software and run it; I'm not sure why you've got yourself in a position where you're trying to compile it. If you found that step hard to understand I would appreciate suggestions as to how to make it clearer.

    And as mentioned twice above, for non-technical people who don't want to be messing around with command line software, the easiest way to use fontspector is through the web interface.
  • Typedesigner
    Typedesigner Posts: 63
    edited 3:15PM
    I'm not quite sure why you're double-posting your comments both here and on the fontspector issue tracker; it isn't helpful.

    The first step in the install instructions reads:
    You wanted a way to install that's similar to Glyphs and Fontlab - well, there you go! Just download the software and run it; I'm not sure why you've got yourself in a position where you're trying to compile it. If you found that step hard to understand I would appreciate suggestions as to how to make it clearer.

    And as mentioned twice above, for non-technical people who don't want to be messing around with command line software, the easiest way to use fontspector is through the web interface.

    Unfortunately, fontspector.exe cannot be installed on Windows 11. When you click on it, a window briefly opens and then immediately disappears. The software is simply unusable.

    I recently attempted to use the web version of Fontspector (https://fonttools.github.io/fontspector/) but noticed several concerns regarding transparency and data protection. Specifically, I observed that there is no imprint or privacy policy on the site that complies with the requirements of the General Data Protection Regulation (GDPR).

    In this context, I have a few questions regarding data processing and potential tracking mechanisms:

    1. Data Collection: What data is collected by the web version of Fontspector? For example, is the IP address of users recorded during their visit to the website?

    2. Cookies and Tracking: Does the website use cookies or other tracking technologies? If so, what information is collected through these, and how is it used?

    3. Data Sharing: Are any collected data, especially font metadata, shared with third parties or used for other purposes?

    Since the website does not provide clear information on privacy matters, I would appreciate a detailed response to the above questions. Specifically, I am interested in how the website complies with EU data protection requirements (GDPR).

  • Simon Cozens
    Simon Cozens Posts: 803
    The reason there is no privacy policy or data processing statement is that no data is gathered or retained at all.
  • mitradranirban
    mitradranirban Posts: 95
    edited 4:39PM
    Actually in the fontspector website nothing is uploaded, the whole program runs in your local browser, your font file is not uploaded anywhere and stays in your computers memory. The tests run in your browser to give you the result so no privacy concern at all