UPDATE: After writing up this post I did some last-minute testing that seems to undermine my Minimum Working Example.
If I remove (comment out) the \usepackage{Alegreya} line in my MWE, everything works fine.
However, in my real-world document, that didn't solve the problem. That document has lots of other packages loaded, and when I removed them one-by-one to narrow it down for the MWE, that pointed me only to the \usepackage{Alegreya} line. (Dropping that line didn't affect the body font, which is set by the \setmainfont{Alegreya} command.
So I guess I need more guidance how how to troubleshoot this, and what I might be doing wrong. Below is my query as originally written and the code for me MWE. Thanks.
My English-language document has a few instances calling for non-Latin characters: Greek, Chinese, Hebrew.
(Hebrew has right-to-left flow, so for now I'm just working on the two others.)
My MWE is adapted from the example on p.8 of the Babel package documentation (babel.pdf), section 1.3 Mostly monolingual documents.
\documentclass[letterpaper,10pt,index=toc]{scrbook} % {book} class doesn't change result
\usepackage{microtype}
\usepackage{fontspec}
\usepackage{Alegreya} % Greek, Chinese characters display if this is commented out
\setmainfont{Alegreya}
\setmainfont{Alegreya}
\usepackage{babel}
\babelfont[russian]{rm}{FreeSerif}
\babelfont[greek]{rm}{FreeSerif}
\babelfont[chinese]{rm}{NotoSerif} % `sc' at end refers to simplified Chinese
\begin{document}
Main font Alegreya
\foreignlanguage{russian}{Русский},
\foreignlanguage{spanish}{Español},
\foreignlanguage{greek}{𝜇}torrent; as a workaround, Greek letter \emph{mu} can be
\\coded in a different font using math mode: $\mu$torrent,
China Garden \foreignlanguage{chinese}{漢宫}.
\end{document}
Russian and Spanish examples were included from the babel.pdf code as a control.
Compiling with LuaLaTeX, the cyrillic characters and the ñ display fine, but the Greek mu and the Chinese characters do not appear at all. I used several other variations of the font name — Noto Serif, NotoSerif, etc., all with negative results.
Missing character: There is no 𝜇 (U+1D707) in font Alegreya:mode=node;script= latn;language=dflt;+tlig;!
If the font doesn't have the character, tex can't display it.Alegreya
selects the font in a non-standard way (it even redefines\rmfamily
in a somewhat hackish way), whilebabel
assumes the default mechanism. So, I don't think there is a real solution, except setting the font directly with either\setmainfont
or\babelfont
. See Davislor's answer.