\documentclass[12pt]{book}
\usepackage{xeCJK}
\usepackage{fontspec}
\usepackage{geometry}
\geometry { paperheight=297mm, paperwidth=210mm, left=9mm, right=9mm, top=7mm, bottom=7mm }
%------------------------------------------------------------------------------%
% cn sc
%------------------------------------------------------------------------------%
% 有衬线CJK
%\rmfamily \textrm
\setCJKmainfont{SourceHanSerifSC}[
Path=./font/cn/roma/,
Scale=1.0,
Extension = .otf,
UprightFont=*-Regular,
BoldFont=*-Bold
]
\newfontfamily\scRoma[%
Path=./font/cn/roma/,
Scale=1.0,
Extension = .otf,
UprightFont=*-Regular,
BoldFont=*-Bold
]{SourceHanSerifSC}
% 无衬线CJK
% \sffamily \textsf
\setCJKsansfont{SourceHanSansSC}[
Path=./font/cn/sans/,
Scale=1.0,
Extension = .otf,
UprightFont=*-Regular,
BoldFont=*-Bold
]
\newfontfamily\scSans[%
Path=./font/cn/sans/,
Scale=1.0,
Extension = .otf,
UprightFont=*-Regular,
BoldFont=*-Bold
]{SourceHanSansSC}
% 等宽CJK
% \ttfamily \texttt
\setCJKmonofont{sarasa-fixed-sc}[
Path=./font/cn/mono/,
Scale=1.0,
Extension = .ttf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic
]
\newfontfamily\scMono[%
Path=./font/cn/mono/,
Scale=1.0,
Extension = .ttf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic
]{sarasa-fixed-sc}
%------------------------------------------------------------------------------%
% en
%------------------------------------------------------------------------------%
\setromanfont{SourceSerif4}[
Path=./font/en/roma/,
Scale=1.0,
Extension = .otf,
UprightFont=*-Regular,
BoldFont=*-Bold,
ItalicFont=*-Italic,
BoldItalicFont=*-BoldItalic
]
\newfontfamily{\enRoma}[%
Path=./font/en/roma/,
Scale=1.0,
Extension = .otf,
UprightFont=*-Regular,
BoldFont=*-Bold,
ItalicFont=*-Italic,
BoldItalicFont=*-BoldItalic
]{SourceSerif4}
\setsansfont{SourceSans3}[
Path=./font/en/sans/,
Scale=1.0,
Extension = .otf,
UprightFont=*-Regular,
BoldFont=*-Bold,
ItalicFont=*-Italic,
BoldItalicFont=*-BoldItalic
]
\newfontfamily\enSans[%
Path=./font/en/sans/,
Scale=1.0,
Extension = .otf,
UprightFont=*-Regular,
BoldFont=*-Bold,
ItalicFont=*-Italic,
BoldItalicFont=*-BoldItalic
]{SourceSans3}
\setmonofont{sarasa-fixed-sc}[
Path=./font/cn/mono/,
Scale=1.0,
Extension = .ttf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic
]
\newfontfamily\enMono[%
Path=./font/cn/mono/,
Scale=1.0,
Extension = .ttf,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-italic,
BoldItalicFont=*-bolditalic
]{sarasa-fixed-sc}
%------------------------------------------------------------------------------%
% font command
%------------------------------------------------------------------------------%
\DeclareTextFontCommand{\fontscRoma}{\scRoma}
\DeclareTextFontCommand{\fontscSans}{\scSans}
\DeclareTextFontCommand{\fontscMono}{\scMono}
\DeclareTextFontCommand{\fontenRoma}{\enRoma}
\DeclareTextFontCommand{\fontenSans}{\enSans}
\DeclareTextFontCommand{\fontenMono}{\enMono}
\begin{document}
\textrm{有衬线}
\textsf{无衬线}
\texttt{等宽}
\textrm{English}
\textsf{English}
\texttt{English}
\texttt{等宽的字体,\\ eng-\\中文,.\\abcdw.}
\scRoma{fontscRoma 中文}
\scSans{fontscSans 中文}
\scMono{fontscMono 中文}
\fontenRoma{fontenRoma}
\enSans{fontenSans}
\enMono{fontenMono}
\end{document}
https://github.com/adobe-fonts/source-han-serif
https://github.com/adobe-fonts/source-han-sans
https://github.com/adobe-fonts/source-han-mono
https://github.com/be5invis/Sarasa-Gothic
https://github.com/adobe-fonts/source-sans
https://github.com/adobe-fonts/source-serif
https://github.com/adobe-fonts/source-code-pro