是否可以让 XELatex 嵌入完整字体而不是部分字体?
我之所以问这个问题,是因为我想让可填写的表格使用正文字体(这个问题之前有几位参与者问过,但没有令人满意的答案 - 例如相关问题这里或者这里)。Acrobat 表单显然只能使用完全嵌入而非部分嵌入的嵌入字体 - 请参阅这里)。目前,我可以创建一个在可填写字段中使用我的正文字体的表单,但这仅在用户机器上安装了该字体时才有效。
一旦我得到上述问题的肯定答复,我就会将我的问题扩展到这种字体的实际使用情况。
下面是一个相当简单的 MWE(在本例中使用 libertine),适合任何想要开始实验的人。
\documentclass{article}
\usepackage{fontspec}
\usepackage{libertine}
\begin{document}
The quick brown fox jumps over the dog 0123456789.
\end{document}
下面使用 eforms 包提供了扩展的 MWE(与字体嵌入问题有些无关)。不指定任何字体时,将使用默认的 helvetica 作为字段(看起来很糟糕),底层 hyperref 字段也是如此。使用 TiRo 作为字体至少会给出一个相当不错的衬线字体(尽管不是 libertine),它似乎可以在 Acrobat 阅读器、PDF-XChange 查看器和内置 Windows 8 阅读器中使用。指定 LinLibertineO 作为字体会在字段中提供 libertine(仅当安装了此字体时,并且仅在 Acrobat Reader 中,而不是 PDF-XChange 查看器和内置 Windows 8 阅读器中)。
\documentclass{article}
\usepackage{fontspec}
\usepackage{libertine}
\usepackage{eforms}
\begin{document}
\everyTextField{
\BC{1 0 0} % border color
\BG{.941 1 .941} % background color
\textColor{0 0 1} % is black
\textFont{TiRo} % LinLibertineO/TiRo (options see commentary)
\textSize{10}
\Ff{\FfDoNotScroll}
}
Your name: \textField{myText}{1.5in}{12bp}
\end{document}
答案1
不,这是不可能的。第 12 条dvipdfmx
文档明确处理字体嵌入。从文档的第 21 页(实际上是文档的最后一句话):
dvipdfmx
不支持完全嵌入。仅支持子集嵌入。