fcambus / spleen

Monospaced bitmap fonts
https://www.cambus.net/spleen-monospaced-bitmap-fonts/
BSD 2-Clause "Simplified" License
1.02k stars 33 forks source link

Addition of Basic cyrillic alphabet + some extended + combining breve /diaeresis (306/308) #38

Open nerfur opened 9 months ago

nerfur commented 9 months ago

Addition of Basic cyrillic alphabet + some extended + combining breve /diaeresis (306/308) to all sizes.

2024-01-27-153655_705x571_scrot

fcambus commented 9 months ago

Thanks for your work, first impression is good! I will review your submission properly and commit when time allows.

fcambus commented 8 months ago

I committed your changes as a single commit, leaving out the 5x8 size (same reasoning as in #15) at least for now.

Thanks a lot for your work!

Strahinja commented 8 months ago

As an idea for further development, it would be nice if there were options for alternative versions of some of the characters which are different in non-Russian typographies (Serbian, Bulgarian...). For example, lowercase д, в, г, т, и are different in Serbian. Terminus font has some of those variants in the form of patches.

nerfur commented 8 months ago

As an idea for further development, it would be nice if there were options for alternative versions of some of the characters which are different in non-Russian typographies (Serbian, Bulgarian...). For example, lowercase д, в, г, т, и are different in Serbian. Terminus font has some of those variants in the form of patches.

Are they different with same unicode ids or is it different characters with other ids?

Strahinja commented 8 months ago

The Unicode code points are the same, not sure how it translates to font-related ids. There is some information on the different glyph forms on Wikipedia. It deals with cursive/italic forms, but in the picture from this PR I see characters resembling italic are used, hence the idea for an option which would produce glyphs specific to Serbian Cyrillic.

As stated, the way it is handled in Terminus is through patches. Since BDF is a textual format, I think something similar could be done here.

Strahinja commented 7 months ago

Just to report that I have started the work on Serbian Cyrillic version of the font (currently 32x64 and 12x24). I changed the characters which are different in Serbian Cyrillic, and added 201E DOUBLE LOW-9 QUOTATION MARK, which is used to start a quotation in Serbian.

I intend to first create the Serbian Cyrillic version in all sizes, then copy the characters which are not present in the version by @nerfur (Ћ, Ђ, Џ, etc; not Д, Г, Т, П, etc) back to that version, and create patches, which could then be applied to BDF fonts using patch(1).

2024-04-19-164605-dwm 2024-04-19-164834-dwm

nerfur commented 7 months ago

@Strahinja

if I understand right this font is not italic, because it is monospace terminal, so do you really need to change it and make patches? is "russian" unreadable in "serbian" text? maybe we can find some middle ground option?

Strahinja commented 7 months ago

@Strahinja

if I understand right this font is not italic, because it is monospace terminal, so do you really need to change it and make patches? is "russian" unreadable in "serbian" text? maybe we can find some middle ground option?

The font is not italic, but the different letter shapes "stand out" and look unnatural to a native Serbian speaker. In the case of lowercase т, it even goes as far as a strong possibility for misinterpreting it as м(!). The only letters in my fork of your pull request which look like italic letters are lowercase Г, П, Т, Ш. But then, your fork also has lowercase И and Й shaped to resemble italic letters (compare to, eg. и, й in whichever font is used on Github to format this text). I could change lowercase Г, П, Т, Ш to resemble upright letters in most sans-serif Cyrillic fonts, of course, but I think that и and related letters should follow suit.

Strahinja commented 7 months ago

About having patches for different typographic standards, I don't see anything wrong with that. Like I mentioned, Terminus font uses patches to offer a broader scope of customization. Different shapes of Cyrillic letters are just one area for the use of patches.

Strahinja commented 6 months ago

I made an update to my fork of @nerfur's fork of Spleen, creating a new branch sr-cyr-upright.

If this seems ok, I can implement the changes in font files for other sizes, backport only the letters not present in nerfur's fork (Љ, Њ, Ћ, Ђ...), creating a PR, then create diffs to font variants having Serbian letter shapes (Г, Д, П, Т...) and offer the patches in a separate PR.

I was also thinking of adding missing Macedonian letters (Ѓ, Ќ, ...) and Yat.

Changes from the branch serbian-cyrillic:

Screenshots:

2024-04-23-191405-dwm 2024-04-23-191349-dwm

nerfur commented 6 months ago

I don't see any problems from russian cyrillic point of view, especially if it allows to wide usage