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