Native glyph clipping

HPDFRenderHeadlessPagePNG rasteriserar fylld glyftäckning innan det aktiva PDF-klippet tillämpas

En separat alfayta fångar det befintliga klippet inom ändliga enhetsrymds glyfgränser och multiplicerar den täckningen med glyfmasken innan ursprunglig källa och blandningsoperator tillämpas

Detta undviker förlorade glyfrader vid fraktionella klippgränser samtidigt som W/W*, even-odd-hål, böjda sökvägar, transformerad text, alfa, softmasker och mönstrade färger behålls

Ritningen behåller anroparens PDF-sökväg och grafiktillstånd, inklusive kapslad text- och Form-renderingstillstånd

Resursbokföring

Både alfabuffertar och glyfrasteruppskattningen går in i arbetsminnesbudgeten före allokering, och den råa glyfrastern går in i pixelbudgeten även när bara en liten del är synlig på sidan

Det råa glyfpixelantalet multipliceras säkert som Int64 och jämförs exakt med den konfigurerade pixelgränsen innan någon alfayta allokeras

Byteuppskattningen kontrollerar återstående Int64-kapacitet innan det råa glyfpixelantalet multipliceras, inklusive när anropare höjer de konfigurerbara pixel- och minnesgränserna

Avbrott polleras runt täckningsgenerering och slutlig komposition, och fel lämnar destinationen oförändrad tills lyckad rendering slutförts

Precision och verifiering

Rektangulära klipp kontrolleras mot exakta oberoende pixelytan med en maximal kanalskillnad på två

Polygon- och kurvtester jämför glyfkomposition mot en separat solid-utfyllnad-klippskompanjon med samma gräns

Den underliggande Cairo-klipprasteriseringen kan skilja sig från exakt polygonyta, inklusive det behållna triangelfallet med maximal skillnad sex vid fyra pixlar vid skala två

Separata MuPDF- och Poppler-bilder registrerar sin egen typsnitts- och klipprasterisering i stället för att definiera den nativa formeln

Acceptanskörare och bevisscope