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 1/9] docs: pdfdocs: Refactor config for CJK document Date: Mon, 2 Aug 2021 18:47:04 +0900 [thread overview] Message-ID: <1a13dea8-8f73-2773-a077-233b8e5480a6@gmail.com> (raw) In-Reply-To: <eb8184ab-cfab-680b-f180-1157a7f709b3@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. Remove import of check_output as it is unused any more. 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-08-02 9:47 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 ` Akira Yokosawa [this message] 2021-08-02 9:49 ` [PATCH v3 2/9] docs: pdfdocs: Add CJK-language-specific font settings Akira Yokosawa 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=1a13dea8-8f73-2773-a077-233b8e5480a6@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 \ --subject='Re: [PATCH v3 1/9] docs: pdfdocs: Refactor config for CJK document' \ /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
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).