全局启用 libertine 包的字体功能

全局启用 libertine 包的字体功能

libertine软件包适用于 PDFLaTeX 和 XeLaTeX;对于后者,它会自动加载并用于fontspecOpenType 字体加载。此外,使用 XeLaTeX,可以加载一种名为 Variant 01 的字体功能,该功能将 ÖÜ 字符更改为匈牙利语中使用的样式(重音更接近)。但是,我无法将此功能设为全局功能:

\documentclass{book}
\usepackage{fontspec}
\defaultfontfeatures{Variant=01}
\usepackage{libertine}
\begin{document}
\addfontfeature{Variant=01}
\section{Ö}
\Large\textbf{Ö}
\end{document}

ö

有没有办法在整个文档中使用变体 01,同时保留便利性\usepackage{libertine}

答案1

我认为这是不可能的,因为主字体的定义方式是:

\setmainfont
      [ Numbers = {\libertine@figurealign,\libertine@figurestyle},
        UprightFont    = *_R,
        ItalicFont     = *_RI,
        BoldFont       = *_\libertine@boldstyle, 
        BoldItalicFont = *_\libertine@boldstyle I,
      ] {\libertine@base}

此代码前面是

\defaultfontfeatures{
   Ligatures = TeX ,
   Extension = .otf ,
   SmallCapsFeatures={Letters=SmallCaps}
}

所以没有Variant提供。

我做了一些修改libertine.sty,添加

\DeclareOptionX{defaultfeatures}{\def\libertine@defaultfeatures{#1}}
\def\libertine@defaultfeatures{}

在选项声明部分,然后将上述代码修改为

\defaultfontfeatures{
   Ligatures = TeX ,
   Extension = .otf ,
   SmallCapsFeatures={Letters=SmallCaps} ,
   \libertine@defaultfeatures
}

现在我测试了

\documentclass{book}
\usepackage[defaultfeatures={Variant=01}]{libertine}
\begin{document}
\section{Ö}
\Large\textbf{Ö}
\end{document}

结果如下:

在此处输入图片描述

这应该是对 维护者的功能请求libertine


更新:在 2014/02/11 版本中libertine.sty,建议的新增内容已经实施。

相关内容