使用 MinionPro 作为主字体,使用 Fontspec 作为等宽字体

使用 MinionPro 作为主字体,使用 Fontspec 作为等宽字体

我正在使用它Minion Pro作为我的文档的主字体,并且希望使用 Consolas 作为我的代码列表。

fontspec我知道我可以使用和设置等宽字体setmonofont,但似乎不能与我用来设置文档主字体的和包fontspec结合使用。MinionProMnSymbol

我不想使用fontspec它来设置我的主要字体,因为全大写和小型大写的标题不能像包那样很好地呈现MinionPro

我的问题:有没有办法可以使用该MinionPro包来设置我的主字体并告诉fontspec“忽略”主字体并只设置单字体。否则,还有其他方法可以实现我想要实现的目标吗?

答案1

我建议你加载MinionPro选项onlymath。据我了解,它MnSymbol主要用于数学。

使用\setmainfont设置为数学字体。全大写和小写的问题是因为优化了间距,而不会自动为您执行此操作。但解决方案很简单,使用fontspec的功能。还可以启用opentype 功能,尽管我发现它的空间不足以容纳全大写标题。Minion ProMinionProfontspec\addfontfeatures{WordSpace=...}fontspecKerning=Uppercasecpsp

确实,我使用MinionPro包很长一段时间了。但fontspec之前阻止我切换到的唯一原因是缺乏对 microtype 的支持xetex。现在我只使用fontspecLuaTeX。这是一个比更好的解决方案,MininonPro因为您可以轻松访问像这样的功能case,当排版为全大写时,它将选择正确的标点符号。还有更多。

然而,对于Minion Pro字体,我发现它有一些问题fontspec。至少在我的 Mac 上,fontspec选择正确的粗细和视觉尺寸存在问题。请参阅https://github.com/wspr/fontspec/issues/105

就我而言,medium体重导致fontspecluatex混淆。所以我将以下内容添加到otfl-blacklist.cnf

MinionPro-Medium.otf
MinionPro-MediumCapt.otf
MinionPro-MediumSubh.otf
MinionPro-MediumDisp.otf

并使用以下内容设置我的字体以获得正确的光学尺寸。

\setmainfont[
SizeFeatures = {
  {Size =     -8.41, OpticalSize = 8},
  {Size = 8.41-13.1, OpticalSize = 11},
  {Size = 13.1-20.0, OpticalSize = 19},
  {Size = 20.0-,     OpticalSize = 72}},
Ligatures          = {Required, Common, Contextual, TeX},
Numbers            = {OldStyle, Proportional},
RawFeature         = {expansion  = default},
UprightFeatures    = {RawFeature = {protrusion = mnr}},
BoldFeatures       = {RawFeature = {protrusion = mnrb}},
ItalicFeatures     = {RawFeature = {protrusion = mni}},
BoldItalicFeatures = {RawFeature = {protrusion = mnib}}
]{Minion Pro}

其中mnrmnrb等是我根据MinionPro包的

答案2

您可以尝试数学规范包裹:

\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{mathspec}
\setmathfont(Digits,Latin,Greek){Minion Pro}
\setmainfont{Minion Pro}
\setmonofont{Inconsolata}
\usepackage{MnSymbol}
\begin{document}

a$\alpha\sum b=c$\texttt{aaa}
\end{document}

但是,我并没有进行广泛的测试。

答案3

我看不到任何问题

\listfiles
\documentclass{scrartcl}
\usepackage{fontspec}
\setmainfont{Minion Pro}
\setsansfont{Myriad Pro}
\setmonofont{Consolas}
\usepackage{listings}
\begin{document}

Mininpro \textsf{Myriad Pro} \texttt{Consolas}

\begin{lstlisting}[basicstyle=\ttfamily\small]
\setmainfont{Minion Pro}
\setsansfont{Myriad Pro}
\setmonofont{Consolas}
\end{lstlisting}

\end{document}

相关内容