Native rich-text numerisk matematik
Den native XHTML rich text-dekoder evaluerer endelige calc-, min-, max- og clamp-udtryk i font-size, font shorthand størrelse og skråstregs-højde, line-height, letter-spacing og 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>
Dette eksempel beregner 12 points linjehøjde, 2 points tegnafstand og 3 points ordafstand med kalderens leverede fonts og eksisterende afsnitslayout
Parenteseret aritmetik understøtter addition, subtraktion, multiplikation og division med matchende dimensioner for summer; multiplikation og division sporer længdepotenser, inklusive cancellation i et udtryk som calc(20pt / 10pt * 6pt)
Binær addition og subtraktion kræver whitespace på begge sider; min og max accepterer kompatible kommaseparerede udtryk, og clamp tager tre kompatible udtryk, hvor dens nedre grænse vinder, når grænserne er byttet om
Understøttede længdeunits er pt, px ved 96 dpi, pc, in, cm, mm, q, em, rem, vw, vh, vmin og vmax; decimal- og eksponenttal bruger den eksisterende endelige decimalkonvertering
Font-size em og procenter bruger det omsluttende elements beregnede fontstørrelse; line-height em og procenter samt spacing em bruger det deklarerende elements endelige kaskaderede fontstørrelse inden nedarvning
rem bruger den beregnede body-fontstørrelse; bodyens egen font-size-udtryk bruger den indledende rodstørrelse fra DefaultStyle.FontSize, mens dens andre metrics bruger dens endelige beregnede størrelse
Viewport-units bruger eksplicitte bredde- og højdeindgange i MediaFeatures; disse host-dimensioner er point-kompatible længder, og em- eller rem-host-dimensioner bruger MediaInitialFontSize med dens eksisterende 12-points-fallback ved nul
Host-dimensioner, opløsning og nonzero indledende media-fontstørrelser beholder den eksisterende nedre grænse på 0,000001 og øvre grænse på 1000000; eksakte nedre grænseværdier bruger en delt Double-sammenligning konsistent på tværs af compiler-mål, mens værdier under grænsen fortsat afvises
vw kræver bredde, vh kræver højde, og vmin eller vmax kræver begge; manglende dimensioner efterlader erklæringen ikke-admitt uden desktop-, sidestørrelses- eller browser viewport-inferens
Linjehøjde kan beregnes til en unitless nedarvet faktor eller en punktlængde; beregnede negative matematikhøjder klemmes til nul, mens font-size beholder sit eksisterende positive admissionsinterval, og spacing beholder signede punktlængder
Bogstav- og ordafstand kræver længderesultater; deres eksisterende bare nul-syntaks forbliver tilgængelig, og procentspacing er ikke en del af denne profil
Den eksisterende per-property-kaskade, important-prioriteter og eksplicit nedarvning gælder; udskudt linje- og spacing-matematik bruger den vindende endelige fontstørrelse, og font-shorthand accepterer mellemrum og division inde i balancerede matematiske funktioner
Ugyldige font-erklæringer bevarer en admitt fallback; en syntaktisk admitt vindende metric, som ikke kan beregnes til et endeligt afgrænset resultat, udløser EHPDFHeadlessRichTextCodecError, før runs returneres
Konverterede værdier og gemte binary64 aritmetiske resultater skal have størrelse på højst 1e100 med længdepotenser fra -64 til 64; eksisterende font-size- og metrics-budgetter gælder stadig
Multiplikation og division preflyer ekstreme værdier inden operationen, så et umaskeret floating-point overflow ikke kan undslippe; endelige tjek bruger samme Double-grænse på alle compiler-mål, inklusive subnormale divisorer og værdier ved profilgrænsen
Matematik-scanninger honorerer MaxNodes, og rekursive udtryk honorerer MaxDepth; cancellation beholder EHPDFOperationCancelled og returnerer ingen delvist dekodede runs, med friske og genbrugte decode-options fortsat brugbare bagefter
Beregnede punktværdier føder rigtige typede appearances og kanonisk RV-serialisering; default-profil rich FDF/XFDF-importer bruger samme dekoder uden at transportere custom viewport-profiler
Denne endelige profil leverer ikke andre CSS matematikfunktioner, numeriske konstanter, escapede matematikfunktions- eller unitnavne, metric-afledte font-units, logiske eller dynamiske viewport-units, custom properties eller generelt CSS-layout
Aritmetik- og rodrelative regler følger de understøttede dele af CSS Values and Units Level 4; den afgrænsede understøttede profil ovenfor definerer bibliotekets aktuelle adfærd
Native dekoder · Decode-options · Linjehøjde · Run-afstand · Font shorthand