Open IdreesInc opened 1 year ago
For anyone looking for a workaround, I seem to have stumbled upon one here:
Run FontForge. Go to File > Open to load the font. Go to Edit > Select > Glyphs with only References (while holding Shift). Go to Edit > Select > Glyphs with only Splines (while holding Shift). Go to Metrics > Set Width To: (insert value)* then select Center in Width. Go to Field > Generate Fonts. Generate.
Use the width automatically provided in the "Set Width To" dialog.
CAVEATS:
.ttf
s into one .ttc
-- doing so stops this process from workingAttached is a zip file of all the weights after going through this process, should work if you're on macOS and need an actually monospaced font.
@speelbarrow That doesn't work for ligatures though, because ligature character width must be the same as the entire substring width.
I'll see what i can do.
@speelbarrow That doesn't work for ligatures though, ...
@Dheatly23 Okay, but, counterpoint: I tried it and they still work (sometimes)
Kitty has always been a bit weird about ligatures (in my experience, at least), so I'd take that second screenshot with a grain of salt as well. Obviously this is not a full solution to this issue, but perhaps it's a start? I'm by no means a font developer so I'll defer to the judgment of others on this one. Just thought I'd chime in with what I've already tried.
The ligature characters used in Monocraft replace multiple characters and so are bigger than the other characters in the font. This causes the font to not technically be classified as a monospaced font on Mac. Fonts like Hasklig and FiraCode use complex character substitution that replace the characters with ligature glyphs that go beyond the bounds and spacer characters to match the width of the original character set. I am not sure how to reproduce this in FontForge and it seems to be complicated, so any help on how to replace multiple characters (like "===") with other multiple characters (like "[SPACE][SPACE][LIG]") would be appreciated!