From: Akira Yokosawa <akiyks@gmail.com>
To: Jonathan Corbet <corbet@lwn.net>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
"Wu X.C." <bobwxc@email.cn>, SeongJae Park <sj38.park@gmail.com>
Cc: Hu Haowen <src.res@email.cn>,
Shinwoo Lee <shinwoo.lee.us@gmail.com>,
linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
Akira Yokosawa <akiyks@gmail.com>
Subject: [RFC PATCH v2 1/7] docs: pdfdocs: Refactor config for CJK document
Date: Mon, 19 Jul 2021 20:10:00 +0900 [thread overview]
Message-ID: <ea17ce02-07f3-a34c-ced2-c585caa50607@gmail.com> (raw)
In-Reply-To: <20ff8a65-6a5c-c062-fe1a-0f5c5ddc813c@gmail.com>
To make generated LaTeX code portable across systems with different sets
of available fonts, convert font-availability check in python code to
LaTeX code by using a conditional command provided by the "fontspec"
package.
This will help those who run Sphinx on one machine/container and run
latexmk on other machines/containers.
Signed-off-by: Akira Yokosawa <akiyks@gmail.com>
---
Documentation/conf.py | 22 +++++++++-------------
1 file changed, 9 insertions(+), 13 deletions(-)
diff --git a/Documentation/conf.py b/Documentation/conf.py
index 7d92ec3e5b6e..b440cb606d22 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -16,8 +16,6 @@ import sys
import os
import sphinx
-from subprocess import check_output
-
# Get Sphinx version
major, minor, patch = sphinx.version_info[:3]
@@ -355,15 +353,14 @@ latex_elements = {
''',
}
-# At least one book (translations) may have Asian characters
-# with are only displayed if xeCJK is used
+# Translations have Asian (CJK) characters which are only displayed if
+# xeCJK is used
-cjk_cmd = check_output(['fc-list', '--format="%{family[0]}\n"']).decode('utf-8', 'ignore')
-if cjk_cmd.find("Noto Sans CJK SC") >= 0:
- latex_elements['preamble'] += '''
+latex_elements['preamble'] += '''
+ \\IfFontExistsTF{Noto Sans CJK SC}{
% This is needed for translations
- \\usepackage{xeCJK}
- \\setCJKmainfont{Noto Sans CJK SC}
+ \\usepackage{xeCJK}
+ \\setCJKmainfont{Noto Sans CJK SC}
% Define custom macros to on/off CJK
\\newcommand{\\kerneldocCJKon}{\\makexeCJKactive}
\\newcommand{\\kerneldocCJKoff}{\\makexeCJKinactive}
@@ -371,13 +368,12 @@ if cjk_cmd.find("Noto Sans CJK SC") >= 0:
\\usepackage{etoolbox}
% Inactivate CJK after tableofcontents
\\apptocmd{\\sphinxtableofcontents}{\\kerneldocCJKoff}{}{}
- '''
-else:
- latex_elements['preamble'] += '''
+ }{ % No CJK font found
% Custom macros to on/off CJK (Dummy)
\\newcommand{\\kerneldocCJKon}{}
\\newcommand{\\kerneldocCJKoff}{}
- '''
+ }
+'''
# Fix reference escape troubles with Sphinx 1.4.x
if major == 1:
--
2.17.1
next prev parent reply other threads:[~2021-07-19 11:10 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-19 11:08 [RFC PATCH v2 0/7] docs: pdfdocs: Improve font choice in CJK translations Akira Yokosawa
2021-07-19 11:10 ` Akira Yokosawa [this message]
2021-07-19 11:12 ` [RFC PATCH v2 2/7] docs: pdfdocs: Add CJK-language-specific font settings Akira Yokosawa
2021-07-19 11:13 ` [RFC PATCH v2 3/7] docs: pdfdocs: Use one-half spacing in CJK translations Akira Yokosawa
2021-07-19 11:14 ` [RFC PATCH v2 4/7] docs: pdfdocs: Permit AutoFakeSlant for CJK fonts Akira Yokosawa
2021-07-19 11:15 ` [RFC PATCH v2 5/7] docs: pdfdocs: Teach xeCJK the width of quotation marks Akira Yokosawa
2021-07-19 11:17 ` [RFC PATCH v2 6/7] docs: pdfdocs: Add optional choices for Korean monospace font Akira Yokosawa
2021-07-19 11:18 ` [RFC PATCH v2 7/7] docs/ko_KR: Use white spaces behind CJK characters in ascii-art Akira Yokosawa
2021-07-25 20:41 ` [RFC PATCH v2 0/7] docs: pdfdocs: Improve font choice in CJK translations Jonathan Corbet
2021-07-26 9:15 ` Akira Yokosawa
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=ea17ce02-07f3-a34c-ced2-c585caa50607@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=shinwoo.lee.us@gmail.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.