docs: Detect variable fonts and suggest denylisting them
authorAkira Yokosawa <akiyks@gmail.com>
Sat, 6 Apr 2024 02:04:16 +0000 (11:04 +0900)
committerJonathan Corbet <corbet@lwn.net>
Wed, 10 Apr 2024 20:10:13 +0000 (14:10 -0600)
commit1e596d5eff3ddbaf2c5446adcc999b2516949556
tree6d5c2d6415e4eb815586434b072062514e1ebf57
parent9e192b39a5992d8b730383d57416964b44ea1041
docs: Detect variable fonts and suggest denylisting them

Fedora and openSUSE has started deploying "variable font" [1] format
Noto CJK fonts [2, 3].  "CJK" here stands for "Chinese, Japanese,
and Korean".

Unfortunately, XeTeX/XeLaTeX doesn't understand those fonts for
historical reasons and builds of translations.pdf end up in errors
if such fonts are present on the build host.

To help developers work around the issue, add a script to check the
presence of "variable font" Noto CJK fonts and to emit suggestions.
The script is invoked in the error path of "make pdfdocs" so that the
suggestions are made only when a PDF build actually fails.

The first suggestion is to denylist those "variable font" files by
activating a per-user and command-local fontconfig setting.

For further info and backgrounds, please refer to the header comment
of scripts/check-variable-font.sh newly added in this commit.

Link: [1] https://en.wikipedia.org/wiki/Variable_font
Link: [2] https://fedoraproject.org/wiki/Changes/Noto_CJK_Variable_Fonts
Link: [3] https://build.opensuse.org/request/show/1157217
Reported-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/8734tqsrt7.fsf@meer.lwn.net/
Reported-by: Иван Иванович <relect@bk.ru>
Link: https://lore.kernel.org/linux-doc/1708585803.600323099@f111.i.mail.ru/
Cc: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20240406020416.25096-1-akiyks@gmail.com
Documentation/Makefile
Documentation/sphinx/kerneldoc-preamble.sty
MAINTAINERS
scripts/check-variable-fonts.sh [new file with mode: 0755]