Fallback rich de tipos de letra de famílias fornecidas em Windows

Trabalhos de ficheiros de Windows e hpdf_document_execute_json_v1 suportam fallback opt-in entre famílias de tipos de letra fornecidas por quem chama para importações rich de FDF/XFDF e runs rich tipados originais; o fallback seleciona uma família que cubra o grapheme inteiro, incluindo partes que atravessem fronteiras de estilos rich

O default permanece estrito: fallbackFontFamilies é false e um glyph exigido em falta falha normalmente; fornecer uma lista não seleciona silenciosamente tipos de letra instalados do sistema

Pedido tipado

{
  "schemaVersion": 1,
  "type": "forms.fill",
  "fontFamilies": ["Primary", "Sans", "Serif"],
  "fallbackFontFamilies": true,
  "fields": [{"name": "Input", "richTextRuns": [
    {"text": "A\u03a9a\u0301", "fontStyle": "regular",
     "fontFamilyCandidates": ["Unavailable", "Primary", "Serif", "Sans"]}
  ]}]
}

fontFamilies contém entre uma e dezasseis etiquetas configuradas distintas; letras ASCII comparam-se sem maiúsculas e minúsculas e os restantes code points Unicode comparam-se exatamente; fontFamilies e fallbackFontFamilies ao nível de campos sobrepõem os defaults delas da operação para forms.fill

Um run tipado pode especificar entre uma e dezasseis fontFamilyCandidates ordered quando o fallback de famílias configuradas está ativo; nomes desconhecidos permanecem nos metadados escritos e são ignorados durante a resolução de programas fornecidos; se fontFamily estiver ausente, o primeiro candidato declarado configurado torna-se a família do run

Uma lista declarada de candidatos controla a preferência antes da ordem de famílias configuradas; neste exemplo, um tipo de letra Primary sem Omega seleciona Serif antes de Sans quando ambas as alternativas fornecidas cobrem o grapheme inteiro

Importação de XML rich

Para forms.import, use as propriedades ao nível da operação fontFamilies e fallbackFontFamilies; o descodificador XHTML delimitado preserva cada lista inline CSS de famílias e o compositor real de aparências aplica essa ordem aos programas de tipos de letra fornecidos

<span style="font-family:Primary,Serif,Sans;font-weight:bold">AΩá</span>

Ambas as strings FDF RV e o value-richtext XFDF usam este caminho; o perfil existente inline-xhtml-font-families-v1 permanece inalterado, enquanto o comportamento real de fallback é reportado separadamente

Bytes reais de tipos de letra

O callback existente de tipos de letra THPDFCABIFormDataOperationV1 recebe cada etiqueta canónica configurada de famílias e o identificador de estilos de regular, bold, italic ou boldItalic; ele devolve a tabela original delimitada de leitura de IO e os bytes dele são copiados para armazenamento próprio

Trabalhos de ficheiros leem os mesmos programas de famílias/estilos a partir do objeto fonts existente deles; para cada estilo rich usado, o binding carrega programas candidatos configurados antes de preparar a transação; recursos correspondentes são partilhados através de campos tipados

Os layouts V1 de IO e de operações e os símbolos exportados existentes permanecem inalterados; orçamentos agregados de recursos, bytes de tipos de letra, memória, campos, objetos, resultados e saídas permanecem impostos; falhas de callbacks permanecem persistentes e checkpoints de cancelamento cobrem parsing, carregamento, preparação e publicação

Transações e limites

Autenticação AES, preservação de revisões assinadas, DocMDP, bloqueios de campos e verificações só de leitura usam a transação autenticada existente; valores rich de mesma entrada, estilos, tipos de letra e semântica de aparências podem produzir um no-op byte-idêntico, incluindo campos só de leitura

Callbacks de PDF e de JSON têm ambos de ter sucesso antes de o contexto atual mudar; descarte os bytes candidatos emitidos após qualquer status diferente de zero; trabalhos de ficheiros preparam o candidato completo antes de substituir o alvo

formDataExchange.suppliedFamilyFallback reporta default=false, richOnly=false, scalarText=true, choiceLabels=true, checkAndRadioMarks=true, comb=true, passwordMask=true, wholeGrapheme=true, fontFamilyCandidates=true, maxCandidates=16 e candidateOrder=declared-before-configured

O fallback escalar de famílias fornecidas também cobre texto ordinário, etiquetas de escolhas e marcas de checkboxes ou radios através de trabalhos de Windows e callbacks versionados; setters nativos de captions de pushbuttons usam as APIs documentadas deles conscientes de famílias

Preenchimento rich direto de trabalhos carregados, a extensão mais antiga de handles/callbacks de tipos de letra de trabalhos, layout CSS arbitrário, folhas de estilo externas e mais intercâmbio FDF/XFDF de anotações, ficheiros, ações ou incrementos continuam a ser trabalho separado

Tópicos relacionados

Preenchimento tipado rich original, Troca de dados de formulários em Windows, Transport versionado de tipos de letra, Famílias fornecidas nativas