Espaciado de runs de rich text nativo
Las appearances rich aplican el espaciado de letras y palabras del autor durante el shaping, el ajuste de líneas, la reformación de líneas físicas, la alineación y el pintado, usando las fuentes suministradas y el layout rich-text acotado existente
<p style="letter-spacing:.12em;word-spacing:-1.25pt">A spaced paragraph</p>
El perfil inline CSS acotado acepta normal, inherit, initial, unset, longitudes pt con signo, px a 96 dpi, pc, in, cm, mm y em, más el cero sin unidad; em se calcula a partir del tamaño de fuente final en cascada de su elemento declarante y los hijos heredan esa longitud en puntos calculada
El letter y el word spacing tienen orden de declaración y prioridad important independientes, y el font shorthand preserva ambos componentes; las declaraciones no soportadas o inválidas siguen el comportamiento existente de ignorar del decodificador
El normal explícito reinicia el espaciado global correspondiente de la appearance a cero; los modos nativos omitidos retienen el comportamiento global existente de CharacterSpacing y WordSpacing, incluido su avance de carácter final
Cuando el letter spacing explícito activa un párrafo, las unidades tipográficas visibles reciben la mitad de los valores de estilo vecinos en cada límite interior tras el reordenamiento visual, y los bordes de líneas físicas omiten las mitades exteriores; los marks y los controles de formato invisibles no consumen espaciado separado
SPACE y NBSP reciben la mitad de su word spacing a cada lado de su cluster con shaping, incluido un separador seguido de un signo combinante; los demás separadores de palabras Unicode están fuera de este perfil acotado
El tracking explícito distinto de cero deshabilita las sustituciones opcionales liga, clig, dlig y hlig conservando las ligaduras requeridas y el kerning; las unidades cursivas árabes adyacentes de Rohingya, Mandaic, Mongolian, N'Ko, Phags-pa y Syriac suprimen el tracking allí donde esta implementación no puede alargar la conexión de forma segura
El espaciado negativo participa en los bounds reales de tinta de glifos y en el ajuste de prefijos sin asumir que cada prefijo más largo es más ancho; el auto-fit escala el espaciado absoluto en puntos junto con el tamaño de fuente, mientras que los factores em del autor permanecen relativos
La alineación de líneas de soft wrap usa el avance del contenido visible por separado del avance codificado; los fragmentos de espacios finales que caben permanecen presentes con sus offsets de origen y mapeos ToUnicode en lugar de eliminarse para centrar o alinear a la derecha una línea
Los separadores suaves ASCII pueden abarcar límites de estilo o runs vacíos, mientras que NBSP sigue siendo un cluster de no separación y los saltos de párrafo explícitos retienen su manejo CRLF separado; vea las appearances por defecto de FreeText para el layout de anotaciones transformado
Los runs tipados preservan sus valores Double originales, V retiene el texto plano del autor y RV escribe el espaciado en puntos calculado con precisión de round trip; las actualizaciones nativas de solo lectura comparan el rich value resultante y la semántica de appearances
La conversión decimal del espaciado usa round-to-nearest, ties-to-even para valores Double finitos; los valores RV canónicos normalizan el cero negativo a cero y permanecen sin cambios ante una segunda decodificación y serialización
Dentro de este perfil acotado, el normal explícito y el cero explícito calculan el mismo espaciado en puntos y RV canónico, haciendo que las actualizaciones reales equivalentes de solo lectura sean no-ops semánticos; las operaciones JSON versionadas retienen los bytes de origen originales, y el modo legacy omitido permanece distinto porque hereda las opciones globales de appearance
Desde la versión 2.943.1, SaveRichTextFieldUpdatesToFile nativo también publica los bytes originales exactos cuando todas las actualizaciones están sin cambios y el grafo cargado no tiene ediciones pendientes, incluido el cifrado AES existente y las revisiones firmadas; las ediciones pendientes del grafo se preservan en la candidata publicada incluso cuando el recuento de actualizaciones de campos es cero
Reconstruya los consumidores Pascal y C++Builder con los records rich-run y shaped-glyph y las cabeceras generadas coincidentes; las estructuras de callbacks C versionadas y los símbolos exportados no cambian
Este perfil sigue el modelo de espaciado de CSS 2.2 y las reglas de line-edge, unidades tipográficas y shaping de CSS Text letter spacing y CSS Text word spacing, con la cobertura acotada de separadores y cursivas indicada arriba
Modos de espaciado · JSON tipado · Span de shaping con estilo
La matemática numérica finita soporta expresiones de longitud calc, min, max y clamp, q, rem y unidades de viewport configuradas explícitamente; las longitudes calculadas con signo alimentan el mismo shaping, ajuste de líneas, pintado y comportamiento de rich values canónicos