hyperref 打印的 PDF 书签中的变音符号错误

hyperref 打印的 PDF 书签中的变音符号错误

我正在使用带有 luatex 的 KOMA-Script 文档类scrreprt

使用 fontspec 包,章节和节中的变音符号打印正确,但 hyperref 包在 pdf 的书签中打印的变音符号错误。

平均能量损失

\documentclass{scrreprt}

\usepackage{fontspec}
\usepackage{hyperref}

\begin{document}

\chapter{Test Ü}
\chapter{Test Ä}

\end{document}

结果

PDF 书签中的变音符号

如何正确打印书签?

答案1

解决方案

\usepackage[pdfencoding=auto]{hyperref}在你的序言中使用。

平均能量损失

\documentclass{scrreprt}

\usepackage{fontspec}
\usepackage[pdfencoding=auto]{hyperref}

\begin{document}

\chapter{Test Ü}
\chapter{Test Ä}

\end{document}

解释

PDF 格式允许对信息字典中的书签和条目使用两种编码:PDFDocEncoding 和 Unicode 作为 UTF-16BE。选项“pdfencoding”可在以下编码之间进行选择:

  • ”pdfdoc” 使用 PDFDocEncoding。它每个字符仅使用一个字节,但支持的字符有限(PDF-1.7 中为 244 个)。

  • ”unicode” 设置 Unicode。它被编码为 UTF-16BE。大多数字符使用两个字节,代理字符需要四个字节。

  • 如果字符串不包含编码之外的字符,则为“auto”PDFDocEncoding,否则为 Unicode。

信用

德国论坛中讨论了同一主题hyperref 软件包手册

相关内容