Espaçamento nativo de runs rich text
Aparências rich aplicam espaçamento escrito de letras e de palavras durante o shaping, o ajuste de linhas, a remodelação de linhas físicas, o alinhamento e a pintura, usando os tipos de letra fornecidos e o layout delimitado existente de rich text
<p style="letter-spacing:.12em;word-spacing:-1.25pt">A spaced paragraph</p>
O perfil delimitado de CSS inline aceita normal, inherit, initial, unset, comprimentos pt com sinal, px a 96 dpi, pc, in, cm, mm e em, mais zero sem unidade; em calcula a partir do tamanho final de tipo de letra em cascata do elemento declarante dele e os filhos herdam esse comprimento calculado em pontos
O espaçamento de letras e o de palavras têm ordem de declarações e prioridade important independentes, e o shorthand de tipos de letra preserva ambos os componentes; declarações não suportadas ou inválidas seguem o comportamento existente do descodificador de ignorar
Normal explícito reinicia o espaçamento global correspondente de aparências para zero; modos nativos omitidos mantêm o comportamento existente global de CharacterSpacing e WordSpacing, incluindo o avanço final de carateres dele
Quando o espaçamento explícito de letras ativa um parágrafo, as unidades tipográficas visíveis recebem metade dos valores vizinhos de estilos em cada fronteira interior após a reordenação visual, e as bordas de linhas físicas omitem as metades exteriores; marcas e controlos de formatos invisíveis não consomem espaçamento separado
SPACE e NBSP recebem metade do espaçamento de palavras deles de cada lado do cluster com shaping deles, incluindo um separador seguido de uma marca de combinação; outros separadores de palavras Unicode estão fora deste perfil delimitado
Tracking explícito diferente de zero desativa as substituições opcionais liga, clig, dlig e hlig mantendo ligaduras obrigatórias e kerning; unidades cursivas árabes, Rohingya, Mandaic, Mongóis, N'Ko, Phags-pa e Siríacas adjacentes suprimem o tracking onde esta implementação não pode alongar a ligação em segurança
Espaçamento negativo participa nos bounds reais de tinta de glyphs e no ajuste de prefixos sem assumir que cada prefixo mais comprido é mais largo; o auto-fit escala o espaçamento absoluto em pontos juntamente com o tamanho do tipo de letra, enquanto fatores em escritos permanecem relativos
O alinhamento de linhas com quebra suave usa o advance do conteúdo visível separadamente do advance codificado; fragmentos de espaços à direita que cabem permanecem presentes com os seus offsets de fonte e mapeamentos ToUnicode em vez de serem apagados para centrar ou alinhar uma linha à direita
Separadores soft ASCII podem atravessar fronteiras de estilos ou runs vazios, enquanto o NBSP continua um cluster sem quebra e quebras explícitas de parágrafos retêm o seu tratamento CRLF separado; veja as aparências default de FreeText para o layout de anotações transformado
Runs tipados preservam os valores Double originais deles, V mantém o texto plain escrito e RV escreve o espaçamento em pontos calculado com precisão de viagem de ida e volta; atualizações nativas só de leitura comparam a semântica do valor rich e da aparência resultantes
A conversão decimal de espaçamentos usa arredondamento ao mais próximo, empates ao par, para valores Double finitos; valores RV canónicos normalizam zero negativo para zero e permanecem inalterados por uma segunda descodificação e serialização
Dentro deste perfil delimitado, normal explícito e zero explícito calculam o mesmo espaçamento em pontos e o mesmo RV canónico, tornando atualizações reais equivalentes só de leitura em no-ops semânticos; operações JSON versionadas mantêm os bytes originais da fonte, e o modo legado omitido permanece distinto porque herda as opções globais de aparências
Desde a versão 2.943.1, SaveRichTextFieldUpdatesToFile nativo também publica os bytes originais exatos quando todas as atualizações estão inalteradas e o grafo carregado não tem edições pendentes, incluindo encriptação AES existente e revisões assinadas; edições pendentes do grafo são preservadas no candidato publicado mesmo quando a contagem de atualizações de campos é zero
Reconstrua os consumidores Pascal e C++Builder com registos correspondentes de runs rich e de glyphs moldados e cabeçalhos gerados; as estruturas versionadas de callbacks C e os símbolos exportados permanecem inalterados
Este perfil segue o modelo de espaçamento da CSS 2.2 e as regras de bordas de linhas, unidades tipográficas e shaping do letter spacing do CSS Text e do word spacing do CSS Text, com a cobertura delimitada de separadores e cursivas indicada acima
Modos de espaçamento · JSON tipado · Trecho de shaping com estilo
Math numérico finito suporta expressões de comprimentos calc, min, max e clamp, q, rem e unidades de viewport configuradas explicitamente; comprimentos computados com sinal alimentam o mesmo shaping, ajuste de linhas, pintura e comportamento canónico de valores rich