Re: [PATCH RFC RESEND 0/4] Documentation: Web fonts for kernel documentation

From: Bagas Sanjaya
Date: Fri Nov 03 2023 - 04:46:40 EST


On Fri, Nov 03, 2023 at 12:26:19AM +0000, Ken Moffat wrote:
> On Thu, Nov 02, 2023 at 10:35:47AM -0600, Jonathan Corbet wrote:
>
> Jon, some slight nit-picking below, after comments on the stated
> problem.
>
> > Bagas Sanjaya <bagasdotme@xxxxxxxxx> writes:
> >
> [...]
> > >
> > > The solution
> > > ============
> > >
> > > Uniform the font choices by leveraging web fonts. Most of people reading
> > > the kernel docs should already have modern browser that supports this
> > > feature (e.g. Chrome/Chromium and Firefox). The fonts are downloaded
> > > automatically when loading the page, but only if the reader don't
> > > already have ones installed locally. Subsequent docs page loading will
> > > use the browser cache to retrieve the fonts. If for some reasons the
> > > fonts fail to load, the browser will fall back to fallback fonts
> > > commonly seen on other sites.
> >
> Bagas,
>
> If loading the web font fails, you will get whichever fallback
> fonts are enabled by fontconfig and whichever fonts you, or your
> distro, have installed. If those fonts are not generally adequate
> you should complain to your distro, or install different fonts in
> ~/.local/share/fotns and perhaps change your fonts.conf entries.

I beg to differ.

That's depending on font-family rule. For example, if I write it as:

```
body {
font-family: "Liberation Sans", Helvetica, Arial, sans-serif;
}
```

browsers will try loading the first three fonts, in order. If a font
isn't available, they will try the next one until they can. Only then
when all other options are exhausted, generic fallback font will kick
in.

And yes, I do copying all fonts from my Windows installation (since
I dual-boot both it and Debian), then configure GNOME to use Segoe UI
as UI font (as it looks nicer to me). I also drop in font substitution
rules in `~/.config/fontconfig/conf.d` since I'm not the fan of
(obviously non-free) Söhne and substitute it with Inter and Source
Code Pro.

>
> > So my immediate response to this is pretty uniformly negative.
> >
> > - If you don't like serif, tweaking conf.py is easy enough without
> > pushing it on everybody else.
> >
> > - I'm not thrilled about adding a bunch of binary font data to the
> > kernel, and suspect a lot of people would not feel that the bloat is
> > worth it.
> >
>
> Jon,
>
> As I understand it the (woff) fonts would be downloaded on request
> by the browser if this went in. So not a bunch of binary font data
> in the kernel, but a download from google (adding to the popularity
> of the font) and yet more font data in the browser cache. I don't
> have any desire to see woff fonts referenced in the docs, just
> nit-picking about the details.

But I wasn't considering people using terminal-only browsers (like
Lynx).

>
> However -
>
> > - The licensing of the fonts is not fully free.
> >
>
> AFAICS, the SIL OFL allows everything except changing the font name.
> If you have the right tools you can apparently fix things like "that
> specific glyph looks ugly" or "you put a latin breve on a cyrillic
> letter" (apparently they should differ) or "You mismapped this
> codepoint to the wrong glyph". What you cannot do, if those changes
> are not accepted by the font designer/maintainer, or if the font is
> no-longer maintained, is fork it and provide it under the same name.
>
> You can fork, but the font name has to be changed (e.g. LinLibertine
> -> Libertinus and then the serif forked to CommonSerif).
>
> Oh, and you cannot sell the fonts by themselves, but you can bundle
> them with a distro or embed them.
> https://www.tldrlegal.com/license/open-font-license-ofl-explained
>
> Question: is that not free enough, or is that site wrong ? If not
> free enough, is there a better licence for fonts ?

Yet Debian distributes OFL fonts in its main archive...

For me, for the fonts, I'd like CC-BY-SA instead.

Thanks.

--
An old man doll... just what I always wanted! - Clara

Attachment: signature.asc
Description: PGP signature