从 XeLaTeX PDF 复制连字

从 XeLaTeX PDF 复制连字

很长一段时间以来,我都遇到一个问题,即从 PDF 中复制和搜索有点困难,因为连字符无法正确翻译。我正在使用 XeLaTeX 和 Libertine/Biolinum。

我是一个简单的用户,所以我尝试了在互联网上找到的解决方法(使 Linux Libertine 中的连字符可复制(和可搜索)-使用 XeTeX 的 \pdfglyphtounicode-PDF 搜索能在 XeLaTeX 文档中找到带有连字符的单词吗?),但这一切都无济于事。

这是我的 MWE

%!TEX TS-program = xelatex 
%!TEX encoding = UTF-8 Unicode 
\documentclass{scrreprt}
\usepackage{fontspec}
%\defaultfontfeatures{Ligatures=Historic}
%\setmainfont{Linux Libertine O}
\usepackage{libertine}
\begin{document}
fluffier soufflé fisticuffs fb fh ffh fj ffj fk ffk ft fft tt Qu Th ch ck ct
\end{document}

哪个渲染

你的源检查

对于上述情况以及

你有源icu检查

当我使用历史连字符时。

使用\input{glyphtounicode}解决方法我得到:

未定义控制序列。l.7 \pdfglyphtounicode{A}{0041}

使用\usepackage[t1]{fontenc}我得到:

/usr/local/texlive/2014/texmf-dist/tex/latex/base/fontenc.sty:100: LaTeX 错误:编码方案“t1”未知。

请参阅 LaTeX 手册或 LaTeX Companion 以获取解释。

输入 H 即可获得紧急帮助。

l.100 \fontencoding\encodingdefault\selectfont

尝试其他字体显示出非常复杂的结果,因此,虽然问题显然可能出在字体上,但是我可以做些什么来解决这个问题并保留连字符?

类似上述内容

\input{glyphtounicode}

\pdfglyphtounicode{f_f}{FB00}

我可以手动“翻译”连字 - 但上述方法对我来说不起作用。

答案1

尝试\XeTeXgenerateactualtext=1在文档开头添加。

(如果我没记错的话,我认为这需要 TeX Live 2016 或更高版本的 XeTeX,或者其他发行版中的等效版本,例如 MikTeX;并且复制/粘贴的结果还取决于所使用的 PDF 阅读器,因为并非所有 PDF 查看器都支持 ActualText 注释。)

相关内容