安全 SVG 彩色字形渲染
DrawRegisteredColorGlyph 将受限的 OpenType SVG 字形文档转换为有界可复用的 PDF Form XObject,而无需启动浏览器、脚本引擎或外部 SVG 运行时
原生配置文件
该配置文件接受 svg 和 g 容器以及 path、rect、circle、ellipse、line、polyline 和 polygon 几何
路径数据支持绝对和相对的移动、直线、水平、垂直、三次、平滑三次、二次、平滑二次、椭圆弧和闭合命令,二次段与弧段会转换为有界的三次 PDF 曲线
纯色和有界的矢量渐变可以随填充规则、实线或渐变描边样式、不透明度、裁剪路径、Alpha 或 Luminosity 软遮罩、可见性、变换以及本地 #id 复用一起通过组继承
PNG 和 JPEG 图像节点只接受有界的 Base64 数据载荷,并注册为 Image XObject,PNG 的 alpha 保留在软遮罩中
纯 UTF-8 和 gzip 压缩的 SVG 表文档使用相同的有界路径
安全与回退
解析器将压缩输入限制在 8 MiB,展开输入限制在 32 MiB,生成的 PDF 运算符限制在 16 MiB,元素限制在 4,096,嵌套限制在 64,路径值限制在 100,000
文档类型、脚本、事件属性、外部资源、不支持的数据媒体类型、@import、外部 url() 引用、外部 use 目标和不受支持的元素,在注册之前一律失败关闭
渐变展开、本地复用、遮罩、嵌套和生成的操作符同样受解析器预算约束;遮罩使用有界的透明度组,拒绝递归引用,且最多允许八个活动的遮罩引用
图像限制在 128 个节点、每维 16,384 像素、总计 16,777,216 像素;完整的资源和文本边界参见 SVG Form XObject 导入 配置文件
当原生校验得不到安全结果时,OnColorGlyphRasterize 接收原始 SVG 资源,并继续负责应用程序所需的任何更广泛的 SVG 功能集
放置
SVG 视口按保持纵横比的统一缩放映射到请求的 font-size 方形中,SVG 向下的 Y 坐标转换为 PDF 向上的 Y 坐标,Form XObject 锚定在字形基线上