如何更改文本形式的字体?
\documentclass{standalone}
\usepackage{xcolor}
\usepackage[utf8]{inputenc}
\usepackage[T2A]{fontenc}
\usepackage[english,russian,french]{babel}
\usepackage{hyperref}
\begin{document}
\pagestyle{empty}
\begin{Form}
\TextField[bordercolor=white
,borderwidth=0
,width=2.5in
,name=name.1
,format={
var f = this.getField('name.1');
f.textFont = 'Europe';
f.userName = 'first name'
}
,value=something
,charsize=7pt]{Type:}
\end{Form}
\end{document}
此示例不起作用。如果我打开 Adobe Acrobat Pro,它会显示表单字体是 helvetica。如果我更改 \usepackage[english,russian,french]{babel}
为 \usepackage[english]{babel}
或,则\usepackage[russian]{babel}
一切正常。
答案1
软件包babel
使用不同语言的简写字符。例如,如果加载了法语字体,则在前面插入一些空格,则;
重新定义为活动字符。french
使用\shorthandoff
和\shorthandon
可以禁用和启用简写字符:
\shorthandoff{;}%
\TextField...
\shorthandon{;}%
另一种可能性是使用\string
(或 e-TeX 的\detokenize
)。\string
将下一个标记转换为具有 catcode“其他”(12,例如数字) 或“空格”(10) 的字符(如果该标记具有空格 (32) 的字符代码)。
\TextField[...
format={... f.textFont = 'Europe'\string; ...},
....]{...}
另一个问题是字体嵌入。字体仅通过名称引用,并且必须安装在用户的系统中。