From: Akira Yokosawa <akiyks@gmail.com>
To: Jonathan Corbet <corbet@lwn.net>
Cc: Mauro Carvalho Chehab <mchehab@kernel.org>,
"Wu X.C." <bobwxc@email.cn>, SeongJae Park <sj38.park@gmail.com>,
Hu Haowen <src.res@email.cn>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Akira Yokosawa <akiyks@gmail.com>
Subject: [PATCH v3 2/9] docs: pdfdocs: Add CJK-language-specific font settings
Date: Mon, 2 Aug 2021 18:49:02 +0900 [thread overview]
Message-ID: <a7f14d16-46c6-4476-35cf-90afc2395a44@gmail.com> (raw)
In-Reply-To: <eb8184ab-cfab-680b-f180-1157a7f709b3@gmail.com>
zh_TW, ko_KR, and ja_JP translations have their preferred glyph sets
different from that of zh_CN.
To switch CJK font in the middle of the translations, introduce custom
LaTeX macros listed below:
\kerneldocBeginSC
\kerneldocEndSC
\kerneldocBeginTC
\kerneldocEndTC
\kerneldocBeginKR
\kerneldocEndKR
\kerneldocBeginJP
\kerneldocEndJP
, and embed a pair of macros in each language's index.rst.
NOTE 1: Update of zh_TW/index.rst is deferred to a follow-up change.
NOTE 2: Custom macros added here do not imply \kerneldocCJK(on|off).
This is intentional. For example, \kerneldocCJKoff needs to be
at the top of Italian translations' index.rst for the footer of
final zh_TW page to be properly typeset.
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
Documentation/conf.py | 51 +++++++++++++++++++++-
Documentation/translations/ja_JP/index.rst | 5 +++
Documentation/translations/ko_KR/index.rst | 2 +
Documentation/translations/zh_CN/index.rst | 5 +++
4 files changed, 62 insertions(+), 1 deletion(-)
diff --git a/Documentation/conf.py b/Documentation/conf.py
index b440cb606d22..24e5427588e7 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -361,10 +361,51 @@ latex_elements['preamble'] += '''
% This is needed for translations
\\usepackage{xeCJK}
\\setCJKmainfont{Noto Sans CJK SC}
+ \\setCJKsansfont{Noto Sans CJK SC}
+ \\setCJKmonofont{Noto Sans Mono CJK SC}
+ % CJK Language-specific font choices
+ \\newCJKfontfamily[SCmain]\\scmain{Noto Sans CJK SC}
+ \\newCJKfontfamily[SCsans]\\scsans{Noto Sans CJK SC}
+ \\newCJKfontfamily[SCmono]\\scmono{Noto Sans Mono CJK SC}
+ \\newCJKfontfamily[TCmain]\\tcmain{Noto Sans CJK TC}
+ \\newCJKfontfamily[TCsans]\\tcsans{Noto Sans CJK TC}
+ \\newCJKfontfamily[TCmono]\\tcmono{Noto Sans Mono CJK TC}
+ \\newCJKfontfamily[KRmain]\\krmain{Noto Sans CJK KR}
+ \\newCJKfontfamily[KRsans]\\krsans{Noto Sans CJK KR}
+ \\newCJKfontfamily[KRmono]\\krmono{Noto Sans Mono CJK KR}
+ \\newCJKfontfamily[JPmain]\\jpmain{Noto Sans CJK JP}
+ \\newCJKfontfamily[JPsans]\\jpsans{Noto Sans CJK JP}
+ \\newCJKfontfamily[JPmono]\\jpmono{Noto Sans Mono CJK JP}
% Define custom macros to on/off CJK
\\newcommand{\\kerneldocCJKon}{\\makexeCJKactive}
\\newcommand{\\kerneldocCJKoff}{\\makexeCJKinactive}
- % To customize \sphinxtableofcontents
+ \\newcommand{\\kerneldocBeginSC}{%
+ \\begingroup%
+ \\scmain%
+ }
+ \\newcommand{\\kerneldocEndSC}{\\endgroup}
+ \\newcommand{\\kerneldocBeginTC}{%
+ \\begingroup%
+ \\tcmain%
+ \\renewcommand{\\CJKsfdefault}{TCsans}%
+ \\renewcommand{\\CJKttdefault}{TCmono}%
+ }
+ \\newcommand{\\kerneldocEndTC}{\\endgroup}
+ \\newcommand{\\kerneldocBeginKR}{%
+ \\begingroup%
+ \\krmain%
+ \\renewcommand{\\CJKsfdefault}{KRsans}%
+ \\renewcommand{\\CJKttdefault}{KRmono}%
+ }
+ \\newcommand{\\kerneldocEndKR}{\\endgroup}
+ \\newcommand{\\kerneldocBeginJP}{%
+ \\begingroup%
+ \\jpmain%
+ \\renewcommand{\\CJKsfdefault}{JPsans}%
+ \\renewcommand{\\CJKttdefault}{JPmono}%
+ }
+ \\newcommand{\\kerneldocEndJP}{\\endgroup}
+ % To customize \\sphinxtableofcontents
\\usepackage{etoolbox}
% Inactivate CJK after tableofcontents
\\apptocmd{\\sphinxtableofcontents}{\\kerneldocCJKoff}{}{}
@@ -372,6 +413,14 @@ latex_elements['preamble'] += '''
% Custom macros to on/off CJK (Dummy)
\\newcommand{\\kerneldocCJKon}{}
\\newcommand{\\kerneldocCJKoff}{}
+ \\newcommand{\\kerneldocBeginSC}{}
+ \\newcommand{\\kerneldocEndSC}{}
+ \\newcommand{\\kerneldocBeginTC}{}
+ \\newcommand{\\kerneldocEndTC}{}
+ \\newcommand{\\kerneldocBeginKR}{}
+ \\newcommand{\\kerneldocEndKR}{}
+ \\newcommand{\\kerneldocBeginSC}{}
+ \\newcommand{\\kerneldocEndKR}{}
}
'''
diff --git a/Documentation/translations/ja_JP/index.rst b/Documentation/translations/ja_JP/index.rst
index f94ba62d41c3..88d4d98eed15 100644
--- a/Documentation/translations/ja_JP/index.rst
+++ b/Documentation/translations/ja_JP/index.rst
@@ -3,6 +3,7 @@
\renewcommand\thesection*
\renewcommand\thesubsection*
\kerneldocCJKon
+ \kerneldocBeginJP
Japanese translations
=====================
@@ -11,3 +12,7 @@ Japanese translations
:maxdepth: 1
howto
+
+.. raw:: latex
+
+ \kerneldocEndJP
diff --git a/Documentation/translations/ko_KR/index.rst b/Documentation/translations/ko_KR/index.rst
index 6ae258118bdf..f636b482fb4c 100644
--- a/Documentation/translations/ko_KR/index.rst
+++ b/Documentation/translations/ko_KR/index.rst
@@ -3,6 +3,7 @@
\renewcommand\thesection*
\renewcommand\thesubsection*
\kerneldocCJKon
+ \kerneldocBeginKR
한국어 번역
===========
@@ -26,3 +27,4 @@
.. raw:: latex
\normalsize
+ \kerneldocEndKR
diff --git a/Documentation/translations/zh_CN/index.rst b/Documentation/translations/zh_CN/index.rst
index e0d51a167032..510ec10959fa 100644
--- a/Documentation/translations/zh_CN/index.rst
+++ b/Documentation/translations/zh_CN/index.rst
@@ -5,6 +5,7 @@
\renewcommand\thesection*
\renewcommand\thesubsection*
\kerneldocCJKon
+ \kerneldocBeginSC
.. _linux_doc_zh:
@@ -189,3 +190,7 @@ TODOList:
----------
* :ref:`genindex`
+
+.. raw:: latex
+
+ \kerneldocEndSC
--
2.17.1
next prev parent reply other threads:[~2021-08-02 9:49 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-02 9:43 [PATCH v3 0/9] docs: pdfdocs: Improve font choice in CJK translations Akira Yokosawa
2021-08-02 9:47 ` [PATCH v3 1/9] docs: pdfdocs: Refactor config for CJK document Akira Yokosawa
2021-08-02 9:49 ` Akira Yokosawa [this message]
2021-08-02 9:50 ` [PATCH v3 3/9] docs: pdfdocs: Choose Serif font as CJK mainfont if possible Akira Yokosawa
2021-08-02 9:51 ` [PATCH v3 4/9] docs: pdfdocs: Preserve inter-phrase space in Korean translations Akira Yokosawa
2021-08-02 9:53 ` [PATCH v3 5/9] docs: pdfdocs: Add conf.py local to translations for ascii-art alignment Akira Yokosawa
2021-08-02 9:56 ` [PATCH v3 6/9] docs: pdfdocs: One-half spacing for CJK translations Akira Yokosawa
2021-08-08 3:53 ` Akira Yokosawa
2021-08-12 14:42 ` Jonathan Corbet
2021-08-12 14:54 ` Akira Yokosawa
2021-08-12 15:14 ` Jonathan Corbet
2021-08-02 9:57 ` [PATCH v3 7/9] docs: pdfdocs: Permit AutoFakeSlant for CJK fonts Akira Yokosawa
2021-08-02 9:59 ` [PATCH v3 8/9] docs: pdfdocs: Teach xeCJK about character classes of quotation marks Akira Yokosawa
2021-08-02 10:00 ` [PATCH v3 9/9] docs: pdfdocs: Enable language-specific font choice of zh_TW translations Akira Yokosawa
2021-08-02 14:10 ` Hu Haowen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a7f14d16-46c6-4476-35cf-90afc2395a44@gmail.com \
--to=akiyks@gmail.com \
--cc=bobwxc@email.cn \
--cc=corbet@lwn.net \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=sj38.park@gmail.com \
--cc=src.res@email.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).