EB Garamond 和 fontspec 用于小型大写字母的“光学粗体”?

EB Garamond 和 fontspec 用于小型大写字母的“光学粗体”?

这在某种程度上是我EB Garamond(粗体)小型大写字母在 lualatex 中“突然”不可用?;下面,我写了一些关于这种字体的更多细节以供参考 - 但简而言之,我的问题是:

有没有办法用 EB Garamond 设置字体规格,那么:

  • 普通文本(在\newfontfamily命令内)使用 EB Garamond 12;
  • \newfontfamily然后,当在同一个命令(使用\bfseries, )中将文本加粗时,\textbf字体将切换到 EB Garamond 08;
  • \textsc当使用小型大写字母时,Letters=SmallCaps是使用 a),还是使用 b) EB Garamond SC 字体?

...这样它也会消除这些警告:

LaTeX Font Warning: Font shape `EU2/EBGaramond(0)/bx/n' undefined
(Font)              using `EU2/EBGaramond(0)/m/n' instead on input line 31.

... 编译以下 MWE 时,test.tex使用lualatex

\PassOptionsToPackage{dvipsnames}{xcolor}

% compile with: lualatex test.tex

\documentclass[10pt,a4paper]{article}

  \makeatletter
  \newcommand{\name}[1]{\def\@name{#1}}
  \makeatother

  \usepackage[margin=2cm]{geometry}
  \geometry{left=1.25cm,right=1.25cm,top=1.25cm,bottom=1.25cm}

  \usepackage{fontspec}

  \newfontfamily\titlenamefont{EB Garamond}[Ligatures=TeX]

  % NOTE: `SmallCapsFeatures={Letters=SmallCaps}`, as per https://tex.stackexchange.com/questions/114223/, does not force small caps here, only `Letters=SmallCaps` does!?
  \newfontfamily\titlenamefontB{EB Garamond}[Ligatures=TeX,Letters=SmallCaps]

  \newfontfamily\titlenamefontC{EB Garamond 08 Regular}[OpticalSize=0,Letters=SmallCaps,Ligatures=TeX]

  \usepackage[hidelinks=true]{hyperref}

\begin{document}

  \name{\hspace{4em}\addfontfeature{LetterSpace=10.0}\textsc{Brazen Discovery}}

  \begingroup
    \makeatletter
      {\ifcsname titlenamefont\endcsname\titlenamefont\fi \Huge\bfseries{\@name}\par}
    \makeatother
  \endgroup\medskip

  \begingroup
    \makeatletter
      {\titlenamefontB \Huge\bfseries{\@name}\par}
    \makeatother
  \endgroup\medskip

  \begingroup
    \makeatletter
      {\titlenamefontC \Huge\bfseries{\@name}\par}
    \makeatother
  \endgroup\medskip

  Testing some normal paragraph text here...

\end{document}

当前输出为:

截图-测试.pdf.png

在我发表第一篇博文之后,我重新安装了 TexLive 2015,并意识到了以下问题:最初,我想实现加粗的小写字母;可能是偶然,我使用了 EB Garamond 08 而不是 EB Garamond 12,虽然它看起来确实更粗一些,但除此之外,它只是一种不同的光学尺寸(如何使用 EB Garamond 08?) - 而 EB Garamond 中没有适当的“粗体”。

因此,我最终相信这种“粗体”是使用的结果\bfseries- 所以当我稍后尝试编译而看不到“粗体”时,我写了原始帖子,怀疑是安装问题。

现在,至少我可以声明我在(Ubuntu 14)中有以下 10 个.otf字体文件:~/.local/share/fonts

$ ls -la ~/.local/share/fonts/EBGaramond*
-rw-r--r-- 1 user user 200656 Apr  8  2014 ~/.local/share/fonts/EBGaramond08-Italic.otf
-rw-r--r-- 1 user user 259968 Apr  8  2014 ~/.local/share/fonts/EBGaramond08-Regular.otf
-rw-r--r-- 1 user user 212492 Apr  8  2014 ~/.local/share/fonts/EBGaramond12-AllSC.otf
-rw-r--r-- 1 user user 298252 Apr  8  2014 ~/.local/share/fonts/EBGaramond12-Italic.otf
-rw-r--r-- 1 user user 495300 Apr  8  2014 ~/.local/share/fonts/EBGaramond12-Regular.otf
-rw-r--r-- 1 user user  60240 Apr  8  2014 ~/.local/share/fonts/EBGaramond-InitialsF1.otf
-rw-r--r-- 1 user user   5120 Apr  8  2014 ~/.local/share/fonts/EBGaramond-InitialsF2.otf
-rw-r--r-- 1 user user  78512 Apr  8  2014 ~/.local/share/fonts/EBGaramond-Initials.otf
-rw-r--r-- 1 user user 226840 Apr  8  2014 ~/.local/share/fonts/EBGaramondSC08-Regular.otf
-rw-r--r-- 1 user user 353364 Apr  8  2014 ~/.local/share/fonts/EBGaramondSC12-Regular.otf

... 它们是直接从http://www.georgduffner.at/ebgaramond/download.html;我的~/.fonts目录现在是空的。

我也做过fc-cache

$ fc-cache -f -v ; fc-list | grep aramond
...
fc-cache: succeeded
~/.local/share/fonts/EBGaramond12-Regular.otf: EB Garamond,EB Garamond 12:style=12 Regular,Regular
~/.local/share/fonts/EBGaramond12-Italic.otf: EB Garamond,EB Garamond 12:style=12 Italic,Italic
~/.local/share/fonts/EBGaramondSC12-Regular.otf: EB Garamond SC,EB Garamond SC 12:style=12 Regular,Regular
~/.local/share/fonts/EBGaramond08-Regular.otf: EB Garamond,EB Garamond 08:style=08 Regular,Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
~/.local/share/fonts/EBGaramond08-Italic.otf: EB Garamond,EB Garamond 08:style=08 Italic,Cursiva,kurzíva,kursiv,Πλάγια,Italic,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,Kursywa,Itálico,Курсив,İtalik,Poševno,Etzana
~/.local/share/fonts/EBGaramond-InitialsF1.otf: EB Garamond Initials Fill1:style=Regular
~/.local/share/fonts/EBGaramond-InitialsF2.otf: EB Garamond Initials Fill2:style=Regular
~/.local/share/fonts/EBGaramondSC08-Regular.otf: EB Garamond SC,EB Garamond SC 08:style=08 Regular,Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
~/.local/share/fonts/EBGaramond12-AllSC.otf: EB Garamond 12 All SC:style=AllSC
~/.local/share/fonts/EBGaramond-Initials.otf: EB Garamond Initials:style=Regular

字体显示如下fontmatrix

截图-Fontmatrix1.png

所以,即使我.otf安装了 10 个字体文件,我也只有 6 个条目fontmatrix...所以我猜这里的这些条目是“字体系列”,即“EB Garamond”是一个字体系列,“EB Garamond SC”是另一个?

这是我双击“EB Garamond”条目时获得的结果fontmatrix

截图-Fontmatrix2.png

EBGaramond08-Italic.otf因此,我在这里可以看到、EBGaramond08-Regular.otfEBGaramond12-Italic.otf、的条目(我猜)EBGaramond12-Regular.otf。当我选择“08 Italic”按钮时,系统会告诉我当前字体是“EB Garamond 08 Italic”。

当我点击“EB Garamond SC”时,我得到了类似的结果:

截图-Fontmatrix3.png

条目“08 Regular”和“12 Regular”可能代表EBGaramondSC08-Regular.otfEBGaramondSC12-Regular.otf

需要注意的是,LibreOffice Writes 不会对这些字体进行分组,但每个字体都有单独的条目:

截图-LibreOfficeWriter.png

无论如何,现在用其他方式重复我的问题:有没有办法在中设置一个\newfontfamily,比如说,使得:\titlenamefontfontspec

  • 使用时{\titlenamefont \Huge{MYTEXT}},呈现的字体为“EB Garamond 12 Regular”
  • 使用时{\titlenamefont \Huge\bfseries{MYTEXT}},呈现的字体为“EB Garamond 08 Regular”(不会在乳胶日志中生成关于不存在粗体字样的警告)
  • 使用时{\titlenamefont \Huge\bfseries{\textsc{MYTEXT}}},呈现的字体为 a)Letters=SmallCaps带选项的“EB Garamond 08 Regular”;或 b) “EB Garamond SC 08 Regular”
  • {\titlenamefont \Huge{\textsc{MYTEXT}}}使用时(所以没有粗体),呈现的字体是 a)带有Letters=SmallCaps选项的“EB Garamond 12 Regular”;或 b)“EB Garamond SC 12 Regular”

(附带问题:在上面的 MWE 中,为什么SmallCapsFeatures={Letters=SmallCaps}不使用 生成任何小型大写字母\textsc,而只是{Letters=SmallCaps}生成?)

答案1

GitHub 上的 EB Garamond 系列免费版本有不同的粗细。但它基于 EB Garamond 12,而不是 8。您可以将常规、粗体、斜体和粗斜体下载到您的项目目录或子目录中。只需加载 EB Garamond 并选择Path此子目录即可。

Path然后,使用、ScaleBoldFontBoldItalicFont选项创建字体系列\newfontfamily。例如,[Scale = MatchUppercase, Ligatures = {Common, TeX}, BoldFont = EBGaramond08-bold.otf, BoldItalicFont = EBGaramond08-BoldItalic.otf](如果您有这样的字体。)使用Scale=MatchUppercase使高度匹配,然后使用您想要的任何连字、数字和其他选项。您可能还需要BoldFeaturesBoldItalicFeatures。如果您要自己将下载的特定字体文件加载到目录中,您可能希望使用 通过文件名加载它们Extension = .otf

如果您的粗体字体副本是最近复制的,它应该已经包含小写字母,并且它们应该可以正常工作。如果您需要加载单独的字体,您可能还需要设置该BoldFeatures = { SmallCapsFont = ... }选项。

有免费版本的 Garamond No8 小型大写字母,网址为阿坎迪斯。

相关内容