Fallback de famílias fornecidas para campos escalares
Campos de texto comuns, células comb, rótulos de display de choices, marcas de checkboxes e radios, máscaras de password e captions nativas de pushbuttons podem usar as mesmas famílias de fontes explicitamente fornecidas do rich text, sem mudar os metadados escalares de formulários delas
Forneça um a dezesseis rótulos configurados distintos e os programas regular TrueType deles, e depois habilite FallbackFontFamilies; a seleção cobre graphemes completos e não usa fontes instaladas do sistema
O wrapping plain existente, spacing, shaping, bidi, clipping, rotação, dimensionamento automático, linhas selecionadas de lists e comportamento de estados de export permanecem ativos; campos comb mistos mantêm as restrições originais de células escalares e não aceitam shaping complexo que o perfil comb original rejeita
Aparências plain mistas podem conter Forms filhas e várias fontes realmente embutidas, então consuma a contagem de objetos retornada em vez de assumir uma aparência fixa de sete objetos
Transporte JSON e callbacks do Windows
{
"schemaVersion": 1,
"type": "forms.fill",
"fontFamilies": ["Primary", "Serif", "Sans"],
"fallbackFontFamilies": true,
"fields": [
{"name": "Plain", "value": "A\u03a9"},
{"name": "Check", "value": "Yes"}
]
}
Para jobs do Windows, forneça o arquivo de fonte regular de cada família configurada através do objeto fonts existente; para hpdf_document_execute_json_v1, retorne o programa regular real dela pelo callback versionado existente de fontes e pela extensão IO
Fallback nomeado explícito roteia um fill puramente escalar pela mesma transação autenticada de candidatos que os runs tipados mistos; operações somente escalares solicitam faces candidatas regulares e retornam typedRichText=false com scalarFamilyProfile="supplied-regular-fonts-v1"
Imports escalares de FDF e XFDF usam o mesmo path de famílias fornecidas para texto, choices, checkboxes e radio buttons; captions de pushbuttons usam a API nativa de captions e não são importadas como estados escalares de export de botões
Imports e fills escalares do Windows de mesmo valor retêm o contrato existente de no-op somente de valores e preservam bytes exatos commitados, incluindo campos read-only; eles não comparam uma configuração nova de fonte ou cor com o AP existente, então use um setter nativo de famílias para um rebuild explícito de aparências
Runs rich tipados originais retêm a comparação existente deles de estilos e aparências; adicionar fallback escalar não quantiza tamanhos nem cores tipados nem muda o RV autorado
Callbacks de PDF e resultado precisam ter sucesso ambos antes de uma atualização de contexto ficar visível; erros sticky de fontes e IO, cancelamento, orçamentos, autenticação de criptografia e políticas de assinaturas preservam o grafo commitado e a saída atômica de arquivos
Um choice de seleção única limpo armazena /V null e um array vazio de índices; uma opção de export vazio explicitamente selecionada retém /V () e o índice real dela, de modo que limpezas repetidas e seleções de valores vazios permaneçam distintas
Um choice legado em branco sem índice selecionado e sem opção de export vazio pode ser reconhecido como um no-op somente de valores; um choice read-only com um export vazio realmente selecionado não pode ser limpo
Transporte JSON e callbacks nativos do Linux
Operações versionadas do Linux aceitam as mesmas opções ordered fontFamilies e fallbackFontFamilies; programas regulares são resolvidos pelo ambiente Fontconfig da operação e fornecidos às APIs nativas de aparências de famílias
Texto escalar, células comb, rótulos de choices, marcas de checkboxes e radios, máscaras de password, campos de seleção de arquivos e captions explícitas de pushbuttons usam cobertura real de graphemes completos; imports escalares FDF/XFDF carregam candidatos regulares sem adicionar uma flag autorada de rich text nem RV
Imports somente rich retêm a união real exigida de estilos deles em vez de solicitar a face regular de cada família, enquanto imports mistos de escalares e rich adicionam os candidatos regulares exigidos pelos campos escalares
Imports de callbacks do Linux preservam bytes exatos commitados para limpezas repetidas e no-ops de mesmo valor; AES R5/R6 autenticado, políticas P1/P2/P3 e FieldMDP, cancelamento e falhas de publicação retêm o documento previamente commitado
Execute Tests/Linux/Run-ScalarFontFallbackChecks.sh LIBRARY FIXTURES FONTS OUTPUT contra cada biblioteca ABI nativa recém-compilada; Tests/Linux/HeadlessScalarFontFallback.en-us.md descreve as entradas assinadas genuínas, o catálogo isolado de três fontes e as checagens independentes de glyphs/CMS
Reproduzir as checagens de conformidade
Os runners públicos do Windows aceitam diretórios explícitos de origem, saída, fontes, fixtures escalares, fixtures de limpeza e políticas assinadas genuínas; eles nunca consomem silenciosamente um diretório anterior de provas privadas
Gere os documentos iniciais de quatro campos com Tests/Linux/Build-HeadlessTypedFormFixtures.py, e depois passe o mixed.pdf dele aos produtores de fixtures escalares e de limpeza
python Tests/CABI/BuildScalarFixtures.py work/typed/mixed.pdf work/scalar
python Tests/CABI/BuildScalarClearFixtures.py work/scalar/scalar.pdf work/clear
Forneça programas regulares genuínos chamados primary-0.ttf, DejaVuSerifCondensed.ttf e DejaVuSans.ttf; o produtor de fixtures de regressão Tests/Linux/Build-HeadlessRichFontListFixtures.py prepara o subset Primary determinístico e todos os doze programas reais de estilos a partir de um diretório DejaVu fornecido pelo chamador
Gere documentos reais P1, P2, P3 e FieldMDP com Tests/Linux/Run-HeadlessTypedFormTests-Windows.ps1 e o diretório obrigatório de identidades de certificado/chave dele; as saídas dele incluem 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
Os parameters legados de regressão recebem os diretórios existentes de fixtures e fontes de formulários tipados do Windows usados por Run-WindowsTypedFormChecks.ps1; as checagens escalares novas também inspecionam de forma independente programas realmente embutidos, mapas CID, valores de formulários e ByteRanges assinados retidos
No-ops de DLLs do Windows preservam bytes exatos commitados depois que ambos os callbacks têm sucesso; as transações nativas mistas também publicam os bytes exatos da origem quando todas as atualizações estão inalteradas e o grafo não tem edições pendentes, enquanto edições pendentes do grafo permanecem na revisão preparada mesmo quando a contagem de atualizações de campos é zero
FDF distingue um array vazio de seleção de uma string de export vazio selecionada; a troca sem perdas de choices XFDF usa a extensão qualificada por namespace empty-values para uma limpeza explícita, enquanto um valor vazio sem marca retém a interpretação existente dele de opção alvo
APIs nativas
- HPDFBuildHeadlessTextFamilyAppearance
- SetTextFieldValueWithFamilies
- SetChoiceFieldValuesWithFamilies
- SetButtonFieldValueWithFamilies
- SetPushButtonAppearanceWithFamilies
Fallback de runs rich · Transporte rich de fontes no Windows