source-foundry / Hack

A typeface designed for source code
http://sourcefoundry.org/hack/
Other
16.43k stars 613 forks source link

Isn't quite monospaced #643

Open drventure opened 1 year ago

drventure commented 1 year ago

I love Hack, but it has one issue that has bothered me for a while.

I use a few programs that will only populate their font selection boxes with "monospaced" fonts. Now, when I bring up Visual Studio's config window, Hack is bolded, just like all the other "monospaced" fonts.

But some other apps appear to use some different method of identifying monospaced fonts, and Hack doesn't pass the test, meaning Hack won't be presented as a font that can be selected.

I finally did some poking around, and using FontForge, was able to isolate why.

For some apps, just tagging the font as "monospaced" is not enough. Literally EVERY SINGLE GLYPH must have the same advance.

In Hack, there are several that don't, although I don't see any particular reason why they wouldn't:

UNI000 /GRAVECOMB /ACUTECOMB /TILDECOMB /HOOKABOVECOMB /DOTBELOWCOMB /.NOTDEF /_1531

When I used FontForge to force all those glyphs to be the same advance as everything else, then centered the glyphs in the width, and generated a new font, the new version was properly recognized in ALL programs, even those where it wasn't before.

I've generated a "slightly modified" version of Hack I call Hackd here

https://darinhiggins.com/2022/11/15/hacking-hack/

It contains the above fix, plus a few other minor tweaks, plus the Ligatures from FiraCode, because I just really like Ligatures.

But mainly, I just wanted to let you know of the issue and what I found debugging it.

Elahejanam commented 1 year ago

πŸ‘πŸΌπŸ‘πŸΌ