Safe SVG Colour Glyph Rendering

DrawRegisteredColorGlyph는 브라우저, 스크립트 엔진, 외부 SVG 런타임을 띄우지 않으면서 제한적인 OpenType SVG 글리프 문서를 한도가 있는 재사용 가능한 PDF Form XObject로 변환합니다

Native profile

이 프로파일은 svg와 g 컨테이너와 함께 path, rect, circle, ellipse, line, polyline, polygon 지오메트리를 받아들입니다

path 데이터는 절대/상대 move, line, horizontal, vertical, cubic, smooth cubic, quadratic, smooth quadratic, elliptical arc, close 명령을 지원하며, quadratic/arc 세그먼트는 상한이 있는 cubic PDF 곡선으로 변환됩니다

단색과 한도가 있는 벡터 그라디언트는 채우기 규칙, 단색 또는 gradient stroke 스타일, 불투명도, clip path, Alpha 또는 Luminosity soft mask, 가시성, 변환, 지역 #id 재사용과 함께 그룹을 통해 상속될 수 있습니다

PNG과 JPEG 이미지 노드는 한도가 있는 Base64 data 페이로드로만 받아들여지며 Image XObject로 등록되고, PNG alpha는 soft mask에 유지됩니다

평문 UTF-8과 gzip 압축 SVG 테이블 문서는 같은 상한 경로를 씁니다

안전성 및 폴백

파서는 압축 입력 8MiB, 확장 입력 32MiB, 생성 PDF 연산자 16MiB, 요소 4,096개, 중첩 64단계, path 값 100,000개로 제한합니다

문서 타입, 스크립트, 이벤트 속성, 외부 리소스, 지원하지 않는 data 미디어 타입, @import, 외부 url() 참조, 외부 use 대상, 지원하지 않는 요소는 등록 전에 fail-closed로 거부됩니다

gradient 확장, 로컬 재사용, 마스킹, 중첩, 생성 연산자는 같은 파서 예산의 대상이며, mask는 한도가 있는 transparency group을 사용하고 재귀 참조를 거부하며 활성 mask 참조를 최대 여덟 개까지 허용합니다

이미지는 128개 노드, 차원당 16,384픽셀, 총 16,777,216픽셀로 제한됩니다. 전체 리소스와 텍스트 경계는 SVG Form XObject Import 프로파일을 참고하세요

네이티브 검증이 안전한 결과를 내지 못하면 OnColorGlyphRasterize가 원본 SVG 자산을 받고, 애플리케이션이 필요로 하는 더 넓은 SVG 기능은 여전히 그쪽 책임입니다

Placement

SVG viewport는 균일한 종횡비 유지 스케일로 요청 폰트 크기 정사각형에 매핑되고, SVG 아래 방향 Y 좌표를 PDF 위 방향 Y 좌표로 바꾸며, Form XObject를 glyph baseline에 고정합니다