使用专家字体时遇到的问题

使用专家字体时遇到的问题

我最近购买了一款专业字体 Calluna (exljbris)。使用该字体时只有一个问题:

字体默认使用旧式数字编码。我不知道如何访问衬线数字。

我尝试过Use Old Style Figures认为字体编码已切换,但遗憾的是,它不起作用;它仍保持旧式。我也尝试过\fontspec[Numbers={Lining}]{Calluna}在序言中这样做,但没有奏效。

我使用 LyX 2.1.0;Windows 8.1;我使用 XeTeX 和\fontspec包。

编码中存在衬里数字;它在铸造厂的网站上,我也用有可用选项的 Microsoft Office 2013 对其进行了测试。

我的 LaTeX 序言如下:

\widowpenalty=10000
\clubpenalty=10000
%\raggedbottom
%\usepackage{dtklogos}
\usepackage{fontspec}
\setmainfont[Ligatures={Historic,Rare,Discretionary,TeX},Contextuals=Swash]{Calluna}
%\pagenumbering{roman}
\usepackage{microtype}

答案1

如果没有最小的工作示例,这个答案肯定是一个未经检验的猜测,但问题似乎在于你\fontspec[Numbers={Lining}]{Calluna}在序言中尝试过

\usepackage{fontspec}
\setmainfont[Numbers=Lining]{Calluna}

\fontspec[Numbers={Lining}]{Calluna}适合一次性使用。例如,如果出于某种原因,你希望 Calluna 只在一个引号中使用内衬数字,你可以写

\begin{quote}
\fontspec[Numbers={Lining}]{Calluna}
12345
\end{quote}

这远不是更改字体的最有效方法,但它确实有效。然而,在序言中,您需要\setmainfont使用其参数。

顺便说一句,Ligatures=RareLigatures=Discretionary是表达同一事物的两种方式,因此请选择其中一种。而 Calluna 没有hligcswh功能,因此请删除Ligatures=HistoricContextuals=Swash,否则您的日志文件将充满令人分心的警告。您可以添加Contextuals=Alternate,但calt在 中应该默认启用xetex

如果您同时拥有衬线字体和无衬线字体,我建议按以下方式使用字体:

\defaultfontfeatures{Contextuals=Alternate,Ligatures={TeX,Rare},Numbers=Lining,SmallCapsFeatures={Kerning=Uppercase}}
\setmainfont{Calluna}
\setsansfont{Calluna Sans}

甚至更好的是,由于罕见的连字符表明了一种印刷传统,其中衬线数字不是默认设置,所以我要么使用旧式数字,要么省略罕见的连字符。

相关内容