[PATCH v4 8/9] docs: pdfdocs: Teach xeCJK about character classes of quotation marks

From: Akira Yokosawa
Date: Sun Aug 08 2021 - 21:27:32 EST


Quotation marks in "KR" and "JP" variants of Noto CJK fonts are half
width.
xeCJK assumes they are full width by default and does excessive kerning
around them in Korean and Japanese translations.

Give xeCJK proper hints by the \xeCJKDeclareCharClass command.

Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx>
---
Documentation/conf.py | 4 ++++
1 file changed, 4 insertions(+)

diff --git a/Documentation/conf.py b/Documentation/conf.py
index afa085c71781..75650f6443af 100644
--- a/Documentation/conf.py
+++ b/Documentation/conf.py
@@ -428,6 +428,8 @@ latex_elements['preamble'] += '''
\\newcommand{\\kerneldocEndTC}{\\endgroup}
\\newcommand{\\kerneldocBeginKR}{%
\\begingroup%
+ \\xeCJKDeclareCharClass{HalfLeft}{`“,`‘}%
+ \\xeCJKDeclareCharClass{HalfRight}{`”,`’}%
\\krmain%
\\renewcommand{\\CJKrmdefault}{KRserif}%
\\renewcommand{\\CJKsfdefault}{KRsans}%
@@ -437,6 +439,8 @@ latex_elements['preamble'] += '''
\\newcommand{\\kerneldocEndKR}{\\endgroup}
\\newcommand{\\kerneldocBeginJP}{%
\\begingroup%
+ \\xeCJKDeclareCharClass{HalfLeft}{`“,`‘}%
+ \\xeCJKDeclareCharClass{HalfRight}{`”,`’}%
\\jpmain%
\\renewcommand{\\CJKrmdefault}{JPserif}%
\\renewcommand{\\CJKsfdefault}{JPsans}%
--
2.17.1