Fontspec 的 LetterSpace 干扰制表符(仅限 luatex)

Fontspec 的 LetterSpace 干扰制表符(仅限 luatex)

使用字母间距对文本的一部分进行fontspec“缩进”以下制表符,但仅在使用 lualatex 编译时;xelatex 才会产生预期的结果:

\documentclass{book}

\usepackage{fontspec}
\setromanfont{Junicode}

%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\begin{tabbing}
test\qquad\=O ALLCAPS first part\qquad\=second part\\
test\>O {\addfontfeature{LetterSpace=10}ALLCAPS} first part\>second part\\
test\>O {ALLCAPS} first part\>second part\\
\end{tabbing}

\end{document} 

这看起来像是一个错误--有解决方法甚至修复吗?

答案1

这是一个错误,我打开了一个错误报告:https://github.com/latex3/luaotfload/issues/167

解决方法是添加一个额外的框:

\documentclass{book}

\usepackage{fontspec}
\setromanfont{Junicode}

%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

\begin{tabbing}
test\qquad\=O ALLCAPS first part\qquad\=second part\\
test\>O {\mbox{\addfontfeature{LetterSpace=10}ALLCAPS}} first part\>second part\\
test\>O {ALLCAPS} first part\>second part\\
\end{tabbing}

\end{document} 


在此处输入图片描述

相关内容