Native rich-text numeric math
Nativní XHTML rich-text dekodér vyhodnotí konečné výrazy calc, min, max a clamp ve font-size, velikosti font shorthandu i výšce za lomítkem, line-height, letter-spacing i 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>
Tenhle příklad spočítá výšku řádku 12 bodů, letter spacing 2 body a word spacing 3 body s využitím písem dodaných volajícím i stávajícího layoutu odstavců
Aritmetika v závorkách podporuje sčítání, odčítání, násobení a dělení se shodnými dimenzemi u součtů; násobení a dělení sleduje mocniny délek, tedy i vykrácení ve výrazu jako calc(20pt / 10pt * 6pt)
Binární sčítání a odčítání vyžadují bílé znaky na obou stranách; min a max přijmou kompatibilní čárkou oddělené výrazy a clamp vezme tři kompatibilní výrazy, přičemž při obrácených mezích vyhrává spodní mez
Podporované délkové jednotky jsou pt, px při 96 dpi, pc, in, cm, mm, q, em, rem, vw, vh, vmin a vmax; desetinná i exponentová čísla použijí stávající konečnou desetinnou konverzi
Font-size em a procenta použijí obklopující spočtenou velikost písma; line-height em a procenta i spacing em použijí finální kaskádovanou velikost písma deklarujícího elementu, dřív před děděním
rem použije spočtenou velikost písma body; vlastní font-size výraz body použije počáteční root velikost z DefaultStyle.FontSize, zatímco jeho ostatní metriky použijí jeho finální spočtenou velikost
Viewport jednotky použijí explicitní položky width a height v MediaFeatures; ty hostovské rozměry jsou délky kompatibilní s body a em či rem hostovské rozměry použijí MediaInitialFontSize se svým stávajícím 12bodovým fallbackem při nule
Hostovské rozměry, rozlišení i nenulové počáteční media velikosti písem si uchovávají stávající spodní mez 0.000001 a horní mez 1000000; přesné hodnoty na spodní hranici použijí konzistentně sdílené porovnání Double napříč kompilátorovými cíli, zatímco hodnoty pod mezí zůstávají odmítnuté
vw vyžaduje width, vh height a vmin či vmax obojí; chybějící rozměry deklaraci nepřijmou, bez jakékoli inference z desktopu, velikosti stránky či viewportu prohlížeče
Line-height se může spočítat na bezjednotkový zděděný koeficient či délku v bodech; spočtené záporné matematické výšky se ořežou na nulu, zatímco font-size si uchovává své stávající kladné přijímací rozpětí a spacing znaménkové délky v bodech
Letter i word spacing vyžadují délkové výsledky; jejich stávající syntaxe holé nuly zůstává dostupná a procentuální spacing není součástí tohoto profilu
Stávající per-property kaskáda, important priority i explicitní dědění platí; odložená matematika řádků i spacingu použije vyhrávající finální velikost písma a font shorthand přijme mezery a dělení uvnitř vyvážených matematických funkcí
Neplatné font deklarace zachovají přijatý fallback; přijatá syntakticky vyhrávající metrika, kterou nejde spočítat na konečný ohraničený výsledek, vyhodí EHPDFHeadlessRichTextCodecError, dřív než se vrátí runy
Konvertované hodnoty i uložené aritmetické výsledky binary64 musí mít velikost nejvýše 1e100, s mocninami délek od -64 do 64; stávající rozpočty font-size i metrik pořád platí
Násobení a dělení dělá preflight extrémních hodnot dřív před operací, takže zamaskované přetečení plovoucí řády nemůže uniknout; finální kontroly použijí tutéž mez Double na všech kompilátorových cílech, tedy i u subnormálních dělitelů a hodnot na hranici profilu
Matematické skeny respektují MaxNodes a rekurzivní výrazy MaxDepth; zrušení si uchovává EHPDFOperationCancelled a nevrací žádné částečné dekódované runy, přičemž čerstvé i znovu použité decode volby zůstávají poté použitelné
Spočtené bodové hodnoty napájejí skutečná typovaná appearance i kanonickou serializaci RV; rich importy FDF/XFDF default profilu použijí tentýž dekodér, bez transportu vlastních viewport profilů
Ten konečný profil neposkytuje další CSS matematické funkce, číselné konstanty, escapované názvy matematických funkcí či jednotek, metrikou odvozené font jednotky, logické či dynamické viewport jednotky, vlastní vlastnosti ani obecný CSS layout
Aritmetiku i pravidla root-relative řídí podporované části CSS Values and Units Level 4; výše uvedený ohraničený podporovaný profil definuje aktuální chování knihovny
Nativní dekodér · Decode volby · Line height · Run spacing · Font shorthand