mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02: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
 | 
						% 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
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue