Fallback a famiglie fornite per i campi scalari
I campi testo ordinari, le celle comb, le etichette di visualizzazione delle choice, i segni di checkbox e radio, le maschere password e le caption dei pushbutton nativi possono usare le stesse famiglie di font fornite esplicitamente del rich text senza cambiare i propri metadati form scalari
Fornire da una a sedici etichette configurate distinte con i rispettivi programmi TrueType regular, poi abilitare FallbackFontFamilies; la selezione copre i grafemi completi e non usa i font di sistema installati
Wrapping, spaziatura, shaping, bidi, clipping, rotazione, dimensionamento automatico, righe selezionate delle liste e comportamento degli export state esistenti restano attivi; i campi comb misti mantengono le restrizioni originali delle celle scalari e non accettano uno shaping complesso che il profilo comb originale rifiuta
Le appearance plain miste possono contenere Form figli e diversi font effettivamente incorporati, quindi usare il conteggio di oggetti restituito invece di presupporre un'appearance fissa a sette oggetti
Transport JSON e callback su Windows
{
"schemaVersion": 1,
"type": "forms.fill",
"fontFamilies": ["Primary", "Serif", "Sans"],
"fallbackFontFamilies": true,
"fields": [
{"name": "Plain", "value": "A\u03a9"},
{"name": "Check", "value": "Yes"}
]
}
Per i job Windows, fornire il file font regular di ogni famiglia configurata tramite l'oggetto fonts esistente; per hpdf_document_execute_json_v1, restituire il suo reale programma regular tramite il callback dei font versionato esistente e l'estensione IO
Un fallback con nome esplicito instrada un fill puramente scalare attraverso la stessa transazione candidate autenticata delle typed run miste; le operazioni solo scalari richiedono le face candidate regular e restituiscono typedRichText=false con scalarFamilyProfile="supplied-regular-fonts-v1"
Gli import FDF e XFDF scalari usano lo stesso percorso a famiglie fornite per testo, choice, checkbox e radio button; le caption dei pushbutton usano la API caption nativa e non vengono importate come export state di pulsante scalari
Gli import e i fill scalari same-value su Windows mantengono il contratto no-op solo-valore esistente e preservano i byte committed esatti, inclusi i campi read-only; non confrontano una nuova configurazione di font o colore con l'AP esistente, quindi usare un family setter nativo per un rebuild esplicito dell'appearance
Le typed rich run originali mantengono il confronto di stile e appearance esistente; aggiungere il fallback scalare non quantizza dimensioni o colori tipizzati né modifica l'RV scritto dall'autore
I callback PDF e di risultato devono entrambi riuscire prima che un aggiornamento di contesto diventi visibile; gli errori sticky di font e IO, la cancellazione, i budget, l'autenticazione della cifratura e le policy di firma preservano il grafo committed e l'output atomico su file
Una choice single-selection azzerata memorizza /V null e un array di indici vuoto; un'opzione export vuota selezionata esplicitamente conserva /V () e il suo indice reale, così azzeramenti ripetuti e selezioni di valore vuoto restano distinti
Una choice legacy vuota, senza indice selezionato e senza opzione export vuota, può essere riconosciuta come no-op solo-valore; una choice read-only con un export vuoto realmente selezionato non può essere azzerata
Transport JSON e callback nativo su Linux
Le operazioni versionate Linux accettano le stesse opzioni ordinate fontFamilies e fallbackFontFamilies; i programmi regular vengono risolti attraverso l'ambiente Fontconfig dell'operazione e forniti alle API appearance a famiglie native
Testo scalare, celle comb, etichette choice, segni di checkbox e radio, maschere password, campi file-select e caption esplicite di pushbutton usano una copertura reale a grafemi completi; gli import FDF/XFDF scalari caricano le candidate regular senza aggiungere un flag rich-text autoriale o un RV
Gli import solo rich conservano la loro unione di stili effettivamente richiesta invece di richiedere la face regular di ogni famiglia, mentre gli import misti scalari e rich aggiungono le candidate regular richieste dai campi scalari
Gli import via callback Linux preservano i byte committed esatti per azzeramenti ripetuti e no-op same-value; le policy AES R5/R6, P1/P2/P3 e FieldMDP autenticate, la cancellazione e i fallimenti di pubblicazione conservano il documento committed precedente
Eseguire Tests/Linux/Run-ScalarFontFallbackChecks.sh LIBRARY FIXTURES FONTS OUTPUT su ogni libreria ABI nativa appena buildata; Tests/Linux/HeadlessScalarFontFallback.en-us.md descrive gli input firmati genuini, il catalogo isolato a tre font e i controlli indipendenti su glifi e CMS
Riprodurre i controlli di conformità
I runner Windows pubblici accettano directory esplicite di sorgente, output, font, fixture scalari, fixture di clear e policy firmate genuine; non consumano mai in silenzio una precedente directory di proof privata
Generare i documenti iniziali a quattro campi con Tests/Linux/Build-HeadlessTypedFormFixtures.py, poi passare il suo mixed.pdf ai produttori di fixture scalari e di clear
python Tests/CABI/BuildScalarFixtures.py work/typed/mixed.pdf work/scalar
python Tests/CABI/BuildScalarClearFixtures.py work/scalar/scalar.pdf work/clear
Fornire programmi regular genuini chiamati primary-0.ttf, DejaVuSerifCondensed.ttf e DejaVuSans.ttf; il produttore di fixture di regressione Tests/Linux/Build-HeadlessRichFontListFixtures.py prepara il subset Primary deterministico e tutti e dodici i programmi di stile reali a partire da una directory di font DejaVu fornita dal chiamante
Generare documenti P1, P2, P3 e FieldMDP reali con Tests/Linux/Run-HeadlessTypedFormTests-Windows.ps1 e la sua richiesta directory di identità certificato/chiave; i suoi output includono p1-signed.pdf, p2-signed.pdf, p3-signed.pdf e lock-signed.pdf
Tests/CABI/RunScalarClearNative.ps1 -SourceDirectory Lib -OutputDirectory work/native `
-FontDirectory work/fonts -FixtureDirectory work/scalar `
-ClearFixtureDirectory work/clear -PolicyDirectory work/signed
Tests/CABI/RunScalarClearABI.ps1 -SourceDirectory Lib -OutputDirectory work/abi `
-FontDirectory work/fonts -FixtureDirectory work/scalar `
-ClearFixtureDirectory work/clear -PolicyDirectory work/signed `
-LegacyFixtureDirectory work/typed -LegacyFontDirectory work/legacy-fonts
I parametri di regressione legacy prendono le directory di fixture e font dei typed form Windows esistenti usate da Run-WindowsTypedFormChecks.ps1; i nuovi controlli scalari ispezionano anche indipendentemente i programmi incorporati effettivi, le mappe CID, i valori del form e i ByteRange firmati conservati
I no-op della DLL Windows preservano i byte committed esatti dopo che entrambi i callback riescono; la API di transazione nativa mantiene il comportamento esistente di pubblicazione della revisione preparata, riportando zero campi modificati per un no-op semantico
L'FDF distingue un array di selezione vuoto da una stringa export vuota selezionata; la convenzione XFDF esistente per i valori vuoti viene interpretata rispetto alla lista di opzioni di destinazione e non offre una distinzione lossless per ogni documento con opzioni a export vuoto
API native
- HPDFBuildHeadlessTextFamilyAppearance
- SetTextFieldValueWithFamilies
- SetChoiceFieldValuesWithFamilies
- SetButtonFieldValueWithFamilies
- SetPushButtonAppearanceWithFamilies
Fallback delle rich run · Transport dei rich font su Windows