googlefonts / ufo2ft

A bridge from UFOs to FontTools objects (and therefore, OTFs and TTFs).
MIT License
151 stars 43 forks source link

Misleading project description #605

Closed Apteryks closed 2 years ago

Apteryks commented 2 years ago

Hello,

Reading the project description, I was a bit puzzled to learn that "ufo2ft ("UFO to FontTools") is a fork of ufo2fdk whose goal is to generate OpenType font binaries from UFOs without the FDK dependency.". The problem is that it depends of the cffsubr Python package, which builds its own copy of ADFKO (it relies on its tx command).

Does it mean this project failed to meet its goal? :-)

khaledhosny commented 2 years ago

cffsubr raison d'etre is to have the AFDKO subroutinizer without needing ful AFDKO install.

Apteryks commented 2 years ago

Alright, thanks for confirming.

anthrotype commented 2 years ago

though it's true ufo2ft has changed quite a lot since it forked, and the README may not reflect the current state of things.

Apteryks commented 2 years ago

I was asking because after packaging it on Guix, where dependencies are shared rather than bundled, it was made obvious that the dependency to AFDKO was retained through tx). So the only gain for pip users (which uses the bundled copy of tx via cffsubr) is saving a few MiB of non-tx binaries (the full AFDKO install uses about 9 MiB here).

khaledhosny commented 2 years ago

The size of AFDKO dependency is not the issue, but the fact that AFDKO core is ancient C utilities that are notoriously hard to hack, by using FontTools for most part ufo2ft is able to utilize its features and we can fix and extend it as needed, but with the obvious tradeoff of being much slower (cffsubr is not replacing parts of of FonTools, though, but compreffor which though written in c++ was much much slower).