Fallback de famílias fornecidas para campos escalares
Campos ordinários de texto, células comb, etiquetas de apresentação de escolhas, marcas de checkboxes e radios, máscaras de palavras-passe e captions nativas de pushbuttons podem usar as mesmas famílias de tipos de letra explicitamente fornecidas que o rich text, sem alterar os metadados escalares de formulários delas
Forneça entre uma e dezasseis etiquetas configuradas distintas e os programas TrueType regulares delas e depois ative FallbackFontFamilies; a seleção cobre graphemes completos e não usa tipos de letra instalados do sistema
O wrap plain existente, espaçamento, shaping, bidi, clipping, rotação, dimensionamento automático, linhas selecionadas de listas e comportamento de estados de exportação 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 rejeite
Aparências plain mistas podem conter Forms filhos e vários tipos de letra realmente incorporados, por isso consuma a contagem devolvida de objetos em vez de assumir uma aparência fixa de sete objetos
Transport JSON e de callbacks de Windows
{
"schemaVersion": 1,
"type": "forms.fill",
"fontFamilies": ["Primary", "Serif", "Sans"],
"fallbackFontFamilies": true,
"fields": [
{"name": "Plain", "value": "A\u03a9"},
{"name": "Check", "value": "Yes"}
]
}
Para trabalhos de Windows, forneça o ficheiro de tipo de letra regular de cada família configurada através do objeto fonts existente; para hpdf_document_execute_json_v1, devolva o programa regular real dele através da extensão existente versionada de callbacks e IO de tipos de letra
O fallback nomeado explícito encaminha um fill puramente escalar pela mesma transação autenticada de candidatos que runs tipados mistos; operações apenas escalares pedem faces candidatas regulares e devolvem typedRichText=false com scalarFamilyProfile="supplied-regular-fonts-v1"
Importações escalares FDF e XFDF usam o mesmo caminho de famílias fornecidas para texto, escolhas, checkboxes e radio buttons; captions de pushbuttons usam a API nativa de captions e não são importadas como estados escalares de exportação de botões
Importações e fills escalares de Windows com o mesmo valor mantêm o contrato existente delas de no-op apenas de valores e preservam bytes confirmados exatos, incluindo campos só de leitura; elas não comparam uma configuração nova de tipo de letra ou de cor com o AP existente, por isso use um setter nativo de famílias para uma reconstrução explícita de aparências
Runs rich tipados originais mantêm a comparação existente deles de estilos e aparências; acrescentar fallback escalar não quantiza tamanhos nem cores tipados nem altera o RV escrito
Callbacks de PDF e de resultados têm ambos de ter sucesso antes de uma atualização de contexto se tornar visível; erros persistentes de tipos de letra e de IO, cancelamento, orçamentos, autenticação de encriptação e políticas de assinaturas preservam o grafo confirmado e a saída atómica em ficheiro
Uma escolha de seleção única limpa guarda /V null e um array vazio de índices; uma opção de exportação vazia explicitamente selecionada mantém /V () e o índice real dela, pelo que limpezas repetidas e seleções de valores vazios permanecem distintas
Uma escolha legada em branco sem índice selecionado e sem opção de exportação vazia pode ser reconhecida como um no-op apenas de valores; uma escolha só de leitura com uma exportação vazia realmente selecionada não pode ser limpa
Transport JSON e de callbacks nativo de Linux
Operações versionadas de Linux aceitam as mesmas opções ordered de fontFamilies e fallbackFontFamilies; os programas regulares são resolvidos através do ambiente Fontconfig da operação e fornecidos às APIs nativas de aparências de famílias
Texto escalar, células comb, etiquetas de escolhas, marcas de checkboxes e radios, máscaras de palavras-passe, campos de seleção de ficheiros e captions explícitas de pushbuttons usam cobertura real de graphemes completos; importações escalares FDF/XFDF carregam candidatos regulares sem acrescentar uma flag escrita de rich text nem RV
Importações apenas rich mantêm a união real exigida de estilos delas em vez de pedir a face regular de todas as famílias, enquanto importações mistas de escalares e rich acrescentam os candidatos regulares exigidos pelos campos escalares
Importações por callbacks de Linux preservam bytes confirmados exatos 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 confirmado
Corra Tests/Linux/Run-ScalarFontFallbackChecks.sh LIBRARY FIXTURES FONTS OUTPUT contra cada biblioteca nativa da ABI recém-compilada; Tests/Linux/HeadlessScalarFontFallback.en-us.md descreve as entradas realmente assinadas, o catálogo isolado de três tipos de letra e as verificações independentes de glyphs/CMS
Reproduzir as verificações de conformidade
Os runners públicos de Windows aceitam diretórios explícitos de fontes, saídas, tipos de letra, fixtures escalares, fixtures de limpeza e políticas realmente assinadas; eles nunca consomem silenciosamente um diretório anterior privado de provas
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 por quem chama
Gere documentos reais de P1, P2, P3 e FieldMDP com Tests/Linux/Run-HeadlessTypedFormTests-Windows.ps1 e o diretório exigido dele de identidades de certificados/chaves; 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 parâmetros de regressão legada recebem os diretórios existentes de fixtures e de tipos de letra de formulários tipados de Windows usados por Run-WindowsTypedFormChecks.ps1; as novas verificações escalares também inspecionam de forma independente programas realmente incorporados, mapas CID, valores de formulários e ByteRanges assinados retidos
No-ops de DLLs de Windows preservam bytes confirmados exatos depois de ambos os callbacks terem sucesso; as transações nativas mistas também publicam os bytes exatos da fonte 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
O FDF distingue um array vazio de seleções de uma string de exportação vazia selecionada; a troca sem perdas de escolhas XFDF usa a extensão namespace-qualificada de empty-values para uma limpeza explícita, enquanto um valor vazio sem marca mantém a interpretação existente dele de opção alvo
APIs nativas
- HPDFBuildHeadlessTextFamilyAppearance
- SetTextFieldValueWithFamilies
- SetChoiceFieldValuesWithFamilies
- SetButtonFieldValueWithFamilies
- SetPushButtonAppearanceWithFamilies
Fallback de runs rich · Transport rich de tipos de letra de Windows