LuaLaTeX 完整字体嵌入 + eforms 包

LuaLaTeX 完整字体嵌入 + eforms 包

我尝试使用来自的指令完全嵌入字体我如何验证字体是否全部嵌入到我的 LuaLatex 文档中?[1],使用来自的 BlackChancery 字体https://www.1001fonts.com/blackchancery-font.html[2]。嵌入似乎可以工作(Adobe Reader 说字体未嵌入(像往常一样子集化),但我似乎无法让它在电子表格中工作。[1] 还说我需要重新加载字体,我甚至尝试卸载字体,但没有用(我在 Windows 上,如果有帮助的话)。有人能帮帮我吗?

这是我的 MWE:

\usepackage{fontspec}
\usepackage{luacode}
\begin{luacode}
local function embedfull(tfmdata)
    tfmdata.embedding = "full"
end

luatexbase.add_to_callback("luaotfload.patch_font", embedfull, "embedfull")
\end{luacode}
\setmainfont{Black Chancery}
\usepackage{eforms}
\begin{document}
\centering
\textField[\Q{1}\textFont{Black Chancery}\textSize{15}\V{This text wants to be in chosen font}]{MyText}{100mm}{15mm}

\end{document}

答案1

字体名称中不应有空格。这对我来说很管用。它不需要嵌入字体,但需要将字体安装为系统字体,并且它还依赖于 pdf 查看器——我在 Windows 上使用 Adob​​e Reader 进行了测试。

\documentclass{article}
\usepackage{fontspec}
\setmainfont{Black Chancery}
\usepackage{eforms}
\begin{document}
\centering
\textField[\Q{1}\textFont{BlackChancery}\textSize{15}\V{This text wants to be in chosen font}]{MyText}{100mm}{15mm}
\end{document}

如果字体不可用作系统字体,则必须像在代码中一样嵌入它,但随后还必须将其添加到/DR 字典中,并且必须使用内部名称。

我不知道您是否可以使用电子表格添加字体。使用新的 pdfmanagement 和 l3pdffield 时,其工作方式如下:

\RequirePackage{pdfmanagement-testphase}
\DeclareDocumentMetadata{uncompress} 
\RequirePackage{expl3}
\ExplSyntaxOn
\pdf_uncompress:
\ExplSyntaxOff


\documentclass[12pt]{article}
\usepackage{fontspec}
\usepackage{luacode}
\begin{luacode}
local function embedfull(tfmdata)
    tfmdata.embedding = "full"
end

luatexbase.add_to_callback("luaotfload.patch_font", embedfull, "embedfull")
\end{luacode}
\setmainfont{Black Chancery}
\usepackage{l3pdffield-testphase}
\begin{document}
\ExplSyntaxOn
% deprecated but forces the text to appear when the pdf is open:
\pdfmanagement_add:nnn{Catalog/AcroForm}{NeedAppearances}{true} 

% add the font to the /DR/Font dictionary:
\pdfmanagement_add:nxx{Catalog/AcroForm/DR/Font}
       {F\pdffeedback~fontname\font}
       {\pdffeedback~fontobjnum\font \c_space_tl 0 \c_space_tl R}
       
textfield:~\pdffield_textfield:n {name=text,font=F\pdffeedback~fontname\font,fontsize=15pt,value={some~text}}
       
\ExplSyntaxOff
\end{document}

在此处输入图片描述

相关内容