fontspec 和 EBGaramond 的问题

fontspec 和 EBGaramond 的问题

我正在尝试使用 fontspec 和EB Garamond 字体。我首先尝试使用 Lualatex,因为我想尝试一下 impnattypo(法语排版)包的一些功能。但是,一开始我在渲染 OpenType 功能(如历史连字、与大写字母结合的小写字母以及几乎所有上下文替代)时遇到了一些问题。然后,我发现了有关 lualatex 问题的建议,所以我改用了 XeLaTeX,我的一些问题得到了解决,但有些问题没有解决。例如,我无法激活历史连字,无法获得替代“1”(功能 cv11),并且 TeX 连字(--- 等)不起作用。这是一个有效示例:

% !TEX TS-program = xelatex
% !TEX encoding = UTF-8

\documentclass[11pt,DIV=8]{scrbook} 
\usepackage[papersize={140mm,210mm}]{geometry}
\usepackage{microtype}
\usepackage{realscripts}
\usepackage{fontspec}
\setmainfont{EB Garamond}
\defaultfontfeatures{RawFeature={+hlig,+clig,+dlig,+cv11,+cv90,+calt,+ccmp,+swsh},Ligatures=TeX,Numbers={Proportional,OldStyle}}

%Cool Small caps
\newcommand{\smallcaps}[1]{\textsc{\MakeLowercase{#1}}}

%first paragrpaph definition
\newcommand{\primero}[1]{\noindent{\smallcaps{#1}}}

% cool french typography 
\usepackage[    hyphenation,
            parindent,
            lastparline
            ]{impnattypo}

\usepackage[all]{nowidow}
\raggedbottom
\setlength{\emergencystretch}{3em}  % prevent overfull lines

% footers and headers
\usepackage{fancyhdr}
\fancypagestyle{plain}{%
    \fancyhf{} % clear all header and footer fields
    \fancyfoot[C]{\thepage} % except the center
    \renewcommand{\headrulewidth}{0pt}
    \renewcommand{\footrulewidth}{0pt}
    }%

\pagestyle{fancy}
\fancyhf{}
\fancyhead[LE]{\small{\smallcaps{Some Author}}}
\fancyhead[RO]{\small{\smallcaps{Some Title For This}}}
\fancyfoot[C]{\small\thepage}
\renewcommand{\headrulewidth}{0.1pt}

% chapter start
\renewcommand*\sectfont{\rmfamily\scshape}

\usepackage{kantlipsum}


\begin{document}
Quienes queriendo. \textit{Quienes quieren querer queriendo.} 

---This should be an em-dash,and the ligature in this: Th should work. 

--This should be an en-dash and this historic ligatures should work: estaba octubre. 

--- These ones should not look like roman numerals: 111111. 

\kant[1]

\textit{\kant[2]}
\end{document}

我尝试了 fontspec 手册中的选项,也尝试了字体作者自己的建议标本数据和他的XeLaTeX 使用建议。我也尝试过使用Mapping=tex-text,但Ligatures=TeX没有成功。我还尝试过将 Raw OpenType 功能更改为 fontspec 定义的功能(例如 Ligatures={Historic})。

我不知道还能做什么。我整天都在处理这个文件,却一无所获。最糟糕的是,我知道我以前让它工作过!但现在我记不起怎么做了…… :( 我知道我一定错过了一些小而明显的东西。

答案1

您需要声明默认字体功能使用 设置字体\setmainfont
另外,请确保您没有以某种方式最终获得 TrueType 版本的字体。

此外,可能值得更详细地指定文件:

\setmainfont
    [ Path        = /path/to/fonts/ ,
      Extension   = .otf,
      UprightFont = *12-Regular  ,
      ItalicFont  = *12-Italic ,
      BoldFont    = *08-Regular ]
    {EBGaramond}

相关内容