テキストフィールド内のテキストをデフォルトで太字にする方法

テキストフィールド内のテキストをデフォルトで太字にする方法

新しいコマンド定義で、入力テキストをデフォルトで太字にするためにさまざまな組み合わせ (fontWeight=bfseries、font=bfseries) を試しましたが、今のところ成功していません。何かご提案があればいただければ幸いです。MWE:

\documentclass[11pt,a4paper]{article}
\usepackage[table]{xcolor}
\usepackage{hyperref,stackengine}
\newcommand{\TF}[2][5em]{\TextField[borderwidth=-0.2pt,
                           width=#1,
                           height=#1,  
                           charsize=12pt,
                           backgroundcolor=white!50!white,
                           color=black!100!black,
                           bordercolor=white!20!white,
                           name=#2
                           charWeight=\bfseries
                          ]{}}

\begin{document}
\fbox{\TF[12em, height=12pt, charsize=12pt,
     color=black!100!black, bordercolor=1 1 1]{d}}
\end{document}

答え1

まあ、それは難しいですね。PDF 内の通常のテキストとは異なり、テキスト フィールド内のグリフは埋め込まれたリソースから取得されるのではなく、PDF ビューアがオンザフライで生成する必要があります (結局のところ、ユーザーがそのようなフィールドにどの文字を入力するかは誰にもわかりません)。PDF リファレンスでは、そのようなフォント リソースの構築方法について多くの詳細を指定せず、プロセッサに任せているため、PDF ビューアに大きく依存することになります。

したがって、hyperref では多くのオプションが提供されておらず、フォント サイズと色を設定することはできますが、それだけです。

l3pdffield-testphase ではフォント名も指定できますが、上で書いたように、すべてのビューアがその設定を尊重するとは限りません。フォントが見つからない場合は、別のフォントにフォールバックできます (または、とにかく設定を無視します)。

\DocumentMetadata{}
\documentclass{article} 
\usepackage{l3pdffield-testphase}
\usepackage{fontspec}
\setmainfont{DejaVuSans}
\begin{document}
\textbf{Some bold text}
\ExplSyntaxOn
\pdffield_textfield:n{name=name,font=DejaVuSans-Bold,width=5cm}
\ExplSyntaxOff

\end{document}

Adobe Reader を使用すると、フィールドに次のフォントが表示されます。

ここに画像の説明を入力してください

関連情報