summaryrefslogtreecommitdiff
path: root/Documentation/conf.py
diff options
context:
space:
mode:
authorAkira Yokosawa <akiyks@gmail.com>2022-02-01 03:02:14 +0300
committerJonathan Corbet <corbet@lwn.net>2022-02-16 02:35:53 +0300
commit66939df53948bbf66753100266076f6a3357b54c (patch)
treeeccb217afe87cd86a4634622b9ca4c8e7d79808e /Documentation/conf.py
parent8716ef413aa55d9a25481f84eb54f9d571a1f421 (diff)
downloadlinux-66939df53948bbf66753100266076f6a3357b54c.tar.xz
docs: pdfdocs: Switch default CJK font to KR variants
xeCJK is enabled in Table of Contents (TOC) so that translations.pdf built by top-level "make pdfdocs" can have its TOC typeset properly. This causes quotation marks and apostrophe symbols appear too wide in Latin-script docs. This is because (1) Sphinx converts ASCII symbols into multi-byte UTF-8 ones in LaTeX and (2) in the SC variant of "Noto CJK" font families, those UTF-8 symbols have full-width glyph. The KR variant of the font families has half-width glyph for those symbols and TOC pages should look nicer when it is used instead. Switch the default CJK font families to the KR variant and teach xeCJK of those symbols' widths. To compensate the switch, teach xeCJK of the width in the SC and TC variants. Signed-off-by: Akira Yokosawa <akiyks@gmail.com> Cc: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/0c8ea878-0a6f-ea01-ab45-4e66c5facee9@gmail.com Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Diffstat (limited to 'Documentation/conf.py')
-rw-r--r--Documentation/conf.py23
1 files changed, 14 insertions, 9 deletions
diff --git a/Documentation/conf.py b/Documentation/conf.py
index e5c13dee2de8..e70aa5fd969f 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -460,13 +460,15 @@ latex_elements['preamble'] += '''
\\IfFontExistsTF{Noto Sans CJK SC}{
% This is needed for translations
\\usepackage{xeCJK}
- \\IfFontExistsTF{Noto Serif CJK SC}{
- \\setCJKmainfont{Noto Serif CJK SC}[AutoFakeSlant]
+ \\IfFontExistsTF{Noto Serif CJK KR}{
+ \\setCJKmainfont{Noto Serif CJK KR}[AutoFakeSlant]
}{
- \\setCJKmainfont{Noto Sans CJK SC}[AutoFakeSlant]
+ \\setCJKmainfont{Noto Sans CJK KR}[AutoFakeSlant]
}
- \\setCJKsansfont{Noto Sans CJK SC}[AutoFakeSlant]
- \\setCJKmonofont{Noto Sans Mono CJK SC}[AutoFakeSlant]
+ \\setCJKsansfont{Noto Sans CJK KR}[AutoFakeSlant]
+ \\setCJKmonofont{Noto Sans Mono CJK KR}[AutoFakeSlant]
+ \\xeCJKDeclareCharClass{HalfLeft}{`“,`‘}
+ \\xeCJKDeclareCharClass{HalfRight}{`”,`’}
% CJK Language-specific font choices
\\IfFontExistsTF{Noto Serif CJK SC}{
\\newCJKfontfamily[SCmain]\\scmain{Noto Serif CJK SC}[AutoFakeSlant]
@@ -513,11 +515,18 @@ latex_elements['preamble'] += '''
\\newcommand{\\kerneldocBeginSC}{%
\\begingroup%
\\scmain%
+ \\xeCJKDeclareCharClass{FullLeft}{`“,`‘}%
+ \\xeCJKDeclareCharClass{FullRight}{`”,`’}%
+ \\renewcommand{\\CJKrmdefault}{SCserif}%
+ \\renewcommand{\\CJKsfdefault}{SCsans}%
+ \\renewcommand{\\CJKttdefault}{SCmono}%
}
\\newcommand{\\kerneldocEndSC}{\\endgroup}
\\newcommand{\\kerneldocBeginTC}{%
\\begingroup%
\\tcmain%
+ \\xeCJKDeclareCharClass{FullLeft}{`“,`‘}%
+ \\xeCJKDeclareCharClass{FullRight}{`”,`’}%
\\renewcommand{\\CJKrmdefault}{TCserif}%
\\renewcommand{\\CJKsfdefault}{TCsans}%
\\renewcommand{\\CJKttdefault}{TCmono}%
@@ -525,8 +534,6 @@ latex_elements['preamble'] += '''
\\newcommand{\\kerneldocEndTC}{\\endgroup}
\\newcommand{\\kerneldocBeginKR}{%
\\begingroup%
- \\xeCJKDeclareCharClass{HalfLeft}{`“,`‘}%
- \\xeCJKDeclareCharClass{HalfRight}{`”,`’}%
\\krmain%
\\renewcommand{\\CJKrmdefault}{KRserif}%
\\renewcommand{\\CJKsfdefault}{KRsans}%
@@ -536,8 +543,6 @@ latex_elements['preamble'] += '''
\\newcommand{\\kerneldocEndKR}{\\endgroup}
\\newcommand{\\kerneldocBeginJP}{%
\\begingroup%
- \\xeCJKDeclareCharClass{HalfLeft}{`“,`‘}%
- \\xeCJKDeclareCharClass{HalfRight}{`”,`’}%
\\jpmain%
\\renewcommand{\\CJKrmdefault}{JPserif}%
\\renewcommand{\\CJKsfdefault}{JPsans}%