Clipping nativo de glifos
HPDFRenderHeadlessPagePNG rasteriza la cobertura de glifos rellenos antes de aplicar el clip PDF activo
Una superficie alfa separada captura el clip existente dentro de los bounds enteros de espacio de dispositivo de los glifos y multiplica esa cobertura con la máscara de glifo antes de aplicar la fuente original y el operador de blend
Esto evita filas de glifos perdidas en límites de clip fraccionarios manteniendo W/W*, huecos even-odd, paths curvos, texto transformado, alfa, soft masks y colores con patrón
El dibujo conserva el path PDF y el estado de gráficos del llamador, incluyendo el estado de renderizado de texto y Forms anidados
Contabilidad de recursos
Tanto los buffers alfa como el raster de glifos estimado entran en el presupuesto de memoria de trabajo antes de la asignación, y el raster crudo de glifos entra en el presupuesto de píxeles incluso cuando solo una pequeña parte es visible en la página
El conteo crudo de píxeles de glifos se multiplica de forma segura como Int64 y se compara exactamente con el límite de píxeles configurado antes de asignar cualquier superficie alfa
La estimación de bytes comprueba la capacidad Int64 restante antes de multiplicar el conteo crudo de píxeles de glifos, incluso cuando los llamadores elevan los límites configurables de píxeles y memoria
La cancelación se sondea alrededor de la generación de cobertura y la composición final, y las fallas dejan el destino sin cambios hasta que el renderizado termine con éxito
Precisión y verificación
Los clips rectangulares se comprueban contra áreas de píxeles independientes exactas con una diferencia máxima de canal de dos
Las pruebas de polígonos y curvas comparan la composición de glifos contra un compañero de clip de relleno sólido separado con el mismo límite
La rasterización de clips de Cairo subyacente puede diferir del área exacta del polígono, incluyendo el caso retenido del triángulo con una diferencia máxima de seis a cuatro píxeles en escala dos
Las imágenes separadas de MuPDF y Poppler registran su propia rasterización de fuentes y clips en lugar de definir la fórmula nativa