我最近购买了一款专业字体 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=Rare
和Ligatures=Discretionary
是表达同一事物的两种方式,因此请选择其中一种。而 Calluna 没有hlig
或cswh
功能,因此请删除Ligatures=Historic
和Contextuals=Swash
,否则您的日志文件将充满令人分心的警告。您可以添加Contextuals=Alternate
,但calt
在 中应该默认启用xetex
。
如果您同时拥有衬线字体和无衬线字体,我建议按以下方式使用字体:
\defaultfontfeatures{Contextuals=Alternate,Ligatures={TeX,Rare},Numbers=Lining,SmallCapsFeatures={Kerning=Uppercase}}
\setmainfont{Calluna}
\setsansfont{Calluna Sans}
甚至更好的是,由于罕见的连字符表明了一种印刷传统,其中衬线数字不是默认设置,所以我要么使用旧式数字,要么省略罕见的连字符。