Polyglossia loads fontspec
, but the default font is Latin Modern, which has no support for Cyrillic.
You can load the Computer Modern Unicode fonts instead:
\documentclass{article}
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{CMU Serif}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{russian}
\newcommand{\RU}[1]{\foreignlanguage{russian}{#1}}
\begin{document}
\noindent
\textrm{Hello! \RU{Привет!}}\\
\textit{Hello! \RU{Привет!}}\\
\textbf{Hello! \RU{Привет!}}\\
\textbf{\textit{Hello! \RU{Привет!}}}\\
\textsl{Hello! \RU{Привет!}}\\
\textsc{Hello! \RU{Привет!}}
\end{document}
I'd still use language changing commands, even if the font directly supports Cyrillic, because hyphenation would be incorrect (or missing) otherwise.
In case you don't have installed the CMU fonts as system fonts, you need a different way to call them, assuming your TeX Live has them.
\documentclass{article}
\usepackage{fontspec}
\setmainfont[
Ligatures=TeX,
Extension=.otf,
BoldFont=cmunbx,
ItalicFont=cmunti,
BoldItalicFont=cmunbi,
]{cmunrm}
\usepackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage{russian}
\newcommand{\RU}[1]{\foreignlanguage{russian}{#1}}
\begin{document}
\noindent
\textrm{Hello! \RU{Привет!}}\\
\textit{Hello! \RU{Привет!}}\\
\textbf{Hello! \RU{Привет!}}\\
\textbf{\textit{Hello! \RU{Привет!}}}\\
\textsl{Hello! \RU{Привет!}}\\
\textsc{Hello! \RU{Привет!}}
\end{document}
There's no slanted CMU font, so the call to \textsl
becomes the same as \textit
. One could artificially slant the upright font.
I think that does what you want:
\documentclass[10pt,a5paper,draft]{book}
\usepackage[T2A]{fontenc}
\usepackage[utf8x]{inputenc}
\usepackage[russian, english]{babel}
\begin{document}
\rmfamily
Какой-то осмысленный текст1.
\sffamily
Какой-то осмысленный текст2.
\ttfamily
Какой-то осмысленный текст3.
\end{document}
It produces
Best Answer
This may partially explain the lack of easy to find fonts supporting cursive Cyrillic characters:
Source: en.wikipedia.org/wiki/Cyrillic_script