So machen Sie Text in Textfeldern standardmäßig fett

So machen Sie Text in Textfeldern standardmäßig fett

Ich habe in der neuen Befehlsdefinition verschiedene Kombinationen (fontWeight=bfseries, font=bfseries) ausprobiert, um den Eingabetext standardmäßig fett zu machen, aber bisher ist es mir nicht gelungen. Ich wäre für jeden Vorschlag dankbar. 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}

Antwort1

Nun, das ist schwierig. Anders als beim normalen Text in einer PDF-Datei werden die Glyphen in einem Textfeld nicht aus einer eingebetteten Ressource entnommen, sondern müssen vom PDF-Viewer spontan generiert werden (schließlich weiß niemand, welche Zeichen ein Benutzer in ein solches Feld eingeben wird). Die PDF-Referenz gibt nicht viele Details darüber an, wie eine solche Schriftart-Ressource aufgebaut sein soll, sondern überlässt dies den Prozessoren, was bedeutet, dass es stark vom PDF-Viewer abhängt.

Daher bietet hyperref nicht viele Optionen. Sie können versuchen, die Schriftgröße und die Farbe einzustellen, aber das ist mehr oder weniger alles.

Mit l3pdffield-testphase können Sie auch einen Schriftnamen angeben, aber wie ich oben geschrieben habe, ist nicht garantiert, dass jeder Viewer diese Einstellung beachtet. Wenn sie die Schriftart nicht finden können, können sie auf etwas anderes zurückgreifen (oder die Einstellung einfach sowieso ignorieren):

\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}

Beim Adobe Reader ergibt sich im Feld folgende Schriftart:

Bildbeschreibung hier eingeben

verwandte Informationen