setTextFieldValue
Fill a text form field: set its value (/V) and regenerate the widget's normal appearance (/AP /N) so the value is visible in any viewer. The appearance honours the field's /DA (font, size, colour) and is clipped to the field rectangle. Also clears the form's /NeedAppearances flag (if set) so viewers use the appearance we just generated.
Only /Tx (text) fields are supported; buttons/choices come later.
A password field (/Ff bit 14) draws one asterisk a character, never its value, as ISO 32000-1, 12.7.4.3, Table 228 asks. Its /V still takes value, since the caller asked for it; the note to the same entry advises a reader never to store a password, so an app that saves what its reader typed skips such fields (#954).