Matematica numerica del rich text nativo

Il decoder di rich text nativo XHTML valuta espressioni finite di calc, min, max e clamp in font-size, dimensione dello shorthand dei font con altezza dopo la barra, line-height, letter-spacing e word-spacing

<body xmlns="http://www.w3.org/1999/xhtml" style="font-size:10pt;line-height:calc(1rem + 2pt)">
  <p style="letter-spacing:calc(.1em + 1pt);word-spacing:clamp(1pt, 3pt, 4pt)">Spaced text</p>
</body>

Questo esempio calcola un'altezza di riga di 12 punti, una letter spacing di 2 punti e una word spacing di 3 punti usando i font forniti dal caller e il layout di paragrafo esistente

L'aritmetica tra parentesi supporta addizione, sottrazione, moltiplicazione e divisione con dimensioni corrispondenti per le somme; moltiplicazione e divisione tracciano le potenze di lunghezza, inclusa la cancellazione in un'espressione come calc(20pt / 10pt * 6pt)

Addizione e sottrazione binarie richiedono spazio bianco su entrambi i lati; min e max accettano espressioni compatibili separate da virgole, e clamp prende tre espressioni compatibili, con il suo limite inferiore che vince quando i limiti sono invertiti

Le unità di lunghezza supportate sono pt, px a 96 dpi, pc, in, cm, mm, q, em, rem, vw, vh, vmin e vmax; i numeri decimali ed esponenziali usano la conversione decimale finita esistente

Il em e le percentuali di font-size usano la dimensione calcolata del font che racchiude; il em e le percentuali di line-height e il em della spaziatura usano la dimensione finale in cascata del font dell'elemento dichiarante prima dell'ereditarietà

rem usa la dimensione calcolata del font del body; l'espressione font-size del body stesso usa la dimensione radice iniziale da DefaultStyle.FontSize, mentre le sue altre metriche usano la sua dimensione calcolata finale

Le unità viewport usano voci esplicite di width e height in MediaFeatures; queste dimensioni host sono lunghezza compatibili in punti, e le dimensioni host in em o rem usano MediaInitialFontSize con il suo fallback esistente a 12 punti quando è zero

Dimensioni host, risoluzione e dimensioni iniziali non nulle del media font conservano i limiti esistenti inferiore 0.000001 e superiore 1000000; i valori esatti del limite inferiore usano un confronto Double condiviso in modo uniforme tra i target dei compilatori, mentre i valori sotto il limite restano rifiutati

vw richiede width, vh richiede height, e vmin o vmax richiedono entrambi; le dimensioni mancanti lasciano la dichiarazione non ammessa, senza inferenze su desktop, dimensione di pagina o viewport del browser

Line-height può calcolare a un fattore ereditato senza unità o a una lunghezza in punti; le altezze matematiche negative calcolate si troncano a zero, mentre font-size conserva il suo esistente intervallo di ammissione positiva e la spaziatura conserva lunghezze in punti con segno

Letter e word spacing richiedono risultati di lunghezza; la loro esistente sintassi di zero semplice resta disponibile, e la spaziatura percentuale non fa parte di questo profilo

Si applicano la cascata esistente per proprietà, le priorità important e l'ereditarietà esplicita; la matematica differita di righe e spaziatura usa la dimensione finale del font vincente, e lo shorthand dei font accetta spazi e divisioni dentro funzioni matematiche bilanciate

Le dichiarazioni di font non valide preservano un fallback ammesso; una metrica vincente ammessa sintatticamente che non può calcolare a un risultato finito limitato solleva EHPDFHeadlessRichTextCodecError prima che i run vengano restituiti

I valori convertiti e i risultati di aritmetica binary64 memorizzati devono avere grandezza al massimo 1e100, con potenze di lunghezza da -64 a 64; i budget esistenti di font-size e metriche continuano ad applicarsi

Moltiplicazione e divisione preverificano i valori estremi prima dell'operazione così un overflow in virgola mobile non mascherato non può sfuggire; le verifiche finali usano lo stesso limite Double su tutti i target dei compilatori, inclusi divisori subnormali e valori al bordo del profilo

Le scansioni matematiche rispettano MaxNodes e le espressioni ricorsive rispettano MaxDepth; la cancellazione conserva EHPDFOperationCancelled e non restituisce run decodificati parziali, con le opzioni di decode fresche e riutilizzate che restano utilizzabili dopo

I valori in punti calcolati alimentano appearance tipizzate effettive e la serializzazione RV canonica; gli import rich FDF/XFDF del profilo predefinito usano lo stesso decoder senza trasportare profili viewport personalizzati

Questo profilo finito non fornisce altre funzioni matematiche CSS, costanti numeriche, nomi di funzioni o unità con escape, unità di font derivate da metriche, unità viewport logiche o dinamiche, custom properties o layout CSS generale

L'aritmetica e le regole relative alla radice seguono le porzioni supportate di CSS Values and Units Level 4; il profilo supportato limitato sopra definisce il comportamento attuale della libreria

Decoder nativo · Opzioni di decode · Altezza di riga · Spaziatura dei run · Shorthand dei font