Native rich-text run spacing

Wyglądy rich stosują autorskie odstępy liter i słów podczas shapingu, dopasowania linii, przekształcania fizycznych linii, wyrównania i malowania, używając dostarczonych fontów i istniejącego ograniczonego layoutu rich text

<p style="letter-spacing:.12em;word-spacing:-1.25pt">A spaced paragraph</p>

Ograniczony profil inline CSS akceptuje normal, inherit, initial, unset, ze znakiem długości pt, px przy 96 dpi, pc, in, cm, mm i em, plus zero bez jednostki; em przelicza z finalnego skaskadowanego rozmiaru fontu swojego elementu deklarującego, a dzieci dziedziczą tę obliczoną długość punktową

Odstępy liter i słów mają niezależną kolejność deklaracji i priorytet important, a shorthand fontu zachowuje oba komponenty; deklaracje nieobsługiwane albo niepoprawne podążają za istniejącym zachowaniem ignorowania dekodera

Jawny normal resetuje odpowiadający globalny odstęp wyglądu do zera; pominięte natywne tryby zachowują istniejące zachowanie globalnych CharacterSpacing i WordSpacing, łącznie z jego przyrostem znaku końcowego

Gdy jawny odstęp liter aktywuje akapit, widoczne jednostki typograficzne dostają połówki sąsiednich wartości stylów na każdej wewnętrznej granicy po wizualnym przestawieniu, a krawędzie fizycznych linii pomijają połówki zewnętrzne; znaki i niewidzialne kontrolki formatu nie konsumują odrębnych odstępów

SPACE i NBSP dostają połówki swojego odstępu słów po każdej stronie swojego ukształtowanego klastra, łącznie z separatorem następującym po znaku łączącym; inne separatory słów Unicode są poza tym ograniczonym profilem

Niezerowy jawny tracking wyłącza opcjonalne podstawienia liga, clig, dlig i hlig, zachowując ligatury wymagane i kerning; sąsiednie kursywne jednostki arabskie, Rohingya, Mandaic, mongolskie, N'Ko, Phags-pa i syryjskie wyciszają tracking tam, gdzie ta implementacja nie może bezpiecznie wydłużyć połączenia

Ujemne odstępy uczestniczą w rzeczywistych granicach tuszu glifów i dopasowaniu prefiksów bez zakładania, że każdy dłuższy prefiks jest szerszy; auto-fit skaluje absolutne odstępy punktowe razem z rozmiarem fontu, podczas gdy autorskie czynniki em pozostają względne

Wyrównanie miękkie zawijanych linii używa posuwu widocznej zawartości osobno od zakodowanego posuwu; fragmenty spacji końcowych, które się mieszczą, pozostają obecne ze swoimi offsetami źródła i mapowaniami ToUnicode zamiast być usuwane w celu wyśrodkowania albo wyrównania linii do prawej

Miękkie separatory ASCII mogą rozciągać się na granice stylów albo puste runy, podczas gdy NBSP pozostaje nierozdzielającym klastrem, a jawne łamania akapitów zachowują osobną obsługę CRLF; zobacz domyślne wyglądy FreeText dla transformowanego layoutu adnotacji

Typowane runy zachowują oryginalne wartości Double, V zachowuje autorski tekst zwykły, a RV zapisuje obliczone odstępy punktowe z precyzją round-trip; natywne aktualizacje tylko do odczytu porównują wynikową semantykę wartości rich i wyglądu

Konwersja dziesiętna odstępów używa round-to-nearest, ties-to-even dla skończonych wartości Double; kanoniczne RV normalizują ujemne zero do zera i pozostają niezmienione przez drugi dekodowanie i serializację

Wewnątrz tego ograniczonego profilu jawny normal i jawne zero przeliczają się na ten sam odstęp punktowy i kanoniczne RV, czyniąc rzeczywiste równoważne aktualizacje read-only semantycznymi no-opami; wersjonowane operacje JSON zachowują oryginalne bajty źródła, a pominięty tryb legacy pozostaje odrębny, bo dziedziczy globalne opcje wyglądu

Od wersji 2.943.1 natywny SaveRichTextFieldUpdatesToFile też publikuje dokładne oryginalne bajty, gdy wszystkie aktualizacje są niezmienione, a załadowany graf nie ma oczekujących edycji, łącznie z istniejącym szyfrowaniem AES i podpisanymi rewizjami; oczekujące edycje grafu są zachowywane w publikowanym kandydacie nawet przy zerowej liczbie aktualizacji pól

Przebuduj konsumentów Pascal i C++Builder z pasującymi rekordami rich-run i ukształtowanych glifów oraz wygenerowanymi nagłówkami; wersjonowane struktury callbacków C i eksportowane symbole są niezmienione

Ten profil podąża za modelem odstępów w CSS 2.2 i regułami krawędzi linii, jednostek typograficznych i shapingu w CSS Text letter spacing i CSS Text word spacing, z ograniczonym powyżej pokryciem separatorów i kursywy

Tryby odstępów · Typowane JSON · Stylizowany span shapingu

Skończona matematyka liczbowa wspiera wyrażenia długości calc, min, max i clamp, q, rem i jawnie skonfigurowane jednostki viewportu; obliczone długości ze znakiem zasilają ten sam shaping, dopasowanie linii, malowanie i kanoniczne zachowanie wartości rich