Estilos e captions Booleanos automáticos de XFA
Unidades: HPDFXFA e HPDFXFAHeadless
HPDFXFAWriteHeadlessPDF consome propriedades efetivas de checkButtons e cria streams nativas reais de aparências de checkboxes e radios a partir do layout XFA real
Marcadores e contornos
O tamanho de checkButtons tem por defeito 10pt e controla a região quadrada de marcadores dentro da região de conteúdo do campo; medições explícitas de tamanhos, margens de campos e de UI, e alinhamento horizontal e vertical de parágrafos determinam a posição dele
As formas quadrada e redonda determinam o contorno; a marca afirmada por defeito é uma cruz para um contorno quadrado e um círculo preenchido para um contorno redondo, seguindo a especificação checkButton do XFA 3.3
Marcas explícitas de check, circle, cross, diamond, square e star usam caminhos vetoriais reais; elas não dependem do tipo de letra fornecido conter um símbolo de checkbox
A primeira borda de UI fornece a espessura, a cor e a visibilidade dela; o contorno por defeito é preto com 0.5pt de largura, enquanto a cor efetiva do tipo de letra do campo fornece a cor da marca afirmada
O marcador encolhe para a região restante de conteúdo quando o tamanho configurado dele excede essa região; uma caption ou margem que não deixe região de conteúdo causa falha na preparação do candidato
Captions escalares Unicode
Texto escalar de captions retém Unicode e delimitadores exatamente e torna-se um Form XObject real com tipo de letra incorporado referenciado por todas as aparências off, on e neutras desse widget
A caption partilha uma aparência e um grafo de tipos de letra únicos através dos estados dela, e as unidades UTF-16 dela são contadas uma vez por widget em TXFAHeadlessPDFResult.GlyphUnits
Left e right reservam uma largura de caption, enquanto top e bottom reservam uma altura; uma reserva omitida ou zero usa os avanços reais de glyphs e as métricas de linhas do tipo de letra fornecido para calcular a extensão natural da caption
Captions inline precedem o marcador e ignoram uma reserva explícita; margens de captions recolhem o texto dentro da região alocada a ele
Um tamanho e cor de preenchimento de captions de tipos de letra sobrepõem o tamanho e a cor do campo; o alinhamento de parágrafos de captions sobrepõe o alinhamento do campo, enquanto CaptionFontFamilies pode fornecer faces reais de estilos e famílias nomeadas
Captions hidden e inactive não ocupam região nem alocam grafo de tipos de letra; captions invisible retêm a região delas sem pintar nem alocar glyphs de captions
O consumidor de captions rich consome adicionalmente XHTML efetivo, faces reais configuradas de estilos e seleção de famílias, métricas mistas de linhas e alturas com wrap de captions
Terceiros estados de checkboxes
Quando allowNeutral está ativo, o terceiro item guardado é a exportação neutra da checkbox; valores correspondentes mantêm um /V nativo distinto e um widget /AS com a entrada própria dele de /AP /N
A aparência neutra desenha o contorno vazio e a mesma caption; ela não desenha a marca afirmada
O array /Opt da checkbox mantém uma entrada de exportação on para o widget único dele, como exige o modelo de campos de botões PDF; um terceiro estado guardado de aparências não acrescenta uma segunda opção de widget
Exportações vazias, o nome reservado Off e nomes começando por XFAOn recebem aliases nativos de estados sem colisões usando os bytes UTF-8 deles como hexadecimal em maiúsculas após XFAOn; a terceira exportação original pode ser recuperada a partir do nome de estado guardado dela
Um membro de radio ignora um terceiro item e mantém o dicionário existente dele de aparências de dois estados e a identidade de grupos de âmbitos de templates/dados dele
O adaptador persiste o grafo inicial de estados; a operação posterior nativa de edição de botões de uma aplicação tem o contrato próprio dela de estados e de aparências
Propriedades nativas de instâncias e transações
Os defaults de checkButtons de tamanho, forma, marca e allowNeutral estão disponíveis através do schema nativo do runtime; propriedades ausentes de bordas e de margens de checkButtons podem ser criadas através da transação existente de propriedades
Propriedades efetivas por instância repetida de checkButtons, captions, tipos de letra e margens sobrevivem a SaveToBytes e controlam imediatamente o widget PDF correspondente criado automaticamente; a primeira instância repetida mantém as propriedades independentes dela
Fonte literal UTF-8 de eventos e valores Unicode de bindings mantêm os scalars deles antes de o XDP guardado ser convertido, incluindo texto de captions alterado por um evento nativo JavaScript; veja HPDFXFAExecuteJavaScriptEvent
Falha de scripts restaura o XML nativo exato antes da criação, e falhas de preparação preservam posição, comprimento e bytes do destino; orçamentos de glyphs, objetos e tipos de letra e cancelamento mantêm a fronteira transacional do criador automático
Fontes de aceitação
Tests/Linux/XFAHeadlessBooleanStylesTests.pas produz pares reais de marcas, captions, estados neutros e reservados, alterações de scripts de instâncias repetidas e casos de rollback sem UI de leitores
Tests/Linux/Verify-XFAHeadlessBooleanStyles.py verifica dicionários reais guardados de estados, recursos partilhados de tipos de letra, posicionamento de captions, texto Unicode e píxeis distintos de marcadores com pypdf e MuPDF
Os metadados Boolean de callbacks descrevem as dicas aditivas de transports consumidas pelo criador nativo