fontspec / babelfont: Mixing Chinese and English | Latin Font Different in Chinese vs. English Text | Google Noto Fonts
You could try the (new) multiscript option. But you will get a few warning from fontspec:
\documentclass{article}
\usepackage[english]{babel}
% babelprovide for *english* (default language of the document)
\babelprovide[
main,
import,
language = Default]
{english}
% babelprovide for *chinese-simplified*
\babelprovide[
import,
language = Chinese Simplified]
{chinese-simplified}
\directlua{
luaotfload.add_multiscript
("latn-hani",
{
Hani = "Noto Serif CJK SC:mode=node;script=hani;",
}
)
}
\babelfont{rm}[RawFeature={multiscript=latn-hani}]{Noto Serif}
\begin{document}
\selectlanguage{english}ABCabc 你好
\selectlanguage{chinese-simplified}ABCabc 你好
\end{document}
It is indeed the case that the Latin glyphs from "Noto Serif CJK SC" is notably lighter than the corresponding weights from "Noto Serif". I am not aware of any documents explaining this design choice. However, it is worth noting that the Latin glyphs from "Noto Serif" would look like a (slight) emphasis within a span of Chinese text. One can see this in Ulrike's answer. An alternative is to explicitly mark the Latin characters with a language:
ABCabc
{\selectlanguage{chinese-simplified} 简化字总表 ABCabc 简化字总表}
{\selectlanguage{chinese-simplified} 简化字总表 \foreignlanguage{english}{ABCabc} 简化字总表}
ABCabc
In the second line, the Latin text blends into the Chinese text while it stands out in the third line.
Now Noto comes win many different weights. If CJK-Regular is lighter than Latin-Regular, we can try to combine CJK-Regular with Latin-Light:
\documentclass{article}
\usepackage[english]{babel}
% babelprovide for *english* (default language of the document)
\babelprovide[
main,
import,
language = Default]
{english}
% babelprovide for *chinese-simplified*
\babelprovide[
import,
language = Chinese Simplified]
{chinese-simplified}
%% Choose actual fonts for different font variants.
\babelfont{rm}[
UprightFont=*-Light,
BoldFont=*-Medium,
]{Noto Serif}
\babelfont[chinese-simplified]{rm}{Noto Serif CJK SC}
\begin{document}
ABCabc
{\selectlanguage{chinese-simplified} 简化字总表 ABCabc 简化字总表}
{\selectlanguage{chinese-simplified} 简化字总表 \foreignlanguage{english}{ABCabc} 简化字总表}
ABCabc
\end{document}
The match is not perfect, but quite close. In principle it would also be possible to choose a slightly darker CJK. I do not have those installed right now, though.
To expand on the latin-in-chinese topic:
Two parts:
The first part is that Babel
does not change the font according to which Unicode block the glyphs are in, like package ucharclasses
does. Addendum: But see the comment about recent Babel
.
The second part is that Noto Serif CJK SC
contains some non-CJK glyphs as well.
Noto Serif
has glyphs for Latin, Cyrillic, Greek, and a few other things.
Noto Serif CJK SC
has the main parts of Latin, Cyrillic and Greek, as well as hiragana, katakana, hangul, bopomofo, and of course a large part of CJK.
ucharclasses:
\documentclass[12pt]{article}
\usepackage{xcolor}
\pagecolor{red!3}
\usepackage{fontspec}
\newfontface\fcjk{Noto Serif CJK SC}
\newfontfamily\feng{Noto Serif}
\usepackage[CJK]{ucharclasses}
\setTransitionsForCJK{\fcjk}{\feng}
\begin{document}
\large
{\color{blue}Noto Serif}
\feng
\begin{tabular}{rl}
Latin & ABC abc \\
Currency symbols & ₣₤₥₦₧₨ \\
Cyrillic & ЄДФЦжцабвг \\
Greek & ΣΤΥΦζεδγβα \\
IPA \& Phonetic & ɐɠɰʁ ᴟᴞᴣᴇᴈᴗ \\
Letterlike Symbols & ℜℏ℈℃ℓℒ™ℵ⅀ \\
Modifier Tones & ꜀꜂꜈꜉꜊꜋꜌ꜗꜘꜙ \\
etc & ... \\
\end{tabular}
\bigskip
\rmfamily
{\color{blue}Noto Serif CJK SC}
\fcjk
\begin{tabular}{rl}
Bopomofo & ㄆㄇㄈㄉㄊ \\
Box Drawing & ┢┤┩╆ \\
CJK & 㑣㐦㐧㕔 \\
some Latin & ABC abc \\
some Cyrillic & ЄДФЦжцабвг \\
some Greek & ΣΤΥΦζεδγβα \\
Hangul & ᅣᅦᄄᆻ \\
Hiragana & あいいうえおかが \\
Katakana & アイウエオカガ \\
Letterlike Symbols & ℜℏ℈℃ℓℒ™ℵ⅀ \\
etc & ... \\
\end{tabular}
\bigskip
\feng
\textit{ucharclasses}: {\small Changing fonts without having to insert font-changing code} -- Latin text. Chinese text: 紫薇北斗星 Modern Greek: Διαμ πριμα εσθ ατ, κυο πχιλωσοπηια Ancient Greek: Μῆνιν ἄειδε, θεά, Πηληϊάδεω Ἀχιλῆος. And regular latin text.
\end{document}