Run-avstånd i native rich text

Rich-utseenden tillämpar skapat bokstavs- och ordavstånd under formning, radanpassning, omformning av fysiska rader, justering och målning, med de angivna typsnitten och den befintliga avgränsade rich-text-layouten

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

Den avgränsade inline-CSS-profilen accepterar normal, inherit, initial, unset, signerade pt, px vid 96 dpi, pc, in, cm, mm och em-längder samt enhetslös noll; em beräknas från det slutliga kaskaderade teckenstorleken hos sitt deklarerande element och barn ärver den beräknade punktlängden

Bokstavs- och ordavstånd har oberoende deklarationsordning och important-prioritet, och typsnittets shorthand bevarar båda komponenterna; deklarationer utan stöd eller ogiltiga följer avkodarens befintliga ignoreringsbeteende

Explicit normal nollställer motsvarande globala utseendeavstånd; utelämnade nativa lägen behåller det befintliga globala beteendet för CharacterSpacing och WordSpacing, inklusive dess avslutande tecken-advance

När explicit bokstavsavstånd aktiveras i ett stycke får synliga typografiska enheter hälften av närliggande stilvärden vid varje inre gräns efter visuell omordning, och fysiska radkanter utelämnar de yttre halvorna; diakritiska tecken och osynliga formatkontroller förbrukar inte separat avstånd

SPACE och NBSP får hälften av sitt ordavstånd på varje sida om sitt formade kluster, även när en separator följs av ett kombinerande tecken; övriga Unicode-ordseparatorer ligger utanför denna avgränsade profil

Explicit tracking skild från noll inaktiverar valfria substitutioner av liga, clig, dlig och hlig men behåller obligatoriska ligaturer och kerning; angränsande kursiva enheter för arabiska, rohingya, mandaic, mongoliska, n'ko, phags-pa och syriska trycker ner trackingen där denna implementation inte säkert kan förlänga förbindelsen

Negativt avstånd ingår i faktiska glyfbläckgränser och prefixanpassning utan antagandet att varje längre prefix är bredare; auto-anpassning skalar absolut punktbaserat avstånd tillsammans med teckenstorleken medan skapade em-faktorer förblir relativa

Typade runs bevarar sina ursprungliga Double-värden, V behåller skapad enkel text och RV skriver beräknat punktbaserat avstånd med tur-och-retur-precision; nativa skrivskyddade uppdateringar jämför det resulterande rich-värdet och utseendesemantiken

Decimalomvandling av avstånd använder avrundning till närmaste med ties-to-even för ändliga Double-värden; kanoniska RV-värden normaliserar negativ noll till noll och förblir oförändrade av en andra avkodning och serialisering

Inom denna avgränsade profil ger explicit normal och explicit noll samma punktbaserade avstånd och samma kanoniska RV, vilket gör faktiskt ekvivalenta skrivskyddade uppdateringar till semantiska no-ops; versionerade JSON-operationer bevarar de ursprungliga källbytesen, och det utelämnade äldre läget förblir distinkt eftersom det ärver de globala utseendealternativen

Den befintliga transaktionen SaveRichTextFieldUpdatesToFile kan lägga till en revision även när dess semantiska uppdateringsantal är noll; versionerade JSON-operationer behåller sitt separata exakta no-op-kontrakt per byte

Bygg om Pascal- och C++Builder-konsumenter med matchande poster för rich-runs och formade glyfer samt genererade headrar; de versionerade C-callback-strukturerna och exporterade symbolerna är oförändrade

Denna profil följer avståndsmodellen i CSS 2.2 samt reglerna för radkanter, typografiska enheter och formning i CSS Text letter spacing och CSS Text word spacing, med den avgränsade täckningen av separatorer och kursiv skrift som anges ovan

Avståndslägen · Typat JSON · Formningsspann med stil

Ändlig numerisk matematik stöder calc-, min-, max- och clamp-längduttryck, q, rem och uttryckligt konfigurerade viewport-enheter; signerade beräknade längder matar samma formnings-, radanpassnings-, målnings- och kanoniska rich-värdesbeteende