Leverantörsfamilje-fallback för skalära fält
Vanliga textfält, comb-celler, visningsetiketter för val, kryss- och radiomarkörer, lösenordsmasker och nativa pushbutton-rubriker kan använda samma explicit levererade teckensnittsfamiljer som rich text utan att deras skalära formmetadata ändras
Ange mellan en och sexton distinkta konfigurerade etiketter med sina vanliga TrueType-program och slå sedan på FallbackFontFamilies; urvalet täcker kompletta grafem och använder inte installerade systemteckensnitt
Befintlig vanlig radbrytning, spacing, shaping, bidi, beskärning, rotation, automatisk storlekssättning, valda listrader och exporttillstånd fungerar som tidigare; blandade comb-fält behåller sina ursprungliga restriktioner för skalära celler och godtar inte komplex shaping som den ursprungliga comb-profilen avvisar
Blandade vanliga appearance-objekt kan innehålla underordnade Forms och flera faktiskt inbäddade teckensnitt, så konsumera det returnerade objektantalet i stället för att anta en appearance med ett fast antal på sju objekt
Windows JSON- och callback-transport
{
"schemaVersion": 1,
"type": "forms.fill",
"fontFamilies": ["Primary", "Serif", "Sans"],
"fallbackFontFamilies": true,
"fields": [
{"name": "Plain", "value": "A\u03a9"},
{"name": "Check", "value": "Yes"}
]
}
För Windows-jobb levereras varje konfigurerad familjs vanliga teckensnittsfil genom det befintliga fonts-objektet; för hpdf_document_execute_json_v1 returneras dess verkliga vanliga program via den befintliga versionerade teckensnitts-callbacken och IO-tillägget
En explicit namngiven fallback kör en ren skalär ifyllning genom samma autentiserade kandidattransaktion som blandade typade körningar; rent skalära operationer begär vanliga kandidat-glyphs och returnerar typedRichText=false med scalarFamilyProfile="supplied-regular-fonts-v1"
FDF- och XFDF-importer för skalära värden använder samma leverantörsfamilje-väg för text, val, kryssrutor och radioknappar; pushbutton-rubriker använder det nativa caption-API:t och importeras inte som skalära knappexporttillstånd
Skalära Windows-importer och ifyllningar med oförändrat värde behåller sitt befintliga kontrakt för no-op med enbart värde och bevarar exakta committed bytes, inklusive skrivskyddade fält; de jämför ingen ny teckensnitts- eller färgkonfiguration mot den befintliga AP:n, så använd en nativ familjesättare för en explicit ombyggnad av appearance
Ursprungliga typade rich-körningar behåller sin befintliga stil- och appearance-jämförelse; att lägga till skalär fallback kvantiserar inte typade storlekar eller färger och ändrar inte författad RV
PDF- och result-callbacks måste båda lyckas innan en kontextuppdatering blir synlig; klistriga teckensnitts- och IO-fel, avbrott, budgetar, krypteringsautentisering och signaturpolicys bevarar committed-grafen och den atomära filutmatningen
Ett rensat enkelval lagrar /V null och en tom indexarray; ett explicit val av ett tomt exportalternativ behåller /V () och sitt faktiska index, så upprepade rensningar och val av tomt värde förblir åtskilda
Ett äldre tomt val utan valt index och utan tomt exportalternativ kan känns igen som en no-op med enbart värde; ett skrivskyddat val med ett verkligt valt tomt exportvärde kan inte rensas
Nativ Linux JSON- och callback-transport
Linux versionerade operationer tar emot samma ordnade fontFamilies- och fallbackFontFamilies-alternativ; vanliga program löses via operationens Fontconfig-miljö och levereras till de nativa familjeappearance-API:erna
Skalär text, comb-celler, valetiketter, kryss- och radiomarkörer, lösenordsmasker, filvalsfält och explicita pushbutton-rubriker använder verklig täckning av kompletta grafem; skalära FDF/XFDF-importer läser in vanliga kandidater utan att lägga till en författad rich-text-flagga eller RV
Importer av enbart rich text behåller sin faktiska krävda stilunion i stället för att begära varje familjs vanliga glyph, medan blandade skalära och rich importer lägger till de vanliga kandidater som de skalära fälten kräver
Linux-callback-importer bevarar exakta committed bytes för upprepade rensningar och no-ops med samma värde; autentiserad AES R5/R6, P1/P2/P3 och FieldMDP-policys, avbrott och publiceringsfel behåller det tidigare committade dokumentet
Kör Tests/Linux/Run-ScalarFontFallbackChecks.sh LIBRARY FIXTURES FONTS OUTPUT mot varje färskt byggt nativt ABI-bibliotek; Tests/Linux/HeadlessScalarFontFallback.en-us.md beskriver de genuina signerade indata, den isolerade teckensnittskatalogen med tre familjer och de oberoende glyph-/CMS-kontrollerna
Reproducera konformitetskontrollerna
De publika Windows-runnerna tar emot explicita kataloger för källkod, utmatning, teckensnitt, skalära fixture, rensningsfixture och genuina signerade policymappar; de konsumerar aldrig tyst en tidigare privat proof-katalog
Generera de initiala dokumenten med fyra fält med Tests/Linux/Build-HeadlessTypedFormFixtures.py och skicka sedan dess mixed.pdf till producenterna för skalär- och rensningsfixture
python Tests/CABI/BuildScalarFixtures.py work/typed/mixed.pdf work/scalar
python Tests/CABI/BuildScalarClearFixtures.py work/scalar/scalar.pdf work/clear
Leverera genuina vanliga program med namnen primary-0.ttf, DejaVuSerifCondensed.ttf och DejaVuSans.ttf; regressionsfixture-producenten Tests/Linux/Build-HeadlessRichFontListFixtures.py förbereder det deterministiska Primary-delmängden och alla tolv verkliga stilprogram från en av anroparen angiven DejaVu-teckensnittskatalog
Generera verkliga P1-, P2-, P3- och FieldMDP-dokument med Tests/Linux/Run-HeadlessTypedFormTests-Windows.ps1 och dess krävda katalog för certifikat-/nyckelidentitet; utmatningarna omfattar p1-signed.pdf, p2-signed.pdf, p3-signed.pdf och 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
De äldre regressionsparametrarna tar den befintliga Windows-katalogen för typade formulärfixture och teckensnitt som används av Run-WindowsTypedFormChecks.ps1; de nya skalära kontrollerna granskar också oberoende faktiskt inbäddade program, CID-mappningar, formulärvärden och bevarade signerade ByteRanges
Windows-DLL:no-ops bevarar exakta committed bytes efter att båda callbackerna lyckats; det nativa transaktions-API:t behåller sitt befintliga publiceringsbeteende för förberedda revisioner och rapporterar noll ändrade fält för en semantisk no-op
FDF skiljer en tom val-array från en vald tom exportsträng; den befintliga XFDF-konventionen för tomma värden tolkas mot måloptionslistan och ger inte en förlustfri åtskillnad för alla dokument med tomma exportalternativ
Nativa API:er
- HPDFBuildHeadlessTextFamilyAppearance
- SetTextFieldValueWithFamilies
- SetChoiceFieldValuesWithFamilies
- SetButtonFieldValueWithFamilies
- SetPushButtonAppearanceWithFamilies
Rich-körningars fallback · Windows rich-teckensnittstransport