slavfox / Cozette

A bitmap programming font optimized for coziness 💜
MIT License
2.93k stars 43 forks source link

Errors with ttf and otf formats #104

Closed mlochbaum closed 1 year ago

mlochbaum commented 1 year ago

Hi! Following #103, I wanted to add Cozette to the BQN fonts page. For other fonts I've used pyftsubset to make a woff2 sample; however, it fails for CozetteVector.ttf, or .otf, with "struct.error: unpack requires a buffer of 22 bytes". Embedding directly gives "Failed to decode downloaded font: ... OTS parsing error: OS/2: Failed to parse table" in the browser (blink-based). This seems to have first appeared in v1.19.2-hidpi. Both methods work fine in previous releases.

I'm also wondering how or if you'd like me to comply with the MIT license for this use? There's not really a way to include a copy of the license that would be obviously attached to the font. Most free fonts use the Open Font License which is admittedly very confusing but doesn't seem to require a copy of the license here.

slavfox commented 1 year ago

Hello! I'm honored to have Cozette be on your radar :smile:

I've reproduced the problem on my end; I should have a fix released soon. Bitmap fonts don't play nicely with... most things, unfortunately.

Re: license, the only reason Cozette is MIT rather than OFL is out of respect for Dina, which it's loosely based on, and which uses MIT.

In this case specifically I'd like to ask, if possible, for a little extra note next to Cozette's entry on the BQN fonts page - Cozette is a bitmap font first and foremost and due to funky historical decisions regarding fonts (primarily, the choice to use "points" as a unit of scale rather than pixels, which makes it extremely difficult to ensure any text renders aligned-to-the-pixel), as far as I've seen, the vector versions don't render "correctly" (i.e. pixel-perfectly) on any OS at any point size.

I would be very grateful for a note along the lines of "Cozette - presented here in a vectorized format, bitmap (preferred) versions can be found under ".

I consider a link back to this repo perfectly sufficient for the purposes of the license, since there isn't really a way to present the copyright notice to the user as part of a webfont.

slavfox commented 1 year ago

I believe I got the issue fixed in v.1.21.0-woff; I've also added .woff and .woff2 exports, which should be a little easier to work with for pyftsubset. I've verified that the .ttf version now embeds correctly in a browser, at least.

mlochbaum commented 1 year ago

Thanks, the ttf and woff2 versions both work now! I've added Cozette, along with Fairfax, which I noticed supports all of BQN as of 2022. Your woff2 is smaller than the one pyftsubset makes (better compressed probably), so I went with that. Let me know if there's anything about the presentation you'd like changed.