lichess-org / lila

♞ lichess.org: the forever free, adless and open source chess server ♞
https://lichess.org
GNU Affero General Public License v3.0
15.64k stars 2.28k forks source link

Conditional serving of fonts by language #364

Closed ghost closed 9 years ago

ghost commented 9 years ago

It would be great if additional font packages were made for all of the world's languages. It would mean any user can experience lichess's staple style the way it was intended to be seen.

I can understand fully why only Latin is included at the moment. Including every script in the package would be too much bandwidth for the average user, because the average user is only interested in their language of preference.

Instead, font packages could be made for each language, depending on the script used. The server will serve only Cyrillic and font-icon packages for the Russian language. Dropping Latin for other languages shouldn't be an issue, thanks to pull requests #228 and #247.

If you think the bandwidth cost is too great, feel free to shutter this issue immediately.


On a related note, if you are okay with this issue, I also recommend switching to Noto Sans. I was recommended this by someone who does a fair bit of i18n and can confirm it looks better in other languages. The Latin typefaces don't look half-bad either, by my own estimation.

Noto is an improvement over Open Sans, again by Google. Noto makes Open Sans characters a bit less light and changes the Latin g's to true sans-serif style. It also has a much wider range of characters for other languages.

ornicar commented 9 years ago

Noto font packs to use:

cyrillic:     av, be, bg, ce, cu, cv, kv, mk, os, ru, sr, uk
cyrillic-ext: ab, ba, kk, ky, mn, tg
greek:        el
latin:        aa, ae, afm ak, an, ay, az, bi, bm, br, bs, ca, ch, co, da, de, ee, eo, es, et, eu, ff, fi, fj, fo, fp, fr, fy, ga, gd, gl, gv, ho, hr, ht, hz, ia, id, ie, ig, ik, io, is, it, jb, jv, kb, kg, ki, kj, kl, kr, kw, la, lb, lg, li, ln, lt, lv. mg, mh, mt, na, nb, nd, ng, nl, nn, nr, nv, ny, oc, oj, om, pl, pt, qu, rm, rn, rw, sc, se, sg, sk, sl, sn, so, sq, ss, st, su, sv, sw, tk, tl, tn, to, tp, ts, tw, ve, vi, vo, wa, wo, xh, yo, za, zu
latin-ext:    cs, cy, gn. hu, mi, ro, sm, tr, ty
ghost commented 9 years ago

I have yet to get around to devanagari script, which is used for a multitude of languages.

Also, vietnamese (which is also present in Noto) is only to be used for vi.

ornicar commented 9 years ago

You can update this file: https://github.com/ornicar/lila/blob/master/modules/i18n/src/main/Fonts.scala#L8-L12 it defaults to latin.