Native glyph clipping
HPDFRenderHeadlessPagePNG rasterizuje pokrytí vyplněných glyfů dřív, než aplikuje aktivní PDF clip
Samostatný alpha povrch zachytí existující clip uvnitř celočíselných glyfových mezí v device space a násobí to pokrytí s glyfovou maskou, dřív než se aplikuje původní zdroj i blend operátor
Tím se předejde ztraceným glyfovým řádkům na zlomkových hranicích clipu, při zachování W/W*, sud/lichých děr, zakřivených cest, transformovaného textu, alpha, soft mask i patternovaných barev
Kreslení si ponechává PDF cestu a grafický stav volajícího, včetně vnořeného textového a Form rendering stavu
Účtování resource
Oba alpha buffery i odhad glyfového rasteru vstoupí do rozpočtu pracovní paměti dřív, než dojde k alokaci, a surový glyfový raster vstoupí do pixel rozpočtu, i když je na stránce viditelná jen malá část
Surový počet glyfových pixelů se bezpečně násobí jako Int64 a přesně porovnává s nakonfigurovaným pixel limitem dřív, než se alokuje jakýkoli alpha povrch
Bajtový odhad kontroluje zbývající Int64 kapacitu před vynásobením surového počtu glyfových pixelů, tedy i když volající zvedne konfigurovatelné limity pixelů a paměti
Zrušení se dotazuje kolem generování pokrytí i finální kompozice a selhání ponechá cíl beze změny, dokud se úspěšný render nedokončí
Přesnost a verifikace
Obdélníkové clipy se kontrolují proti přesným nezávislým pixelovým plochám s maximálním rozdílem kanálu dva
Testy polygonů a křivek porovnávají glyfovou kompozici proti samostatnému companion clipu solid-fill se stejným limitem
Podkladní rasterizace clipu v Cairo se může lišit od přesné plochy polygonu, včetně zachované trojúhelníkové case s maximálním rozdílem šest na čtyřech pixelech při scale dva
Samostatné obrázky MuPDF a Poppler zaznamenávají svou vlastní rasterizaci písem a clipů, nikoli definují nativní vzorec