![hyperref 表格带有衬线字体问题](https://linux22.com/image/454275/hyperref%20%E8%A1%A8%E6%A0%BC%E5%B8%A6%E6%9C%89%E8%A1%AC%E7%BA%BF%E5%AD%97%E4%BD%93%E9%97%AE%E9%A2%98.png)
我使用 LuaLaTeX。
此 MWE 适用于无衬线字体,即 Calibri(在 Windows 上)
\documentclass{article}
\usepackage{fontspec}
\def\fntname{Calibri}
\setmainfont{\fntname}
\usepackage[pdfstartview = FitH]{hyperref}
\usepackage{xcolor}
\begin{document}
\def\textfield{123gzZ}
\textfield
\def\fieldname{fieldname}
\begin{Form}
\TextField[
name = \fieldname,
format = {
this.getField('\fieldname').textFont = '\fntname';
% this.getField('\fieldname').defaultStyle.fontFamily = ["\fntname", "serif"];
},
value = \textfield,
]
{}% fieldlabel
\end{Form}
\end{document}
使用衬线字体时,即\def\fntname{Times New Roman}
(在 Windows 上),字体仅适用于纯文本(第一行),但不适用于表单中的 TextField(第二行)。为什么?
我尝试使用this.getField('\fieldname').defaultStyle.fontFamily = ["\fntname", "serif"];
(从 JavaScript for Acrobat API 参考中读取),但没有任何变化。