Fallback dostarczonych rodzin dla pól skalarnych

Zwykłe pola text, komórki comb, etykiety display choice, znaczniki checkbox i radio, maski haseł i natywne podpisy przycisków mogą używać tych samych jawnie dostarczonych rodzin fontów co rich text bez zmieniania skalarnych metadanych formularza

Dostarcz od jedną do szesnastu odrębnych skonfigurowanych etykiet i ich programy regular TrueType, potem włącz FallbackFontFamilies; selekcja obejmuje kompletne grafemy i nie używa zainstalowanych fontów systemowych

Istniejące zwykłe zawijanie, odstępy, shapowanie, bidi, przycinanie, rotacja, automatyczne wymiarowanie, zaznaczone wiersze list i zachowanie stanów export pozostają aktywne; mieszane pola comb zachowują oryginalne ograniczenia komórek skalarnych i nie przyjmują złożonego shapowania odrzucanego przez oryginalny profil comb

Mieszane zwykłe wyglądy mogą zawierać formy dzieci i kilka rzeczywistych osadzonych fontów, więc konsumuj zwróconą liczbę obiektów zamiast zakładać stały wygląd siedmiu obiektów

Transport JSON i callbacki Windows

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

Dla zadań Windows dostarcz plik fontu regular każdej skonfigurowanej rodziny przez istniejący obiekt fonts; dla hpdf_document_execute_json_v1 zwróć jej rzeczywisty program regular przez istniejący wersjonowany callback fontów i rozszerzenie IO

Jawny nazwany fallback kieruje czysto skalarną wypełnienie przez tę samą uwierzytelnioną transakcję kandydata co mieszane typowane runy; operacje tylko skalarne żądają kandydackich twarzy regular i zwracają typedRichText=false z scalarFamilyProfile="supplied-regular-fonts-v1"

Skalarne importy FDF i XFDF używają tej samej ścieżki dostarczonych rodzin dla tekstu, wyborów, checkboxów i radio; podpisy pushbutton używają natywnego API podpisów i nie są importowane jako skalarne stany export przycisków

Skalarne importy Windows o tych samych wartościach i wypełnienia zachowują istniejący kontrakt no-op tylko wartości i zachowują dokładne zatwierdzone bajty, włącznie z polami tylko do odczytu; nie porównują nowego fontu ani konfiguracji koloru z istniejącym AP, więc użyj natywnego settera rodziny dla jawnego przebudowania wyglądu

Oryginalne typowane runy rich zachowują swoje istniejące porównanie stylu i wyglądu; dodanie skalarnego fallbacku nie kwantyzuje typowanych rozmiarów ani kolorów i nie zmienia autorskiego RV

Callbacki PDF i wyniku muszą oba powodzić się, zanim aktualizacja kontekstu stanie się widoczna; lepkie błędy fontu i IO, anulowanie, budżety, uwierzytelnienie szyfrowania i polityki podpisów zachowują zatwierdzony graf i atomowe wyjście plikowe

Wyczyszczone pole choice pojedynczego wyboru przechowuje /V null i pustą tablicę indeksów; jawnie zaznaczona pusta opcja export zachowuje /V () i swój rzeczywisty indeks, więc powtórzone czyszczenia i zaznaczenia pustej wartości pozostają odrębne

Legacy puste pole choice bez zaznaczonego indeksu i bez opcji pustego export może zostać rozpoznane jako no-op tylko wartości; pole choice tylko do odczytu z rzeczywistym zaznaczonym pustym exportem nie może zostać wyczyszczone

Natywny transport JSON i callbacki Linux

Wersjonowane operacje Linux przyjmują te same uporządkowane opcje fontFamilies i fallbackFontFamilies; programy regular są rozwiązywane przez środowisko Fontconfig operacji i dostarczane natywnym API wyglądów rodzin

Skalarny tekst, komórki comb, etykiety choice, znaczniki checkbox i radio, maski haseł, pola file-select i jawne podpisy pushbutton używają rzeczywistego pokrycia kompletnych grafemów; skalarny import FDF/XFDF wczytuje kandydatów regular bez dodawania autorskiej flagi rich-text albo RV

Importy tylko rich zachowują swoją rzeczywistą wymaganą unię stylów zamiast żądać twarzy regular każdej rodziny, podczas gdy mieszane importy skalarne i rich dodają kandydatów regular wymaganych przez pola skalarne

Importy callback Linux zachowują dokładne zatwierdzone bajty dla powtórzonych czyszczeń i no-op o tych samych wartościach; uwierzytelnione AES R5/R6, polityki P1/P2/P3 i FieldMDP, anulowanie i niepowodzenia publikacji zachowują poprzedni zatwierdzony dokument

Uruchom Tests/Linux/Run-ScalarFontFallbackChecks.sh LIBRARY FIXTURES FONTS OUTPUT względem każdej świeże zbudowanej natywnej biblioteki ABI; Tests/Linux/HeadlessScalarFontFallback.en-us.md opisuje prawdziwe podpisane wejścia, izolowany katalog trzech fontów i niezależne kontrole glifów/CMS

Odtwórz kontrole zgodności

Publiczne runery Windows przyjmują jawne katalogi źródła, wyjścia, fontów, fiksatury skalarnych, fiksatury czyszczenia i prawdziwych podpisanych polityk; nigdy po cichu nie konsumują poprzedniego prywatnego katalogu dowodów

Wygeneruj początkowe dokumenty czterech pól przez Tests/Linux/Build-HeadlessTypedFormFixtures.py, potem przekaż jego mixed.pdf producentom fiksatur skalarnych i czyszczenia

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

Dostarcz rzeczywiste programy regular o nazwach primary-0.ttf, DejaVuSerifCondensed.ttf i DejaVuSans.ttf; producent fiksatury regresji Tests/Linux/Build-HeadlessRichFontListFixtures.py przygotowuje deterministyczny podzbiór Primary i wszystkie dwanaście rzeczywistych programów stylów z dostarczonego przez wywołującego katalogu fontów DejaVu

Wygeneruj rzeczywiste dokumenty P1, P2, P3 i FieldMDP przez Tests/Linux/Run-HeadlessTypedFormTests-Windows.ps1 i jego wymagany katalog tożsamości certyfikat/klucz; jego wyjścia obejmują p1-signed.pdf, p2-signed.pdf, p3-signed.pdf i 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

Parametry regresji legacy przyjmują istniejące katalogi fiksatur i fontów typowanych formularzy Windows używane przez Run-WindowsTypedFormChecks.ps1; nowe kontrole skalarne również niezależnie sprawdzają rzeczywiste osadzone programy, mapy CID, wartości formularzy i zachowane podpisane ByteRange

Skalarne no-op DLL Windows zachowują dokładne zatwierdzone bajty po powodzeniu obu callbacków; natywne transakcje mieszane także publikują dokładne bajty źródła, gdy wszystkie aktualizacje są niezmienione i graf nie ma oczekujących edycji, podczas gdy oczekujące edycje grafu pozostają w przygotowanej rewizji nawet przy zerowej liczbie aktualizacji pól

FDF rozróżnia pustą tablicę zaznaczeń od zaznaczonego pustego łańcucha export; bezstratna wymiana choice XFDF używa kwalifikowanego przestrzenią nazw rozszerzenia empty-values dla jawnego czyszczenia, podczas gdy nieoznaczona pusta wartość zachowuje istniejącą interpretację opcji celu

Natywne API

Fallback runów rich · Transport fontów rich Windows