docs: Activate exCJK only in CJK chapters
authorAkira Yokosawa <akiyks@gmail.com>
Tue, 25 May 2021 15:25:39 +0000 (00:25 +0900)
committerJonathan Corbet <corbet@lwn.net>
Thu, 27 May 2021 15:59:41 +0000 (09:59 -0600)
commitf7ebe6b76940f873645ff110192b08e64334a112
tree2d717ffbe08a65a5c792bd61430090e49c3b33c7
parent0e7c52da1ab82338fc91021cc34e8f2fdaf73de4
docs: Activate exCJK only in CJK chapters

Activating xeCJK in English and Italian-translation documents
results in sub-optimal typesetting with wide-looking apostrophes
and quotation marks.

The xeCJK package provides macros for enabling and disabling its
effect in the middle of a document, namely \makexeCJKactive and
\makexeCJKinactive.

So the goal of this change is to activate xeCJK in the relevant
chapters in translations.

To do this:

    o Define custom macros in the preamble depending on the
      availability of the "Noto Sans CJK" font so that those
      macros can be used regardless of the use of xeCJK package.

    o Patch \sphinxtableofcontents so that xeCJK is inactivated
      after table of contents.

    o Embed those custom macros in each language's index.rst file
      as a ".. raw:: latex" construct.

Note: A CJK chapter needs \kerneldocCJKon in front of its chapter
heading, while a non-CJK chapter should have \kerneldocCJKoff
below its chapter heading.

This is to make sure the CJK font is available to CJK chapter's
heading and ending page's footer.

Tested against Sphinx versions 2.4.4 and 4.0.2.

Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
Tested-by: Wu XiangCheng <bobwxc@email.cn>
Reviewed-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Link: https://lore.kernel.org/lkml/2061da0a-6ab1-35f3-99c1-dbc415444f37@gmail.com
Link: https://lore.kernel.org/r/83208ddc-5de9-b283-3fd6-92c635348ca0@gmail.com
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Documentation/conf.py
Documentation/translations/index.rst
Documentation/translations/it_IT/index.rst
Documentation/translations/ja_JP/index.rst
Documentation/translations/ko_KR/index.rst
Documentation/translations/zh_CN/index.rst