结合 \usepackage{times} 和 \fontspec \setmainfont

结合 \usepackage{times} 和 \fontspec \setmainfont

我很难找到一种支持美式音标、粗体、斜体、粗斜体和小型大写的类似 Times 的字体。

目前,我有一个使用xelatex它可以获得列表中除最后一项之外的所有内容:

\usepackage{fontspec}
\setmainfont[
BoldFont={Aboriginal Serif Bold},
ItalicFont={Aboriginal Serif Italic},
BoldItalicFont={Aboriginal Serif Bold Italic},
Mapping=tex-text]{Doulos SIL}

在我的系统(debian GNU/Linux 上的 texlive)上,简单地包含它就\usepackage{times}可以得到一个具有小型大写字母、粗体、斜体、粗斜体的字体,但它没有我需要的所有字形。

如果我能弄清楚如何使用该\usepackage{times}字体fontspec,我想我可以将其填写为:

SmallCapsFont={NAMEOFUSEPACKAGETIMESFONT}

在选项中\setmainfont

或者,如果有可以免费使用的类似 Times 的字体,我可以使用它。

因此,我的实际问题是:我可以使用什么字体来获得 Times 小型大写字母?我尝试过 Aboriginal Serif、Doulos SIL、Nimbus No9 Roman L、Times New Roman,但似乎都没有小型大写字母。

我的原则问题是:有没有办法使用 metafont\usepackage{times}字体作为\setmainfont

举一些最小的例子:

\documentclass{article}
\usepackage{fontspec}
\begin{document}
LARGECAPS \textsc{smallcaps}
\end{document}`

并用 xelatex 进行编译,^^^ 就可以了。

如果我添加\usepackage{times}那也有效。

但如果我添加\setmainfont{X}其中 X 是 * Doulos SIL * Aboriginal Serif * Times New Roman * TeX Gyre Termes * STIXGeneral 中的任何一个

我看起来只是微小的而不是小写的。

答案1

据我所知,唯一具有小型大写字母的 Times 克隆版本是 TeX Gyre Termes。因此,这可以工作,但当然你不会得到花哨的小型大写字母字形(只有拉丁字母)。但显然,Doulos SIL 也有它们。

\documentclass{article}
\usepackage{fontspec}

\setmainfont[
  Ligatures=TeX,
  SmallCapsFont={TeX Gyre Termes},
  SmallCapsFeatures={Letters=SmallCaps},
]{Aboriginal Serif}

\begin{document}
LARGECAPS \textsc{smallcaps}
\end{document}

在此处输入图片描述

如果您希望使用 Doulos SIL 作为主字体,以下是完整的设置:

\documentclass{article}
\usepackage{fontspec}

\setmainfont[
  Ligatures=TeX,
  BoldFont={Aboriginal Serif Bold},
  ItalicFont={Aboriginal Serif Italic},
  BoldItalicFont={Aboriginal Serif Bold Italic},
  %SmallCapsFont={TeX Gyre Termes},
  %SmallCapsFeatures={Letters=SmallCaps},
]{Doulos SIL}

\begin{document}
LARGECAPS \textsc{smallcaps} \textbf{Bold} \textit{Italic}
\textbf{\textit{Bold Italic}}
\end{document}

在此处输入图片描述

答案2

尝试以下方法:

\documentclass[a4paper,11pt]{article}
\usepackage{mathptmx}% Times and math
\usepackage{fontspec}
\setmainfont[
  BoldFont={Aboriginal Serif Bold},
  ItalicFont={Aboriginal Serif Italic},
  BoldItalicFont={Aboriginal Serif Bold Italic},
  Mapping=tex-text.
]{Doulos SIL}
...

答案3

你说的很多字体都没有小写字母有小写字母。您能否提供一个 MWE,告诉我们这些字体没有小写字母?

\documentclass{article}
\parindent = 0em
\usepackage{fontspec}
\setmainfont[Path = M:/MyStuff/Fonts/timesnewroman6.85/, UprightFont = *.ttf]{times}
\newfontfamily\Doulos[Path = M:/MyStuff/Fonts/DoulosSIL-4.110/, UprightFont = *-R.ttf]{DoulosSIL}
\newfontfamily\TeXGyre[Path = M:/MyStuff/Fonts/tg-2.005bas/fonts/opentype/public/tex-gyre/, UprightFont = *termes-regular.otf]{texgyre}
\begin{document}
Times New Roman: LARGECAPS \textsc{smallcaps}\\
Doulos SIL: {\Doulos{LARGECAPS \textsc{smallcaps}}}\\
TeX Gyre: {\TeXGyre{LARGECAPS \textsc{smallcaps}}}\\
\end{document}

在此处输入图片描述

相关内容