mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	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:
		
							parent
							
								
									659653c9e5
								
							
						
					
					
						commit
						e291ff6f5a
					
				
					 4 changed files with 62 additions and 1 deletions
				
			
		|  | @ -361,10 +361,51 @@ latex_elements['preamble']  += ''' | |||
| 	% This is needed for translations | ||||
| 	\\usepackage{xeCJK} | ||||
| 	\\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 | ||||
| 	\\newcommand{\\kerneldocCJKon}{\\makexeCJKactive} | ||||
| 	\\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} | ||||
| 	% Inactivate CJK after tableofcontents | ||||
| 	\\apptocmd{\\sphinxtableofcontents}{\\kerneldocCJKoff}{}{} | ||||
|  | @ -372,6 +413,14 @@ latex_elements['preamble']  += ''' | |||
| 	% Custom macros to on/off CJK (Dummy) | ||||
| 	\\newcommand{\\kerneldocCJKon}{} | ||||
| 	\\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\thesubsection* | ||||
| 	\kerneldocCJKon | ||||
| 	\kerneldocBeginJP | ||||
| 
 | ||||
| Japanese translations | ||||
| ===================== | ||||
|  | @ -11,3 +12,7 @@ Japanese translations | |||
|    :maxdepth: 1 | ||||
| 
 | ||||
|    howto | ||||
| 
 | ||||
| .. raw:: latex | ||||
| 
 | ||||
| 	\kerneldocEndJP | ||||
|  |  | |||
|  | @ -3,6 +3,7 @@ | |||
| 	\renewcommand\thesection* | ||||
| 	\renewcommand\thesubsection* | ||||
| 	\kerneldocCJKon | ||||
| 	\kerneldocBeginKR | ||||
| 
 | ||||
| 한국어 번역 | ||||
| =========== | ||||
|  | @ -26,3 +27,4 @@ | |||
| .. raw:: latex | ||||
| 
 | ||||
|     \normalsize | ||||
|     \kerneldocEndKR | ||||
|  |  | |||
|  | @ -5,6 +5,7 @@ | |||
| 	\renewcommand\thesection* | ||||
| 	\renewcommand\thesubsection* | ||||
| 	\kerneldocCJKon | ||||
| 	\kerneldocBeginSC | ||||
| 
 | ||||
| .. _linux_doc_zh: | ||||
| 
 | ||||
|  | @ -189,3 +190,7 @@ TODOList: | |||
| ---------- | ||||
| 
 | ||||
| * :ref:`genindex` | ||||
| 
 | ||||
| .. raw:: latex | ||||
| 
 | ||||
| 	\kerneldocEndSC | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Akira Yokosawa
						Akira Yokosawa