Clipping de glyphes natif

HPDFRenderHeadlessPagePNG rastérise la couverture de glyphes remplis avant d'appliquer le clip PDF actif

Une surface alpha séparée capture le clip existant dans les bornes de glyphes entières de l'espace périphérique et multiplie cette couverture avec le masque de glyphe avant d'appliquer la source d'origine et l'opérateur de fusion

Cela évite les lignes de glyphes perdues aux frontières de clip fractionnaires tout en conservant W/W*, les trous à remplissage pair, les tracés courbes, le texte transformé, l'alpha, les masques doux et les couleurs à motifs

Le dessin conserve le chemin PDF et l'état graphique de l'appelant, y compris les états de rendu de texte et de formulaire imbriqués

Comptabilité des ressources

Les deux buffers alpha et le raster de glyphes entrent dans le budget de mémoire de travail avant allocation, et le raster de glyphes brut entre dans le budget de pixels même quand seule une petite partie est visible sur la page

Le nombre brut de pixels de glyphes est multiplié sans risque en Int64 et comparé exactement à la limite de pixels configurée avant toute allocation de surface alpha

L'estimation en octets vérifie la capacité Int64 restante avant de multiplier le nombre brut de pixels de glyphes, y compris quand les appelants relèvent les limites configurables de pixels et de mémoire

L'annulation est interrogée autour de la génération de couverture et de la composition finale, et les échecs laissent la destination inchangée jusqu'à la complétion d'un rendu réussi

Précision et vérification

Les clips rectangulaires sont contrôlés contre des surfaces de pixels indépendantes exactes avec une différence de canal maximale de deux

Les tests de polygones et de courbes comparent la composition de glyphes à un compagnon de clip à remplissage plein séparé avec la même limite

La rastérisation de clip Cairo sous-jacente peut différer de la surface exacte du polygone, cas du triangle conservé compris avec une différence maximale de six sur quatre pixels à l'échelle deux

Les images MuPDF et Poppler séparées enregistrent leur propre rastérisation de polices et de clips plutôt que de définir la formule native

Runners d'acceptation et périmètre de preuves