docs: pdfdocs: Add CJK-language-specific font settings
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> Link: https://lore.kernel.org/r/31906baf-7490-68cd-7153-4e4d320fb9b0@gmail.com Signed-off-by: Jonathan Corbet <corbet@lwn.net>
This commit is contained in:
Родитель
659653c9e5
Коммит
e291ff6f5a
|
@ -361,10 +361,51 @@ latex_elements['preamble'] += '''
|
||||||
% This is needed for translations
|
% This is needed for translations
|
||||||
\\usepackage{xeCJK}
|
\\usepackage{xeCJK}
|
||||||
\\setCJKmainfont{Noto Sans CJK SC}
|
\\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
|
% Define custom macros to on/off CJK
|
||||||
\\newcommand{\\kerneldocCJKon}{\\makexeCJKactive}
|
\\newcommand{\\kerneldocCJKon}{\\makexeCJKactive}
|
||||||
\\newcommand{\\kerneldocCJKoff}{\\makexeCJKinactive}
|
\\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}
|
\\usepackage{etoolbox}
|
||||||
% Inactivate CJK after tableofcontents
|
% Inactivate CJK after tableofcontents
|
||||||
\\apptocmd{\\sphinxtableofcontents}{\\kerneldocCJKoff}{}{}
|
\\apptocmd{\\sphinxtableofcontents}{\\kerneldocCJKoff}{}{}
|
||||||
|
@ -372,6 +413,14 @@ latex_elements['preamble'] += '''
|
||||||
% Custom macros to on/off CJK (Dummy)
|
% Custom macros to on/off CJK (Dummy)
|
||||||
\\newcommand{\\kerneldocCJKon}{}
|
\\newcommand{\\kerneldocCJKon}{}
|
||||||
\\newcommand{\\kerneldocCJKoff}{}
|
\\newcommand{\\kerneldocCJKoff}{}
|
||||||
|
\\newcommand{\\kerneldocBeginSC}{}
|
||||||
|
\\newcommand{\\kerneldocEndSC}{}
|
||||||
|
\\newcommand{\\kerneldocBeginTC}{}
|
||||||
|
\\newcommand{\\kerneldocEndTC}{}
|
||||||
|
\\newcommand{\\kerneldocBeginKR}{}
|
||||||
|
\\newcommand{\\kerneldocEndKR}{}
|
||||||
|
\\newcommand{\\kerneldocBeginSC}{}
|
||||||
|
\\newcommand{\\kerneldocEndKR}{}
|
||||||
}
|
}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
\renewcommand\thesection*
|
\renewcommand\thesection*
|
||||||
\renewcommand\thesubsection*
|
\renewcommand\thesubsection*
|
||||||
\kerneldocCJKon
|
\kerneldocCJKon
|
||||||
|
\kerneldocBeginJP
|
||||||
|
|
||||||
Japanese translations
|
Japanese translations
|
||||||
=====================
|
=====================
|
||||||
|
@ -11,3 +12,7 @@ Japanese translations
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
howto
|
howto
|
||||||
|
|
||||||
|
.. raw:: latex
|
||||||
|
|
||||||
|
\kerneldocEndJP
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
\renewcommand\thesection*
|
\renewcommand\thesection*
|
||||||
\renewcommand\thesubsection*
|
\renewcommand\thesubsection*
|
||||||
\kerneldocCJKon
|
\kerneldocCJKon
|
||||||
|
\kerneldocBeginKR
|
||||||
|
|
||||||
한국어 번역
|
한국어 번역
|
||||||
===========
|
===========
|
||||||
|
@ -26,3 +27,4 @@
|
||||||
.. raw:: latex
|
.. raw:: latex
|
||||||
|
|
||||||
\normalsize
|
\normalsize
|
||||||
|
\kerneldocEndKR
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
\renewcommand\thesection*
|
\renewcommand\thesection*
|
||||||
\renewcommand\thesubsection*
|
\renewcommand\thesubsection*
|
||||||
\kerneldocCJKon
|
\kerneldocCJKon
|
||||||
|
\kerneldocBeginSC
|
||||||
|
|
||||||
.. _linux_doc_zh:
|
.. _linux_doc_zh:
|
||||||
|
|
||||||
|
@ -189,3 +190,7 @@ TODOList:
|
||||||
----------
|
----------
|
||||||
|
|
||||||
* :ref:`genindex`
|
* :ref:`genindex`
|
||||||
|
|
||||||
|
.. raw:: latex
|
||||||
|
|
||||||
|
\kerneldocEndSC
|
||||||
|
|
Загрузка…
Ссылка в новой задаче