Native Cloudy-Annotation-Rahmen
HPDFRenderHeadlessPagePNG synthetisiert einen temporären Cloudy-Rahmen für Square-, Circle-, Polygon- und FreeText-Annotationen ohne normale Appearance
Eine gelieferte normale Appearance behält die Präzedenz, und dem Quell-PDF werden keine erzeugten AP, Fonts oder Graphics-State-Ressourcen hinzugefügt
Kontinuierliche Konturen
Das BE-Dictionary wählt S=C und Intensität I von 0 bis 2, mit dem Standard-Default 0; BS-Breite und Dash-Muster bleiben gemäß ISO 32000-1 Tabelle 167 wirksam
Clouds nutzen eine geschlossene kubische Scallop-Kontur mit winding-bewussten äußeren Normalen, begrenztem Curved-Path-Flattening und deterministischem Perimeter-Abstand
Rechtecke und Ellipsen behalten RD-Geometrie; Polygone konsumieren Vertices oder Line-/Cubic-Path-Operationen, einschließlich im und gegen den Uhrzeigersinn sowie konkaver Formen
Stroke- und Fill-Farben, CA/ca-Opazität, Seitenrotation, UserUnit und die Annotation-Form-BBox bleiben wirksam; Intensität null, Breite null und fehlende Stroke-Farbe behalten den gewöhnlichen Appearance-Pfad
FreeText nutzt den bestehenden Unicode-Layout-Builder mit Content-Bounds im Inset vom inneren Cloud-Ink-Rand, ohne die Quell-RD zu ändern
Limits und Abnahme
Kontur-Speicher, Subdivision-Tiefe, Operationen, Tokens, dekodierte Bytes, Working Memory und Output-Bytes sind begrenzt; Abbruch und fehlgeschlagenes Rendering bewahren Ziel-Bytes und Quellobjekte
Die normalen Nicht-GUI-Einstiegspunkte und festen geometrischen Abnahme-Formeln sind in Tests/Linux/HeadlessCairoCloudAnnotations.en-us.md dokumentiert
Unabhängige analytische Begleiter decken Breite, Intensität, Dash, Opazität, Rotation und UserUnit in mehreren Skalen ab; echte MuPDF- und Poppler-Evidenz bleibt separat, weil der Standard keinen exakten Scallop-Stil vorschreibt
Gewöhnliche Missing-Appearance-Fixtures sind PDF 1.7, während PDF-2.0-Path-Fixtures explizit Missing-Appearance-Recovery üben
Eingebettete CFF-Default-Fonts, zusätzliche FreeText-DA-Operatoren und exakte Fraktional-Dreieck-Text-Abdeckung bleiben separate Arbeiten
Siehe Annotation-Fallback und Line-Captions und Relief-Rahmen für verwandtes Rendering-Verhalten
Erzeugte Annotation-Font-Views teilen sich einen unveränderlichen, budgetierten dekodierten Buffer innerhalb jeder Annotation, während wiederholtes Font-Parsing weiterhin sein temporäres Working Memory reserviert und Abbruch abfragt