slavfox / Cozette

A bitmap programming font optimized for coziness 💜
MIT License
2.84k stars 42 forks source link

Glyphs design discussion #60

Open cpkio opened 2 years ago

cpkio commented 2 years ago

What glyph decisions would you make: make a glyph narrow to keep 1px left margin or keep the letter intact? ʼnĥħ are in the picture.

1

slavfox commented 2 years ago

Readability should come first, staying within the character box and keeping margins second, and consistency third.

In other words, I aim to try and obey the margins and bounding box as long as it doesn't make the character difficult to read. This can be seen in eg. a lot of the glyphs with accents, where stuff like H will get shortened in the glyph for Ȟ. The exception is stuff like ħ, where the accent only has a pixel or two outside the normal bounding box, and in a location that makes it unlikely for it to harm readability.

cpkio commented 2 years ago

I've kept on doing glyphs after latest PR so I'll need time to patch new glyphs into master and make PR then… I've made substantial effort to keep up with combining mark position and design consistency. Take a look: CozetteVectorMono

slavfox commented 2 years ago

I'm worried about the Us with different baselines - image

The glyph should've been shortened vertically to make the accent fit, rather than moving it down a pixel.

cpkio commented 2 years ago

Thanks for pointing it out, will redo. I think the rule should be this: for some double-accented glyphs a capital letter should be shortened and moved down by 2px, and a lowercase one — shortened (optionally) and moved down by one. I've tried making letters short enough not to go under baseline, but they become barely readable or distinguishable.

slavfox commented 2 years ago

I just took another look at the glyphs and I realize now it's not possible to shorten some of them without moving them down. Given the choice, I'd rather keep the vertical movement to a minimum - shorten the glyphs as far as it makes sense to do so (without making eg. the uppercase version indistinguishable from the lowercase one), and move them down only if necessary.

cpkio commented 2 years ago

2021-12-01_160336

I'm trying to do the italics.

NTBBloodbath commented 1 year ago

Hey @cpkio I know this is a very old issue, but what happened to that italic variant? I've been looking for something like this!

If there isn't even a trace of that progress, how could I begin to make a new variant or in such a case resume those changes?

Cheers

cpkio commented 1 year ago

@NTBBloodbath I've never come past italics for basic latin. You can take my work (FontForge sources) here: https://workupload.com/file/ndEgamnCMvQ

Clone this repo, examine it and change file references to another .sfd file to compile font. Install FontForge to edit.

slavfox commented 1 year ago

FWIW, if anyone happens to make a set of italic glyphs for Cozette, I would be happy to do any work necessary to support it on the build side for bitmap formats - so, ideally, as long as all the metrics are the same, I can have the build scripts just copy over any unimplemented glyphs from the regular Cozette.

krompus commented 1 year ago

Apologies if this is perhaps a little off topic, but I'm currently struggling with the issue of italic text not rendering at all / being invisible when using Cozette (and other fonts without an italic variant) on my Arch Linux install. I wonder if it would be possible to force the regular font in place of italics, but I've no idea how to do that. I see the italic script Cozette above and it's beautiful, I'd love to use that on my system, I just don't know how; I've never built a font and I don't understand the shorthand "examine it and change file references to another .sfd file to compile font". Could somebody explain to a noob how to build Cozette with that italic variant? Thanks. :)

slavfox commented 1 year ago

I would suggest, at the very least, to include the information about what variant and format of Cozette you're using and what program you're seeing the issue in. It's up to the software to handle rendering fonts, and I know that e.g. gedit renders both bold and italic characters just fine even with bitmap formats.

The Cozette build scripts should just work if you just replace Cozette.sfd with a different source.