为什么此例子中的印地语没有排版?

为什么此例子中的印地语没有排版?
\documentclass[12pts, a4paper, twocolumn, columnsep= 4 mm]{article}
\usepackage{fontspec, polyglossia}
\usepackage[Devanagari]{ucharclasses}
\setmainfont{Calibri}
\setTransitionTo{Devanagari}{\fontspec[Script=Devanagari]{Nirmala UI}}
\date{\today}
\title{}
\begin{document}
Calibri is english font 
Nirmala UI is हिन्दी font 
\end{document}

calibri 和 Nirmala UI 都是 Windows 中的默认可用字体。但不知何故,fontspec 无法排版 hindi हिन्दी ,而 english 排版正确。Xelatex 没有显示任何警告/错误。

我希望有一个不依赖于语言更改命令的解决方案。
请帮忙

答案1

由于您正在使用类,因此您需要使用其类命令。另外,出于某种原因,\fontspec 在那里不起作用。但您可以定义一个新的字体系列。

\documentclass[12pts, a4paper, twocolumn, columnsep= 4 mm]{article}
\usepackage{fontspec, polyglossia,color}
\usepackage{ucharclasses}
\setmainfont{Calibri}
\newfontfamily\devafont{Nirmala UI}[Script=Devanagari]
\setTransitionsForDevanagari{\devafont}{\normalfont}
\date{\today}
\title{}
\begin{document}

Calibri is english font
Nirmala UI is हिन्दी font

\end{document}

在此处输入图片描述

相关内容