解决 ebgaramond 和 Franklin Gothic 之间的意外互动

解决 ebgaramond 和 Franklin Gothic 之间的意外互动

这是我的 MWE 及其输出(XeLaTeX,TeXLive 2012 最新版本,Windows 7):

\documentclass{article}
\usepackage{fontspec}
\usepackage{ebgaramond}     %%% <== This one
\setsansfont[%
    ]{ITC Franklin Gothic Std Book}
\newfontfamily\xffamily[%
    BoldFont=*,
    ]{ITC Franklin Gothic Std Book}
\usepackage{lipsum}
\begin{document}
\sffamily
\lipsum[39]
\xffamily
\lipsum[39]
\end{document}

在此处输入图片描述

第一段意外地以粗体显示。(从 PDF 来看,它实际上是 Franklin Gothic Std Demi)。如果我删除对 的调用ebgaramond,所有内容都会以正常类型显示。

虽然我知道如何消除这种情况(参见 的定义\xffamily),但我真的很想知道发生了什么,因为我真的觉得我没有必要。

有人能告诉我发生了什么事吗?


更新 1

ebgaramond.sty包含以下行:

\renewcommand{\bfdefault}{m}

如果删除此行,我的问题就解决了。但是,我仍然想了解这里发生了什么,尤其是因为我认为我没有调用任何粗体内容。


更新 2

我与 的维护者 Bob Tennent 取得了联系ebgaramond.sty,他正在审查此案......

答案1

由于我没有 ITC Franklin Gothic,所以我尝试使用 Gill Sans,但结果是一样的。以下是我在日志文件中得到的结果:

.................................................
. fontspec info: "defining-font"
.
. Font family 'GillSans(0)' created for font 'Gill Sans' with options [,].
.
. This font family consists of the following shapes:
.
. * 'normal' with NFSS spec.:
. <->"Gill Sans/AAT:"
.
. * 'normal' with NFSS spec.:
. <->"Gill Sans/B/AAT:"
.
. * 'italic' with NFSS spec.:
. <->"Gill Sans/I/AAT:"
.
. * 'italic' with NFSS spec.:
. <->"Gill Sans/BI/AAT:"
.................................................

这指的是“sans”系列。您知道哪里出了问题吗?赋予含义m\bfdefault导致fontspec将粗体字体分配给中等粗细它分配了中等粗细的字体。

\xffamily相反,对于我得到的定义

.................................................
. fontspec info: "defining-font"
.
. Font family 'GillSans(1)' created for font 'Gill Sans' with options
. [,BoldFont=*, ].
.
. This font family consists of the following shapes:
.
. * 'normal' with NFSS spec.:
. <->"Gill Sans/AAT:"
.
. * 'normal' with NFSS spec.:
. <->"Gill Sans/AAT:"
.
. * 'italic' with NFSS spec.:
. <->"Gill Sans/I/AAT:"
.
. * 'italic' with NFSS spec.:
. <->"Gill Sans/I/AAT:"
.................................................

这同样也是错误的。

我的结论是,依赖于等fontspec的含义来将字体分配给系列以及所做的设置(以避免出现不存在的粗体字体的消息)是完全错误的。\mddefault\bfdefaultebgaramond.sty

“解决方案”

\let\origbfdefault\bfdefault
\usepackage{ebgaramond}
\let\bfdefault\origbfdefault

相关内容