Veilige SVG-kleurglyph-rendering
DrawRegisteredColorGlyph vertaalt een beperkt OpenType-SVG-glyphdocument naar een begrensde, herbruikbare PDF Form XObject zonder een browser, scriptengine of externe SVG-runtime te starten
Native profile
Het profiel accepteert de containers svg en g plus de geometrie path, rect, circle, ellipse, line, polyline en polygon
Paddata ondersteunt absolute en relatieve move-, line-, horizontal-, vertical-, cubic-, smooth cubic-, quadratic-, smooth quadratic-, elliptical arc- en close-commando's, waarbij quadratic- en arc-segmenten worden omgezet naar begrensde kubische PDF-curves
Vaste kleuren en begrensde vectorgradients kunnen via groepen worden overgeërfd, samen met fill-regels, effen of gradient-lijnstijlen, dekking, clip-paden, Alpha- of Luminosity-softmasks, zichtbaarheid, transformaties en hergebruik van lokale #id's
PNG- en JPEG-afbeeldingsknooppunten worden alleen als begrensde Base64-datapayloads geaccepteerd en geregistreerd als Image XObjects, waarbij PNG-alfa in een softmask behouden blijft
Platte UTF-8- en gzip-gecomprimeerde SVG-tabeldocumenten gebruiken hetzelfde begrensde pad
Veiligheid en teugval
De parser begrenst gecomprimeerde invoer op 8 MiB, uitgevouwen invoer op 32 MiB, gegenereerde PDF-operators op 16 MiB, elementen op 4.096, nesting op 64 en padwaarden op 100.000
Documenttypes, scripts, event-attributen, externe resources, niet-ondersteunde data-mediatypes, @import, externe url()-verwijzingen, externe use-doelen en niet-ondersteunde elementen falen gesloten vóór de registratie
Gradientuitbreiding, lokaal hergebruik, masking, nesting en gegenereerde operators blijven gebonden aan dezelfde parserbudgetten; masks gebruiken begrensde transparantiegroepen, verwerpen recursieve verwijzingen en staan maximaal acht actieve maskverwijzingen toe
Afbeeldingen zijn beperkt tot 128 knooppunten, 16.384 pixels per dimensie en in totaal 16.777.216 pixels; zie het SVG Form XObject-import-profiel voor de volledige resource- en tekstgrenzen
Wanneer native validatie geen veilig resultaat oplevert, ontvangt OnColorGlyphRasterize de originele SVG-asset en blijft verantwoordelijk voor elke bredere SVG-functionaliteit die de toepassing nodig heeft
Placement
De SVG-viewport wordt met een uniforme, aspect-bewarende schaal op de gevraagde font-size-vierkant afgebeeld, SVG-omlaag-Y-coördinaten worden naar PDF-omhoog-Y-coördinaten omgezet en de Form XObject wordt op de glyph-baseline verankerd