显示字符框的书签

显示字符框的书签

以下在生成它的计算机上运行。

\documentclass{article}

\usepackage[pdfencoding=auto,psdextra]{hyperref}
\usepackage{bookmark}
\usepackage{lipsum}

\usepackage{fontawesome}
\newfontfamily\Segoe{Segoe UI Symbol}

\def\SegoeWrench{\Segoe{\unichar{"1F527}}}

\pdfstringdefDisableCommands{%
  \def\faWrench{\SegoeWrench}%
}

\begin{document}
\section{\faWrench First section}
\faWrench\lipsum[1]

\end{document}

但是当我将 PDF 带到另一台机器时,书签中没有显示 Wrench。我注意到的一件事是 Segoe UI Symbol 字体没有嵌入。

我正在使用 xelatex - 我没有使用 Adob​​e Acrobat Distiller - 在 updmap.cfg 中 pdftexDownloadBase14 为真。

有什么想法吗?

答案1

的书签文本\faWrench包含字体命令\Segoe(顺便说一下,该命令是字体切换命令,不是带参数的宏)。字体切换命令包括不是允许放在书签内。或者是否存在可以使用 LaTeX 字体切换命令的 PDF 查看器?

代替

\newfontfamily\Segoe{segoeui.ttf}
\def\SegoeWrench{\Segoe{\unichar{"1F527}}}
\pdfstringdefDisableCommands{%
  \def\faWrench{\SegoeWrench}%
}

\faWrench书签的定义如下,如回答我的:

\pdfstringdefDisableCommands{%
  \def\faWrench{\unichar{"1F527}}%
}

然后,它取决于 PDF 查看器,哪种字体用于书签,以及它是否使用包含此 Unicode 符号的字体。

但是还有没有什么可以在 TeX 或 PDF 级别完成。书签字符串是纯文本字符串,没有任何标记。

相关内容