Native glyph clipping

HPDFRenderHeadlessPagePNG rastruje wypełnione pokrycie glifów przed nałożeniem aktywnego clipa PDF

Odrębna powierzchnia alpha przechwytuje istniejący clip wewnątrz całkowitych granic glifów w przestrzeni urządzenia i mnoży to pokrycie z maską glifu, zanim zostaną zastosowane oryginalne źródło i operator blendowania

Unika się w ten sposób utraconych rzędów glifów na ułamkowych granicach clipa przy zachowaniu W/W*, dziur even-odd, zakrzywionych ścieżek, transformowanego tekstu, alpha, miękkich masek i wzorcowanych kolorów

Rysowanie zachowuje ścieżkę PDF i stan grafiki wywołującego, łącznie z zagnieżdżonym stanem renderowania tekstu i Form

Resource accounting

Oba bufory alpha i szacunek rastra glifów wchodzą do budżetu pamięci roboczej przed alokacją, a surowy raster glifów wchodzi do budżetu pikseli nawet, gdy tylko mała część jest widoczna na stronie

Surowa liczba pikseli glifów jest bezpiecznie mnożona jako Int64 i dokładnie porównywana ze skonfigurowanym limitem pikseli przed alokacją jakiejkolwiek powierzchni alpha

Szacunek bajtów sprawdza pozostałą pojemność Int64 przed pomnożeniem surowej liczby pikseli glifów, także gdy wywołujący podnoszą konfigurowalne limity pikseli i pamięci

Anulowanie jest odpytywane wokół generowania pokrycia i kompozycji finalnej, a awarie pozostawiają cel niezmieniony do ukończenia udanego renderowania

Precision and verification

Prostokątne clipe są sprawdzane względem dokładnych niezależnych obszarów pikselowych z maksymalną różnicą kanałów równą dwa

Testy wielokątów i krzywych porównują kompozycję glifów z odrębnym towarzyszem clipa wypełnieniem pełnym o tym samym limicie

Pod spodem rastracja clipa Cairo może różnić się od dokładnego obszaru wielokąta, łącznie z zachowanym przypadkiem trójkąta o maksymalnej różnicy sześciu na czterech pikselach przy skali dwa

Odrębne obrazy MuPDF i Poppler zapisują własną rastrację fontów i clipów, nie definiując natywnego wzoru

Runery akceptacyjne i zakres dowodów