IdreesInc / Monocraft

A monospaced programming font inspired by the Minecraft typeface
https://idreesinc.com
SIL Open Font License 1.1
8.03k stars 114 forks source link

Add Support For Cyrillic Letters #36

Closed kpostnov closed 1 year ago

kpostnov commented 1 year ago

As suggested in #4 I have added support for cyrillic characters. This addition contains 96 glyphs ranging from U+0400 to U+045f. To match the existing space constraints (due to monospace) some characters, such as Ж or Ф, had to be redesigned a little. Regardless, it was not possible to 'squeeze' every character this way, which is why a few characters have missing spacing. This is the case for Ю ,for instance. Feel free to reach out if you find any further issues.

Original characters in Minecraft
(note that they are not monospace)
Monocraft
minecraft_cyrillic cyrillic

This is what it looks like in VSCode (outdated): vscode_cyrillic

WexCore commented 1 year ago

Regardless, it was not possible to 'squeeze' every character this way, which is why a few characters have missing spacing.

I feel that symbol spacing in monospaced font is more important than the look of each letter. It's definitely possible to fit every letter, given some sacrifices. The author of this font changed the I's and L's to fit the font better, why shouldn't you? showcase

kpostnov commented 1 year ago

I feel that symbol spacing in monospaced font is more important than the look of each letter. It's definitely possible to fit every letter, given some sacrifices. The author of this font changed the I's and L's to fit the font better, why shouldn't you? !

You are probably right. Originally, I didn't want to change the font too much and used existing glyphs like ¾ as a guide, which also have a different width. But I think your version is nicer. I'll see what I can do.

WexCore commented 1 year ago

The spacing on the lowercase letter "к" is still a bit weird. Consider extending it a little. k_example

UPD: just noticed its the same for English letter "k". Guess I'll open an issue and we'll see about it.

kpostnov commented 1 year ago

The spacing on the lowercase letter "к" is still a bit weird. Consider extending it a little.

I too wasn't sure about that one. In the original it is only 4 pixels wide. In addition, there are other characters, such as i, l or t in latin, or г in cyrillic, that are 4 pixels wide as well. But you are right. It does look weird. So I changed the к for now.

Before After
before after

However, I don't know what to do with the г. Extending it horizontally would make it look wrong. What do you think?

4 pixels 5 pixels
g_thin g_wide
WexCore commented 1 year ago

It really does look weird with 5px. I say you should leave it as it is, to be more inline with english i, l, etc.

IdreesInc commented 1 year ago

Thank you for the tremendous amount of work you've put into adding all of these characters, as well as for including screenshots in the PR so that it is easy to compare against the game. Everything looks good to me and I feel like you've done the most you can given the constraints of the monospacing. I'll merge this in to a separate branch first so that I can deal with conflicts from other PRs before merging it into main.