githubnext / githubnext/monaspace

For variable fonts; cv13 only changes б into Serbian Cyrillic form; but г, д, и, п, and т don't get changed into Serbian Cyrillic forms.

Open
#386 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
19.6k
Forks
322
PR merge metrics
No merged PRs in 30d

Description

Disclaimer: I don't speak languages that use Cyrillic characters so my knowledge of the script is fairly limited.

I was reading about the difference of Cyrillic characters between those in Russia, Bulgaria (available within the opentype feature `cv12` in Monaspace fonts) and Serbia (available within the opentype feature `cv13` in Monaspace fonts).
See also: https://en.wikipedia.org/wiki/Cyrillic_alphabets#/media/File:Cyrillic_alternates.svg

Afterwards I looked into implementation of this on other fonts, it seems that [Cascadia Code/Cascadia Mono](https://github.com/microsoft/cascadia-code/) implement both Bulgarian and Serbian Cyrillic glyphs.
* Bulgarian Cyrillic is available within the opentype feature `locl`. (which is harder to utilize than `cvxx` / `ssxx` so I think that Monaspace's implementation is better than that of Cascadia in this regard)
* Serbian Cyrillic is available for the character б, г, п and т тwithin the opentype feature `ss03`, but only for the italic font files. (No upright Serbian Cyrillic glyphs)

Back to Monaspace fonts, after I inspect some Monaspace font files with [Fontdrop](https://fontdrop.info/#/?darkmode=true), it appears that `cv13` is supposed to be able to alter up to six characters: б, г, д, и, п, and т. Where only the first character (б) would be changed into in the Serbian Cyrillic glyph in the upright fonts, and all of these 6 characters would be changed into in the Serbian Cyrillic glyph in the italic fonts. Although all fonts have no problem changing the first character (б) into the Serbian Cyrillic glyph. I couldn't get the variable font files to change the remaining 5 characters into the Serbian Cyrillic glyph at all. Which is strange since all italic static font files I've tested can change all 6 characters into the Serbian Cyrillic glyph with no problem.

Gallery:
Image 1, viewing `Monaspace Argon Var.ttf` with Fontdrop with `slant`=0 (upright) and `cv13` disabled

Image

Image 2, viewing `Monaspace Argon Var.ttf` with Fontdrop with `slant`=-11 (italic) and `cv13` disabled

Image

Image 3, viewing `Monaspace Argon Var.ttf` with Fontdrop with `slant`=0 (upright) and `cv13` enabled

Image

Image 4, viewing `Monaspace Argon Var.ttf` with Fontdrop with `slant`=-11 (italic) and `cv13` enabled

Image

Image 5, viewing `MonaspaceArgon-ExtraLight.otf` with Fontdrop with `cv13` disabled

Image

Image 6, viewing `MonaspaceArgon-ExtraLightItalic.otf` with Fontdrop with `cv13` disabled

Image

Image 7, viewing `MonaspaceArgon-ExtraLight.otf` with Fontdrop with `cv13` enabled

Image

Image 8, viewing `MonaspaceArgon-ExtraLightItalic.otf` with Fontdrop with `cv13` enabled

Image

As it can be seen here, behavior of variable fonts in image 4 is incorrect and, to the best of my understanding, should be like in image 8.

Closing notes:
1. I haven't checked every font files as there are 1485 Monaspace font files in total. (As of current version: 1.4)
2. I haven't seriously checked on the Bulgarian Cyrillic glyphs. Though everything about them seems normal for the time being.
3. The text shown in the above screenshots is:

> ШИРОКАЯ ЭЛЕКТРИФИКАЦИЯ ЮЖНЫХ ГУБЕРНИЙ ДАСТ МОЩНЫЙ ТОЛЧОК ПОДЪЁМУ СЕЛЬСКОГО ХОЗЯЙСТВА.
> Б Г Д И П Т
> широкая электрификация южных губерний даст мощный толчок подъёму сельского хозяйства.
> б г д и п т

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the issue with Monaspace Argon Var.ttf in Fontdrop using slant 0 and -11, with cv13 enabled, and compare it with MonaspaceArgon-ExtraLightItalic.otf. Inspect how the variable font handles the six Serbian Cyrillic characters б, г, д, и, п, and т; done means cv13 produces the expected glyph changes in the variable font, matching the italic static font behavior.

Written by the indexing model from the issue text.

Assessment

Domain
design
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
44/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.