Named Rich Text Font Families

Native rich fields can combine as many as sixteen supplied Unicode TrueType font families, each with regular, bold, italic and bold-italic programs; each selected run uses its actual font bytes, glyph mapping, width, baseline and mark geometry

Configure THPDFHeadlessRichTextFontFamilies, assign each run's FontFamily label, and call SetRichTextFieldValueWithFamilies; an empty run label picks the first configured family

For XHTML, set FontFamilyNames and the default run family before decoding; quoted or unquoted comma-separated font-family lists select the first configured label, inherit restores the enclosing family, and valid important declarations keep their priority

A valid list containing no configured label selects the first configured family; a malformed declaration leaves the prior value unchanged; matching folds ASCII letters and preserves other Unicode characters verbatim

Labels hold at most 128 UTF-16 code units, with no surrounding whitespace, controls, unpaired surrogates, quotes, backslashes, commas or semicolons; this bounded profile implements neither CSS escapes nor implicit system-font discovery

The pure family appearance builder embeds only selected styles and applies aggregate font, glyph, object, byte and cancellation budgets; missing selected fonts and unknown explicit run labels fail before any document changes are committed

Family-aware form import applies the same selection to real FDF RV and XFDF value-richtext, preserves existing field and signature policies, and compares canonical named rich values to detect semantic no-ops

The existing single-family APIs and default decoder profile retain their signatures and behaviour; programs using regenerated Pascal or C++Builder headers must rebuild when adopting the expanded managed run and option records; the external V1 C ABI records remain unchanged

Native Linux named-family JSON and versioned C ABI selection is available via the Linux family binding; Windows FDF and XFDF jobs accept nested family/style file paths or existing V1 font callbacks through Windows form-data exchange

Opt-in supplied-family grapheme fallback selects actual candidate family/style programs through the native APIs; Linux JSON fallback resolves the required configured candidate programs ahead of preparing the same appearance

Arbitrary CSS escapes, implicit system aliases, external style sheets, general CSS layout, Windows typed-rich job selection and Windows callback fallback loading are still active work

Acceptance

Six native compiler targets pass 168 assertions and 1327 independent checks across 36 actual saved PDFs per target, including eight real font programs, mixed-family advances, Unicode labels, inherited priority, FDF/XFDF import, AES R5/R6 security, rollback and initial or late cancellation

Fresh C++Builder headers compile the new family records, builders and document methods on both architectures; both versioned Linux shared libraries pass the existing four-font callbacks and independent output checks once rebuilt with the new internal records

Rich fields · Form data · Document API