新版本的 fontspec 给出 WordSpace 错误

新版本的 fontspec 给出 WordSpace 错误

新版本的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}

在此处输入图片描述

当然,改变应该在文档中提到。

相关内容