我需要在段落内的单词上使用字母间距。我对 fontspec 和 LetterSpace 功能进行了一些实验。
虽然渲染似乎是正确的,但我观察到在某些配置中,单词字母之间会插入空格字符。(这是一个问题,因为它会使这些单词无法查找)。
当同一行上有间距文本和非间距文本时,似乎会出现问题。
我不确定我的代码出了什么问题,以及是否有办法控制这种行为。
我的 tex 文件:
\documentclass{minimal}
\usepackage{fontspec}
\setmainfont{FreeMono}
\begin{document}
This is a text \\
{\addfontfeature{LetterSpace=20.0}This is a short spaced text}\\
{\addfontfeature{LetterSpace=20.0}This is a spaced text} This is not spaced text \\
{\addfontfeature{LetterSpace=20.0}This is a another, longer than the previous one, spaced text} \\
This is normal text
\end{document}
PDF渲染:
正文内容:
答案1
您可以使用 accsupp 添加 /Actualtext(这样的文本应该很短,因此如果需要,可以逐字逐句地添加):
\documentclass{article}
\usepackage{fontspec}
\setmainfont{FreeMono}
\usepackage{accsupp}
\begin{document}
This is a text \\
{\addfontfeature{LetterSpace=20.0}%
\BeginAccSupp {method=plain,ActualText=This is a short spaced text}%
This is a short spaced text\EndAccSupp{}} This is a text
\\
{\addfontfeature{LetterSpace=20.0}This is a spaced text}
\end{document}