5 ms·
I love this question. Basically all scripts have things that make them challenging to render, sometimes little things, sometimes bigger ones. Cyrillic for Russ
by raphlinus 3mo ago
I love this question. Basically all scripts have things that make them challenging to render, sometimes little things, sometimes bigger ones.
Cyrillic for Russian is reasonably straightforward, but it's also used for many other languages. The variation in style is particularly notable for Bulgarian[1]. A sophisticated font might have a "loca" table with locale-specific adjustments, but this is not universal yet, for example the issue to add it to Open Sans is still open[2]. To see the differences, try [3] and use the Language dropdown to select Bulgarian.
[1]: https://en.wikipedia.org/wiki/Bulgarian_alphabet https://en.wikipedia.org/wiki/Bulgarian_alphabet
[2]: https://github.com/googlefonts/opensans/issues/114 https://github.com/googlefonts/opensans/issues/114
[3]: https://localfonts.eu/freefonts/traditional-cyrillic-free-fonts/spectral/ https://localfonts.eu/freefonts/traditional-cyrillic-free-fo...
- qingcharles 3mo agoWow, thank you for this response. This is actually fascinating and frustrating at the same time. So Bulgarian uses the same Unicode points, but also uses the language/culture metadata to let the font know which set to use. I'm building out a multi-lingual wiki and just about to start adding Cyrillic support, and this really helps me understand that there is more research I need to do to support other Cyrillic languages.
- raphlinus 3mo agoAny time, friend. Your basic move is to set the lang metadata accurately and choose a font that does have these style differences implemented in the loca table. Best of luck and feel free to reach out if you have more specific questions.
- qingcharles 3mo agoSo I went to check on the font that I'd chosen for my European/Latin/Cyrillic body text, and I guess I got very lucky with my pick: https://github.com/googlefonts/literata https://github.com/googlefonts/literata I'm already strict with marking the html pages with the correct lang and culture tags etc, but I'll be double-checking everything now. Thank you again for educating me :)