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

Rich-körningars fallback · Windows rich-teckensnittstransport