OSDN Git Service

docs/translations: Skip CJK contents if suitable fonts not found
authorAkira Yokosawa <akiyks@gmail.com>
Tue, 1 Feb 2022 00:04:40 +0000 (09:04 +0900)
committerJonathan Corbet <corbet@lwn.net>
Tue, 15 Feb 2022 23:35:54 +0000 (16:35 -0700)
On systems without "Noto Sans CJK" fonts, CJK chapters in
translations.pdf are full of "TOFU" boxes, with a long build time and
a large log file containing lots of missing-font warnings.

Avoid such waste of time and resources by skipping CJK chapters when
CJK fonts are not available.

To skip whole chapters, change the definition of
\kerneldocBegin{SC|TC|KR|JP} commands so that they can have an argument
to be ignored.
This works as far as the argument (#1) is not used in the command.
In place of skipped contents, put a note on skipped contents at the
beginning of the PDF.

Change the call sites in index.rst of CJK translations accordingly.

When CJK fonts are available, existing command definitions with
no argument just work.  LaTeX engine will see additional pairs of
"{" and "}", which add a level of grouping without having any effect
on typesetting.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/3359ca41-b81d-b2c7-e437-7618efbe241d@gmail.com
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Documentation/conf.py
Documentation/translations/ja_JP/index.rst
Documentation/translations/ko_KR/index.rst
Documentation/translations/zh_CN/index.rst
Documentation/translations/zh_TW/index.rst

index ded49b8..62cd0e4 100644 (file)
@@ -563,13 +563,18 @@ latex_elements['preamble']  += '''
        % Custom macros to on/off CJK (Dummy)
        \\newcommand{\\kerneldocCJKon}{}
        \\newcommand{\\kerneldocCJKoff}{}
-       \\newcommand{\\kerneldocBeginSC}{}
+       \\newcommand{\\kerneldocBeginSC}[1]{%
+           \\begin{sphinxadmonition}{note}{Note:}
+               ``Noto Sans CJK'' fonts are not found while building this PDF\\@.
+               Translations of zh\\_CN, zh\\_TW, ko\\_KR, and ja\\_JP are
+               skipped.
+           \\end{sphinxadmonition}}
        \\newcommand{\\kerneldocEndSC}{}
-       \\newcommand{\\kerneldocBeginTC}{}
+       \\newcommand{\\kerneldocBeginTC}[1]{}
        \\newcommand{\\kerneldocEndTC}{}
-       \\newcommand{\\kerneldocBeginKR}{}
+       \\newcommand{\\kerneldocBeginKR}[1]{}
        \\newcommand{\\kerneldocEndKR}{}
-       \\newcommand{\\kerneldocBeginJP}{}
+       \\newcommand{\\kerneldocBeginJP}[1]{}
        \\newcommand{\\kerneldocEndJP}{}
     }
 '''
index 88d4d98..20738c9 100644 (file)
@@ -3,7 +3,7 @@
        \renewcommand\thesection*
        \renewcommand\thesubsection*
        \kerneldocCJKon
-       \kerneldocBeginJP
+       \kerneldocBeginJP{
 
 Japanese translations
 =====================
@@ -15,4 +15,4 @@ Japanese translations
 
 .. raw:: latex
 
-       \kerneldocEndJP
+       }\kerneldocEndJP
index f636b48..4add6b2 100644 (file)
@@ -3,7 +3,7 @@
        \renewcommand\thesection*
        \renewcommand\thesubsection*
        \kerneldocCJKon
-       \kerneldocBeginKR
+       \kerneldocBeginKR{
 
 한국어 번역
 ===========
@@ -26,5 +26,4 @@
 
 .. raw:: latex
 
-    \normalsize
-    \kerneldocEndKR
+    }\kerneldocEndKR
index f831887..23f8f4c 100644 (file)
@@ -5,7 +5,7 @@
        \renewcommand\thesection*
        \renewcommand\thesubsection*
        \kerneldocCJKon
-       \kerneldocBeginSC
+       \kerneldocBeginSC{
 
 .. _linux_doc_zh:
 
@@ -198,4 +198,4 @@ TODOList:
 
 .. raw:: latex
 
-       \kerneldocEndSC
+       }\kerneldocEndSC
index f56f78b..e1ce9d8 100644 (file)
@@ -5,7 +5,7 @@
        \renewcommand\thesection*
        \renewcommand\thesubsection*
        \kerneldocCJKon
-       \kerneldocBeginTC
+       \kerneldocBeginTC{
 
 .. _linux_doc_zh_tw:
 
@@ -174,4 +174,4 @@ TODOList:
 
 .. raw:: latex
 
-       \kerneldocEndTC
+       }\kerneldocEndTC