新版本的fontspec(2016年2月1日,版本2.5a)出现以下错误(MacTeX2015):
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
./mathcal2016.tex:17: fontspec error: "not-in-addfontfeatures"
!
! The "WordSpace" font feature cannot be used in \addfontfeatures.
!
! See the fontspec documentation for further information.
!
! For immediate help type H <return>.
!...............................................
有什么变化?有没有解决方法,或者更好的使用 fontspec.sty 的方法?
答案1
在新版本中,该选项的代码为(来自fontspec-keyval.dtx
)
% \paragraph{Inter-word space}
% These options set the relevant \cmd\fontdimen s for the
% font being loaded.
% \begin{macrocode}
\@@_keys_define_code:nnn {fontspec} {WordSpace}
{
\bool_if:NF \l_@@_firsttime_bool
{ \_fontspec_parse_wordspace:w #1,,,\q_stop }
}
\@@_aff_error:n {WordSpace}
% \end{macrocode}
HyphenChar
它与和的代码类似PunctuationSpace
。问题是这些选项对字体全局起作用,不能通过简单地关闭一个组来撤消。请参阅WordSpace 因子不再增加举个例子。
为了完整性,下面是代码aff_error
:
% For catching features that cannot be used in |\addfontfeatures|:
% \begin{macrocode}
\cs_new:Nn \@@_aff_error:n
{
\@@_keys_define_code:nnn {fontspec-addfeatures} {#1}
{ \@@_error:nx {not-in-addfontfeatures} {#1} }
}
% \end{macrocode}
如果您希望文档的某些部分有不同的单词间距,最好定义特定的字体系列:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Linux Libertine O}
\newfontfamily{\morespace}{Linux Libertine O}[
WordSpace={2, 2, 2}
]
\begin{document}
Some text. Some text.
{\morespace Some text. Some text.}
Some text. Some text.
\end{document}
当然,改变应该在文档中提到。