From nobody Sat Apr 11 21:02:07 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B98B6C25B08 for ; Fri, 5 Aug 2022 14:23:06 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240940AbiHEOXF (ORCPT ); Fri, 5 Aug 2022 10:23:05 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52732 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240941AbiHEOW7 (ORCPT ); Fri, 5 Aug 2022 10:22:59 -0400 Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com [IPv6:2607:f8b0:4864:20::52f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4E4A5C34F; Fri, 5 Aug 2022 07:22:57 -0700 (PDT) Received: by mail-pg1-x52f.google.com with SMTP id f65so2770816pgc.12; Fri, 05 Aug 2022 07:22:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=Gvfjl9OgW7oKULwG0V9MP7wEf5nbK9Je3oX1ODMbHCE=; b=Sdd/1wVliKDgMzgVEJG/3jV1wUZBdOwfmKm0sXyoyvBXhrmzcBJA77KyS5bFLIhyNZ 6sFD9Gn4Vl+jPjGnjXC/3dmcdLTAJjbh6RnetILr+cuijvJrsc/VAz3NV35XMZZeQSFk VGIdAVlf5r8rn0rfiVUo/RRIQPpbfYURiBbvKtoI+b4QkY9QMVVuHbLBE6PgF0Tvnndw Xpo6b0GpE0WQdlO+jSkK1hPr79OJWp/mkKysV+NmOpZ/uC+L+NVAmEuksYsuGOkaNIhI s3onldSv7E0+cdJnCvCWJoonxJaes3V8huyMgiX9YEuf/tSNwBcFggIwvf+RsDImfF3Q 5JcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=Gvfjl9OgW7oKULwG0V9MP7wEf5nbK9Je3oX1ODMbHCE=; b=lJobbH2p6sd9xB7DqGmJUeALGsDVeMF4fTm7+2wnnx42GMPv8aHG8IIRKjtIDiNOki HHVBIWr/jk/QaylLfAK/yjyIZraaF45RxolDyf900wBU4u70xCzXbrZoBHrH3Qv1Tlm2 Ebu0InzAJ27OpYwU0Uem2IbmkBXAmJ5MTwNYgW7o/+mkKtES28S1I4zwoXuhwWn1iZxH bieCixbeOfc81V8DuJYp+WA4ZJXek+TgQtHck8J63YRhOtvWqxokIPbJTEAPQC/q3OZr /xaf6noT+SYDfIV+MCjyrJ4lNw2L7Ph8qnezoUjq7aw861TkstcsTW2ElHz3pzwcf5tR xZDg== X-Gm-Message-State: ACgBeo1RKaknfyXJbkzgXOuhbMkNANTHoHlersuWIw00HGcHV9MaOkyu 2f8Tuvistj7+z+LWgnhDXoU= X-Google-Smtp-Source: AA6agR4Z12BjhC/EGtDn0xlsN5OVyNwdQnjwPaXzSrD7lH8ChYZOEyvGExbJmMKg6ZP1J3d74Z6ZwQ== X-Received: by 2002:a63:c1f:0:b0:41a:9b73:a89e with SMTP id b31-20020a630c1f000000b0041a9b73a89emr5912637pgl.342.1659709377122; Fri, 05 Aug 2022 07:22:57 -0700 (PDT) Received: from [192.168.11.9] (KD106167171201.ppp-bb.dion.ne.jp. [106.167.171.201]) by smtp.gmail.com with ESMTPSA id u4-20020a17090341c400b0016be681f008sm3112839ple.290.2022.08.05.07.22.54 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Aug 2022 07:22:56 -0700 (PDT) Message-ID: Date: Fri, 5 Aug 2022 23:22:53 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: [PATCH 1/3] docs/conf.py: Treat mathjax as fallback math renderer Content-Language: en-US To: Jonathan Corbet , Mauro Carvalho Chehab Cc: Linux Doc Mailing List , Mauro Carvalho Chehab , LKML , Akira Yokosawa References: <12d078f5-6995-b039-7076-bdb1f372a799@gmail.com> From: Akira Yokosawa In-Reply-To: <12d078f5-6995-b039-7076-bdb1f372a799@gmail.com> Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Currently, math expressions using the "math::" directive or the ":math:" role of Sphinx need the imgmath extension for proper rendering in html and epub builds. imgmath requires dvipng (and latex). Otherwise, "make htmldocs" will complain of missing commands. As a matter of fact, the mathjax extension is loaded by default since Sphinx v1.8 and it is good enough for html docs without any dependency on texlive packages. Stop loading the imgmath extension for html docs unless requirements for imgmath are met. For epub docs, keep the same behavior of always loading imgmath. Signed-off-by: Akira Yokosawa Cc: Mauro Carvalho Chehab --- Documentation/conf.py | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/Documentation/conf.py b/Documentation/conf.py index 934727e23e0e..3ec1f845c839 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py @@ -15,6 +15,23 @@ import sys import os import sphinx +from subprocess import check_output + +# helper +# ------ + +def have_command(cmd, ver_opt, str_in_ver): + """Run ```cmd`` with ``ver_opt`` and see if ``str_in_ver`` is found + or not. + """ + + try: + ver_str =3D check_output([cmd, ver_opt]).decode('utf-8', 'ignore') + have_cmd =3D str_in_ver in ver_str + except: + have_cmd =3D False + + return have_cmd =20 # Get Sphinx version major, minor, patch =3D sphinx.version_info[:3] @@ -106,7 +123,22 @@ else: autosectionlabel_prefix_document =3D True autosectionlabel_maxdepth =3D 2 =20 -extensions.append("sphinx.ext.imgmath") +# Load math renderer: +# For html builder, load imgmath only when its dependencies are met. +# mathjax is the default math renderer since Sphinx 1.8. +have_latex =3D have_command('latex', '--version', 'pdfTeX') +have_dvipng =3D have_command('dvipng', '--version', 'dvipng') +load_imgmath =3D ((have_latex and have_dvipng) + or (major =3D=3D 1 and minor < 8) + or 'epub' in sys.argv) + +if load_imgmath: + extensions.append("sphinx.ext.imgmath") + math_renderer =3D 'imgmath' +else: + math_renderer =3D 'mathjax' + +sys.stderr.write("math_renderer: %s\n" % math_renderer) =20 # Add any paths that contain templates here, relative to this directory. templates_path =3D ['_templates'] --=20 2.25.1 From nobody Sat Apr 11 21:02:07 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id F1FCBC25B08 for ; Fri, 5 Aug 2022 14:24:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240947AbiHEOYx (ORCPT ); Fri, 5 Aug 2022 10:24:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53770 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238484AbiHEOYv (ORCPT ); Fri, 5 Aug 2022 10:24:51 -0400 Received: from mail-pj1-x102f.google.com (mail-pj1-x102f.google.com [IPv6:2607:f8b0:4864:20::102f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B43B5925A; Fri, 5 Aug 2022 07:24:50 -0700 (PDT) Received: by mail-pj1-x102f.google.com with SMTP id a8so2899974pjg.5; Fri, 05 Aug 2022 07:24:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=rsvbdpDVmVTLiEyvBb5AVOQYTVyFER57JMOpNCoBxoQ=; b=XbGINiuA5ZKfsSdcZHTaPGv6WoyP4o5R1a2z0lTOd2DR2/EuKZEyqjzc1RSWGjYwW3 wRgzE6+XYcEgYJEgBgDGBNodU8eZFAe2DO5/a+X+VdcT1Ke+uLZApMKPPVtHdBgPSchQ LwRlzP2zCTznxICqJS25ZPZ2dl4UdK4jVXnBa0TwuAicfUj8E69GDQWiCbeXEKqjXgoi XkBjha25PITSmlDFcqxiClGN3SVpUv2buKIB1/0/+xwKUNBYKTrj729so/JIMZGmbhU8 Vl5xBLDrdqE2fQWDvxW4WFTAIn8BriwOWDCPheNkZXzm24Z/BURcADNRegxOGIjx08PG J6pQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=rsvbdpDVmVTLiEyvBb5AVOQYTVyFER57JMOpNCoBxoQ=; b=0Z+6tbdtplB+Z68ba+3iDnYkGWYdtTe6HaXKGyqflp0oy1PiCZTBUXYnz2E5CJ1J7Y sjJzCHYoPwHsscxmIxVZ76+itvXx6oN95W35HdKjCkAfbVh6iQykL4fH7q37BVMwQUs0 vfQhfDbSJU+/KzusJO1qnhNgRtVs/GuGxMdYCDROX0NNDDfthEfxjtikxUn/gFSPv5/K iVVT+SUcIGYJBTTfdiIDT4WdGXZkkoSPLfv0bKoX8IoyZpfQv61L8aTYpkx1uPHPqA7K ggxHj7IuHbKCxGZdxUvlSfvJL8ICEQHxJdQOLUvmIBJJnJYdYcxGOxAyMIYE2jeY/MBn keBw== X-Gm-Message-State: ACgBeo2mbM0v80oIHq7z+IQ3zmcNSjxrRVq2zVzs4zh6hMwDwXGSzuwJ F5f91pa4seIU9aTpjI37L7Q= X-Google-Smtp-Source: AA6agR54YqDtwEgUfhnwlAQ6EbNZ/wBTrMaFTFcfeGnJHRd3BeWwKzPpf7IljKUhsWh7a+tRqkZ8XQ== X-Received: by 2002:a17:902:848b:b0:16d:4c6b:bf00 with SMTP id c11-20020a170902848b00b0016d4c6bbf00mr7027430plo.58.1659709489715; Fri, 05 Aug 2022 07:24:49 -0700 (PDT) Received: from [192.168.11.9] (KD106167171201.ppp-bb.dion.ne.jp. [106.167.171.201]) by smtp.gmail.com with ESMTPSA id z20-20020aa79594000000b0052895642037sm3068028pfj.139.2022.08.05.07.24.47 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Aug 2022 07:24:49 -0700 (PDT) Message-ID: Date: Fri, 5 Aug 2022 23:24:46 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: [PATCH 2/3] docs/conf.py: Respect env variable LOAD_IMGMATH Content-Language: en-US To: Jonathan Corbet , Mauro Carvalho Chehab Cc: Linux Doc Mailing List , Mauro Carvalho Chehab , LKML , Akira Yokosawa References: <12d078f5-6995-b039-7076-bdb1f372a799@gmail.com> From: Akira Yokosawa In-Reply-To: <12d078f5-6995-b039-7076-bdb1f372a799@gmail.com> Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" On some distros with coarse-grained packaging policy, dvipng is installed along with latex. In such cases, math rendering will use imgmath by default. It is possible to override the choice by specifying the option string of "-D html_math_renderer=3D'mathjax'" to sphinx-build (Sphinx >=3D 1.8). To provide developers an easier-to-use knob, add code for an env variable "LOAD_IMGMATH" which overrides the automatic choice of math renderer for html docs. LOAD_IMGMATH=3Dyes : Load imgmath even if dvipng is not found LOAD_IMGMATH=3Dno : Don't load imgmath (fall back to mathjax) Signed-off-by: Akira Yokosawa Cc: Mauro Carvalho Chehab Acked-by: Mauro Carvalho Chehab --- Documentation/conf.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Documentation/conf.py b/Documentation/conf.py index 3ec1f845c839..03613eb59578 100644 --- a/Documentation/conf.py +++ b/Documentation/conf.py @@ -128,8 +128,20 @@ autosectionlabel_maxdepth =3D 2 # mathjax is the default math renderer since Sphinx 1.8. have_latex =3D have_command('latex', '--version', 'pdfTeX') have_dvipng =3D have_command('dvipng', '--version', 'dvipng') -load_imgmath =3D ((have_latex and have_dvipng) - or (major =3D=3D 1 and minor < 8) +load_imgmath =3D have_latex and have_dvipng + +# Respect LOAD_IMGMATH (for html docs only) +if 'LOAD_IMGMATH' in os.environ: + opt_load_imgmath =3D os.environ['LOAD_IMGMATH'] + if 'yes' in opt_load_imgmath: + load_imgmath =3D True + elif 'no' in opt_load_imgmath: + load_imgmath =3D False + else: # otherwide, auto selection + pass + +# Always load imgmath for Sphinx <1.8 or for epub docs +load_imgmath =3D (load_imgmath or (major =3D=3D 1 and minor < 8) or 'epub' in sys.argv) =20 if load_imgmath: --=20 2.25.1 From nobody Sat Apr 11 21:02:07 2026 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 46CA2C19F2D for ; Fri, 5 Aug 2022 14:26:36 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240955AbiHEO0f (ORCPT ); Fri, 5 Aug 2022 10:26:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55424 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238458AbiHEO0c (ORCPT ); Fri, 5 Aug 2022 10:26:32 -0400 Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EC4F922515; Fri, 5 Aug 2022 07:26:31 -0700 (PDT) Received: by mail-pg1-x52d.google.com with SMTP id bf13so2788204pgb.11; Fri, 05 Aug 2022 07:26:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=/J9uJtMk8fswjqJJI+2F/RdYBU5Fl+RhmlsOaGGHJAA=; b=RTLqnBc8q9hqj4XC8sQaCRGNX5qoT53WlKdoXF7hYyE1/ohzrefiGYOlfYtasjIDCy QD/sXUXknXXcSKBFkczM6ka+ZlZ/emuMYFliwBhD6PrC+hVblOJMefVM6kEJF+MID7Xs Tp+LeG73iAllx7f32H6cuMwZwFc10CzA/5mMitSeLlsB/LxaDelOwE/Z4cAeLDkcxnMY UjeegazX/9NyT1CYj+GWsakl9djWXBYiuwQMQMBVmdhTN1AEmmjYYP1qSpkeWAivMPDM 4EtJ8OtWdiKFxrSd9HqtNIgZifBLy1aml4DlSizoINwsQmR//yBAdjtMaUmff043CEFS qjig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=/J9uJtMk8fswjqJJI+2F/RdYBU5Fl+RhmlsOaGGHJAA=; b=4/YyaQVbU8l8+RwxMGXONgkMBh5Vm54lgCaUF/Y7jHM7bvJGXPK6UnqmZgyCzIiEc0 TrN+Td8PEPbuttD3u/inbjFs/M9zPWifFqo7MkfZGRH+2jrYgj1PoFbdCOVPf7RBvqlY chetoxio7TIRzsjmnmX/0dGJ6QSjCTQiNaoRkamh1piPiuWJd/qR2uEptNejaXLrqqCW MtkA/39ErQsM5SACltoTgjT9W8RH8acrVYgBJF8ivXEXQzm6n1GzreBsQDnOtwaGvrhG Tp1yaSJyIM0LAXZKxy9eWLzGK2F5V+Hnx/Rtyqwip1CZy483YL4K0Wid16YtMzeGd7m1 92iw== X-Gm-Message-State: ACgBeo2+HkyajKuKKIc3FiNdmY5F/5XGJEGI2oYsDZxB5TPtgQjpozSY 3wqjBWdmDVbIURZkaSmmHVo= X-Google-Smtp-Source: AA6agR7hReDusRnc9VbiqCn7hUq/+mjqT/W104BgtoJ05QnwcI7cvIGwu3P3gNkqwUBCAndMfyXE1w== X-Received: by 2002:a65:5381:0:b0:415:f0ec:ac70 with SMTP id x1-20020a655381000000b00415f0ecac70mr6159294pgq.473.1659709591379; Fri, 05 Aug 2022 07:26:31 -0700 (PDT) Received: from [192.168.11.9] (KD106167171201.ppp-bb.dion.ne.jp. [106.167.171.201]) by smtp.gmail.com with ESMTPSA id w1-20020a1709026f0100b0016dd667d511sm2998311plk.252.2022.08.05.07.26.29 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Aug 2022 07:26:30 -0700 (PDT) Message-ID: <484ac87f-565b-d445-0384-e6522a27fe2e@gmail.com> Date: Fri, 5 Aug 2022 23:26:27 +0900 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0 Subject: [PATCH 3/3] docs: kerneldoc-preamble: Test xeCJK.sty before loading Content-Language: en-US To: Jonathan Corbet , Mauro Carvalho Chehab Cc: Linux Doc Mailing List , Mauro Carvalho Chehab , LKML , Akira Yokosawa References: <12d078f5-6995-b039-7076-bdb1f372a799@gmail.com> From: Akira Yokosawa In-Reply-To: <12d078f5-6995-b039-7076-bdb1f372a799@gmail.com> Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" On distros whose texlive packaging is fine-grained, texlive-xecjk can be installed/removed independently of other texlive packages. Conditionally loading xeCJK.sty depending only on the existence of the "Noto Sans CJK SC" font might end up in xelatex error of "xeCJK.sty not found!". Improve the situation by testing existence of xeCJK.sty before loading it. This is useful on RHEL 9 and its clone distros where texlive-xecjk doesn't work at the moment due to the missing dependency [1]. "make pdfdocs" for non-CJK contents should work after removing texlive-xecjk. Link: [1] https://bugzilla.redhat.com/show_bug.cgi?id=3D2086254 Signed-off-by: Akira Yokosawa Cc: Mauro Carvalho Chehab --- Documentation/sphinx/kerneldoc-preamble.sty | 22 +++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Documentation/sphinx/kerneldoc-preamble.sty b/Documentation/sp= hinx/kerneldoc-preamble.sty index 2a29cbe51396..9707e033c8c4 100644 --- a/Documentation/sphinx/kerneldoc-preamble.sty +++ b/Documentation/sphinx/kerneldoc-preamble.sty @@ -70,8 +70,16 @@ =20 % Translations have Asian (CJK) characters which are only displayed if % xeCJK is used +\usepackage{ifthen} +\newboolean{enablecjk} +\setboolean{enablecjk}{false} \IfFontExistsTF{Noto Sans CJK SC}{ - % Load xeCJK when CJK font is available + \IfFileExists{xeCJK.sty}{ + \setboolean{enablecjk}{true} + }{} +}{} +\ifthenelse{\boolean{enablecjk}}{ + % Load xeCJK when both the Noto Sans CJK font and xeCJK.sty are availa= ble. \usepackage{xeCJK} % Noto CJK fonts don't provide slant shape. [AutoFakeSlant] permits % its emulation. @@ -196,7 +204,7 @@ % Inactivate CJK after tableofcontents \apptocmd{\sphinxtableofcontents}{\kerneldocCJKoff}{}{} \xeCJKsetup{CJKspace =3D true}% For inter-phrase space of Korean TOC -}{ % No CJK font found +}{ % Don't enable CJK % Custom macros to on/off CJK and switch CJK fonts (Dummy) \newcommand{\kerneldocCJKon}{} \newcommand{\kerneldocCJKoff}{} @@ -204,14 +212,16 @@ %% and ignore the argument (#1) in their definitions, whole contents of %% CJK chapters can be ignored. \newcommand{\kerneldocBeginSC}[1]{% - %% Put a note on missing CJK fonts in place of zh_CN translation. - \begin{sphinxadmonition}{note}{Note on missing fonts:} + %% Put a note on missing CJK fonts or the xecjk package in place of + %% zh_CN translation. + \begin{sphinxadmonition}{note}{Note on missing fonts and a package:} Translations of Simplified Chinese (zh\_CN), Traditional Chinese (zh\_TW), Korean (ko\_KR), and Japanese (ja\_JP) were skipped - due to the lack of suitable font families. + due to the lack of suitable font families and/or the texlive-xecjk + package. =20 If you want them, please install ``Noto Sans CJK'' font families - by following instructions from + along with the texlive-xecjk package by following instructions from \sphinxcode{./scripts/sphinx-pre-install}. Having optional ``Noto Serif CJK'' font families will improve the looks of those translations. --=20 2.25.1