docs/translations: Skip CJK contents if suitable fonts not found

Bugzilla: https://bugzilla.redhat.com/2160210

commit 5d9158e3c762f0bf1753501d8e64eb6fe19dc437
Author: Akira Yokosawa <akiyks@gmail.com>
Date:   Tue Feb 1 09:04:40 2022 +0900

    docs/translations: Skip CJK contents if suitable fonts not found

    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>

Signed-off-by: Chris von Recklinghausen <crecklin@redhat.com>
This commit is contained in:
Chris von Recklinghausen 2023-03-24 07:43:15 -04:00
parent 841abeceba
commit 9764c58b48
5 changed files with 17 additions and 13 deletions

View File

@ -414,13 +414,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}{}
}
'''

View File

@ -3,7 +3,7 @@
\renewcommand\thesection*
\renewcommand\thesubsection*
\kerneldocCJKon
\kerneldocBeginJP
\kerneldocBeginJP{
Japanese translations
=====================
@ -15,4 +15,4 @@ Japanese translations
.. raw:: latex
\kerneldocEndJP
}\kerneldocEndJP

View File

@ -3,7 +3,7 @@
\renewcommand\thesection*
\renewcommand\thesubsection*
\kerneldocCJKon
\kerneldocBeginKR
\kerneldocBeginKR{
한국어 번역
===========
@ -26,5 +26,4 @@
.. raw:: latex
\normalsize
\kerneldocEndKR
}\kerneldocEndKR

View File

@ -5,7 +5,7 @@
\renewcommand\thesection*
\renewcommand\thesubsection*
\kerneldocCJKon
\kerneldocBeginSC
\kerneldocBeginSC{
.. _linux_doc_zh:
@ -188,4 +188,4 @@ TODOList:
.. raw:: latex
\kerneldocEndSC
}\kerneldocEndSC

View 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