Supplied-family fallback for scalar fields

Běžná textová pole, comb buňky, display popisky voleb, značky checkboxů a radio, masky hesel i nativní caption pushbuttonů můžou používat tytéž explicitně dodané font rodiny jako rich text, aniž by se změnila jejich skalární formulářová metadata

Dodávejte jednu až šestnáct odlišných nakonfigurovaných popisků a jejich regular TrueType programy a pak zapněte FallbackFontFamilies; výběr pokrývá kompletní grafémy a instalovaná systémová písma nepoužívá

Stávající prosté zalomení, spacing, shaping, bidi, ořez, rotace, automatický sizing, vybrané řádky seznamů i chování exportních stavů zůstávají aktivní; smíšená comb pole si uchovávají původní omezení skalárních buněk a nepřijímají složitý shaping, který původní comb profil odmítá

Smíšená prostá appearance můžou obsahovat podřízené Form i víc skutečně vložených písem, takže konzumujte vrácený počet objektů, namísto předpokladu pevné sedmiobjektové appearance

Windows JSON a callback transport

{
  "schemaVersion": 1,
  "type": "forms.fill",
  "fontFamilies": ["Primary", "Serif", "Sans"],
  "fallbackFontFamilies": true,
  "fields": [
    {"name": "Plain", "value": "A\u03a9"},
    {"name": "Check", "value": "Yes"}
  ]
}

U Windows jobů dodávejte regular font soubor každé nakonfigurované rodiny přes stávající objekt fonts; u hpdf_document_execute_json_v1 vraťte jeho skutečný regular program přes stávající verzovaný font callback i rozšíření IO

Explicitní pojmenovaný fallback vede čistě skalární fill stejnou autentizovanou kandidátní transakcí jako smíšené typované runy; čistě skalární operace vyžádají kandidátní řezy regular a vrátí typedRichText=false s scalarFamilyProfile="supplied-regular-fonts-v1"

Skalární importy FDF a XFDF použijí tutéž cestu dodaných rodin pro text, volby, checkboxy i radio buttony; caption pushbuttonů používají nativní caption API a neimportují se jako skalární exportní stavy buttonů

Windows skalární importy i fill se stejnou hodnotou si uchovávají stávající kontrakt no-op jen hodnoty a zachovávají přesně potvrzené bajty, tedy i read-only pole; novou konfiguraci písma či barvy s existujícím AP nesrovnávají, takže pro explicitní rebuild appearance použijte nativní rodinný setter

Původní typované rich runy si uchovávají stávající porovnávání stylů i appearance; přidání skalárního fallbacku nekvantuje typované velikosti ani barvy ani nemění autorské RV

Před tím, než se aktualizace kontextu stane viditelnou, musí uspět jak callback PDF, tak výsledku; lepivé chyby písem a IO, zrušení, rozpočty, autentizace šifrování i politiky podpisů zachovávají potvrzený graf i atomický souborový výstup

Vymazaná volba s jedním výběrem uloží /V null a prázdné pole indexů; explicitně vybraná prázdná exportní volba si uchová /V () a svůj skutečný index, takže opakovaná mazání i výběry prázdné hodnoty zůstávají odlišené

Legacy prázdnou volbu bez vybraného indexu i bez prázdné exportní volby lze rozpoznat jako no-op jen hodnoty; read-only volbu se skutečně vybraným prázdným exportem vymazat nelze

Nativní Linux JSON a callback transport

Linux verzované operace přijímají tytéž uspořádané volby fontFamilies a fallbackFontFamilies; regular programy se rozřeší přes Fontconfig prostředí operace a dodají nativním rodinným appearance API

Skalární text, comb buňky, popisky voleb, značky checkboxů i radio, masky hesel, file-select pole i explicitní caption pushbuttonů používají skutečné pokrytí po celých grafémech; skalární importy FDF/XFDF načtou kandidáty regular, aniž by přidaly autorský rich-text příznak či RV

Importy jen pro rich si uchovají své skutečné vyžadované sjednocení stylů, místo aby žádaly regular řez každé rodiny, zatímco smíšené skalární i rich importy přidají regular kandidáty vyžadované skalárními poli

Linux callback importy zachovávají přesně potvrzené bajty u opakovaných mazání i no-opů se stejnou hodnotou; autentizované politiky AES R5/R6, P1/P2/P3 a FieldMDP, zrušení i selhání publikace zachovávají dřív potvrzený dokument

Spusťte Tests/Linux/Run-ScalarFontFallbackChecks.sh LIBRARY FIXTURES FONTS OUTPUT proti každé čerstvě postavené nativní ABI knihovně; Tests/Linux/HeadlessScalarFontFallback.en-us.md popisuje skutečné podepsané vstupy, izolovaný třípísmový katalog i nezávislé kontroly glyfů/CMS

Reprodukce kontrol shody

Veřejné Windows runnery přijmou explicitní adresáře zdroje, výstupu, písem, skalární fixtury, fixtury mazání i skutečné podepsané politiky; dřívější soukromý důkazní adresář nikdy tiše nespotřebují

Počáteční čtyřpolová dokumenty vygeneruje Tests/Linux/Build-HeadlessTypedFormFixtures.py a pak jeho mixed.pdf předejte producentům skalární i mazací fixtury

python Tests/CABI/BuildScalarFixtures.py work/typed/mixed.pdf work/scalar
python Tests/CABI/BuildScalarClearFixtures.py work/scalar/scalar.pdf work/clear

Dodávejte skutečné regular programy pojmenované primary-0.ttf, DejaVuSerifCondensed.ttf a DejaVuSans.ttf; producent regresní fixtury Tests/Linux/Build-HeadlessRichFontListFixtures.py připraví deterministický subset Primary a všech dvanáct skutečných style programů z adresáře fontů DejaVu dodaného volajícím

Skutečné dokumenty P1, P2, P3 a FieldMDP vygeneruje Tests/Linux/Run-HeadlessTypedFormTests-Windows.ps1 se svým povinným adresářem identit certifikátu/klíče; jeho výstupy zahrnují p1-signed.pdf, p2-signed.pdf, p3-signed.pdf a 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

Legacy regresní parametry berou stávající Windows adresáře fixtur a písem typovaných formulářů používané Run-WindowsTypedFormChecks.ps1; nové skalární kontroly navíc nezávisle prohlédnou skutečné vložené programy, CID mapy, hodnoty formulářů i zachované podepsané ByteRanges

Windows DLL no-op zachovají přesně potvrzené bajty poté, co uspěly oba callbacky; nativní smíšené transakce taky publikují přesné zdrojové bajty, když jsou všechny aktualizace nezměněné a graf nemá čekající editace, zatímco čekající grafové editace zůstávají v připravené revizi, i když je počet aktualizací polí nulový

FDF odliší prázdné pole výběru od vybraného prázdného exportního řetězce; bezztrátová výměna voleb XFDF použije pro explicitní vymazání namespace kvalifikované rozšíření empty-values, zatímco neoznačená prázdná hodnota si uchovává stávající interpretaci cílové volby

Nativní API

Fallback rich runů · Windows rich font transport