Hacker News new | ask | show | jobs
by raphlinus 2 days 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

[2]: https://github.com/googlefonts/opensans/issues/114

[3]: https://localfonts.eu/freefonts/traditional-cyrillic-free-fo...

1 comments

Wow, 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.

Any 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.

So 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

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 :)