小型大写字母不起作用

小型大写字母不起作用
\documentclass[12pt]{article}
\usepackage[paperwidth=8.5in,paperheight=14in,left=1.5cm,right=1cm,top=1cm,bottom=0cm]{geometry} %margins
\usepackage{amsmath,mathptmx,fixltx2e,graphicx,polyglossia,fontspec}
\setmainlanguage{english}
\setotherlanguage[numerals=western]{urdu}
\setmainfont{Times New Roman}
\newfontfamily\urdufont[Script=Arabic,Scale=1.2]{Jameel Noori Nastaleeq}
\begin{document}
\textsc{This is written in small caps}
\end{document}

此代码的问题在于文本不是用小写字母书写的。此外,我如何在 polyglossia 中使用“Times”字体?

答案1

XeLaTeX 的一个问题是,它会使用操作系统识别的“Times New Roman”字体,并且有几种变体。根据我的经验,这些变体的共同特点是缺少小写字母。

Times 的克隆版具有小型大写字母,可在 TeX Live 和 MiKTeX 上使用,即 TeX Gyre Termes;其小型大写字母的覆盖范围仅限于拉丁字母。

\documentclass{article}
\usepackage{fontspec}

\setmainfont[
  Ligatures=TeX,
  SmallCapsFont={TeX Gyre Termes},
  SmallCapsFeatures={Letters=SmallCaps},
]{Times New Roman}

\begin{document}
Abc \textsc{Small Caps}
\end{document}

在此处输入图片描述

在最新版本中fontspec,该命令的语法已变为

\setmainfont{Times New Roman}[
  SmallCapsFont={TeX Gyre Termes},
  SmallCapsFeatures={Letters=SmallCaps},
]

(我不确定我是否喜欢这种输入形式。)

相关内容