확장 가능한 벡터 그래픽 (SVG) 2
W3C 후보 권고안 2018년 10월 4일
이 버전:
https://www.w3.org/TR/2018/CR-SVG2-20181004/
최신 버전:
https://www.w3.org/TR/SVG2/
이전 버전:
https://www.w3.org/TR/2018/CR-SVG2-20180807/
편집자 초안:
https://svgwg.org/svg2-draft/
단일 페이지 버전:
https://svgwg.org/svg2-draft/single-page.html
GitHub 저장소:
https://github.com/w3c/svgwg/
공개 의견:
www-svg@w3.org (아카이브 )
편집자:
Amelia Bellamy-Royds, 초청 전문가 <amelia.bellamy.royds@gmail.com >
Bogdan Brinza, Microsoft Co. <bbrinza@microsoft.com >
Chris Lilley, W3C <chris@w3.org >
Dirk Schulze, Adobe Systems <dschulze@adobe.com >
David Storey, Microsoft Co. <dstorey@microsoft.com >
Eric Willigers, Google
이전 편집자:
Nikos Andronikos, Canon, Inc. <nikos.andronikos@cisra.canon.com.au >
Rossen Atanassov, Microsoft Co. <ratan@microsoft.com >
Tavmjong Bah, 초청 전문가 <tavmjong@free.fr >
Brian Birtles, Mozilla Japan <bbirtles@mozilla.com >
Cyril Concolato, Telecom ParisTech <cyril.concolato@telecom-paristech.fr >
Erik Dahlström, 초청 전문가 <erik@dahlström.net >
Cameron McCormack, Mozilla Corporation <cam@mcc.id.au >
Doug Schepers, W3C <schepers@w3.org >
Richard Schwerdtfeger, IBM <schwer@us.ibm.com >
Satoru Takagi, KDDI Corporation <sa-takagi@kddi.com
Jonathan Watt, Mozilla Corporation <jwatt@jwatt.org >
Copyright © 2018 W3C ® (MIT , ERCIM , Keio , Beihang ). W3C liability , trademark and document use rules apply.
요약
이 명세서는 확장 가능한 벡터 그래픽(SVG) 버전 2의 기능과 구문을 정의합니다. SVG는 2차원 벡터 및 벡터/래스터 혼합 그래픽을 설명하기 위한 XML 기반 언어입니다. SVG 콘텐츠는 스타일을
적용할 수 있고, 다양한 디스플레이 해상도에 맞게 확장할 수 있으며, 독립적으로 볼 수 있고, HTML 콘텐츠와 혼합하거나, 다른 XML 언어 내에서 XML 네임스페이스를 사용하여 임베드할 수
있습니다. 또한 SVG는 동적인 변경을 지원합니다. 스크립트를 사용하여 인터랙티브 문서를 만들 수 있고, 선언적 애니메이션 기능 또는 스크립트를 사용하여 애니메이션을 수행할 수 있습니다.
문서 상태
이 섹션은 문서가 발행된 시점의 상태를 설명합니다. 다른 문서가 이 문서를 대체할 수 있습니다. 현재 W3C 발행 목록과 이 기술 보고서의 최신 개정본은 W3C 기술 보고서 색인 https://www.w3.org/TR/ 에서 확인할 수 있습니다.
이 문서는 2018년 10월 4일 후보 권고안 인 SVG 2입니다. 이 버전의 SVG는 SVG 1.1 두번째 판 을 기반으로 언어의 사용성과 정확성을 향상시켰습니다.
변경사항 부록에는 SVG 1.1 두번째 판 이후에 이루어진 모든 변경 사항이 나와 있습니다.
후보 권고안으로 발행된다고 해서 W3C 회원의 지지를 의미하지는 않습니다. 이 문서는 초안이며 언제든지 업데이트, 대체 또는 폐기될 수 있습니다. 진행 중인 작업 이외의 용도로 이 문서를 인용하는 것은
부적절합니다.
이 후보 권고안은 2018년 12월 4일 이후에 제안 권고안으로 진전될 것으로 예상됩니다.
현재는 예비 구현 보고서가 없습니다. SVG 워킹 그룹은 SVG2용 테스트 스위트를 준비 중이며, 해당 테스트를 기반으로 구현 보고서를 작성할 예정입니다.
이 후보 권고안에 대한 의견을 환영합니다.
의견은 GitHub 이슈 로 제기할 수 있으며(권장), 또는
www-svg@w3.org 로 이메일을 보낼 수도 있습니다. 이 메일링 리스트는 웹에서의 벡터 그래픽 관련 공개
이메일 리스트입니다. 이 리스트는
아카이브 되며, 첫 게시 이후 메시지가 공개적으로 아카이브 되는 것에 동의해야 합니다. 구독하려면
www-svg-request@w3.org 로 제목에 subscribe
를 적어
이메일을 보내면 됩니다.
이 명세서에는 워킹 그룹이 SVG 기능에 관한 특정 결정이 이루어진 회의록과 결의안 링크를 기록하기 위해 사용하는 여러 주석이 포함되어 있습니다. 명세서의 각 섹션의 완성도를 표시하기 위해 서로
다른 색상이 사용됩니다:
빨간색 배경은 SVG 1.1에서 변경되지 않은 섹션(따라서 SVG 2를 위해 재검토 및 재작성 필요) 또는 새로 추가되었지만 아직 많은 작업이 필요한 섹션을 나타냅니다.
노란색 배경은 SVG 1.1에서 가져온 섹션 중 필요하다면 검토 및 재작성된 섹션 또는 완성되어 워킹 그룹의 검토를 기다리는 새 섹션을 나타냅니다.
흰색 배경은 SVG 1.1에서 가져왔거나 SVG 2에 새로 추가된 섹션으로, 워킹 그룹에서 검토가 완료되어 더 넓은 검토를 받을 준비가 된 섹션을 나타냅니다.
이 문서는
W3C SVG 워킹 그룹 이 그래픽스 활동 의 일환으로
W3C 인터랙션 도메인 내에서 작성한 것입니다. W3C SVG 워킹 그룹의 목표는 W3C SVG 헌장 에서 논의됩니다.
W3C SVG 워킹 그룹은 공개 웹 페이지 https://www.w3.org/Graphics/SVG/ 를 관리하며, 추가적인 배경 정보를 제공합니다. 이 문서의 저자는 SVG 워킹 그룹 참가자입니다.
이 문서는 W3C 특허 정책 에 따라 운영되는 그룹에서 작성되었습니다.
W3C는 해당 그룹의 결과물과 관련된 공개 특허 공개 목록 을
관리합니다.
이 페이지에는 특허 공개 방법도 안내되어 있습니다. 특정 특허가 필수
청구항 을 포함하고 있다고 실제로 아는 경우, W3C 특허 정책
6절 에 따라 정보를 공개해야 합니다.
현재 W3C 권고안 및 기타 기술 문서 목록은 https://www.w3.org/TR/ 에서 확인할 수 있습니다.
W3C 발행물은 언제든지 업데이트, 대체 또는 폐기될 수 있습니다.
이 문서는 2018년 2월 1일 W3C 프로세스 문서 에
따라 관리됩니다.
이 명세서의 모든 기능은 브라우저 또는 저작 도구에서 구현되는 것에 의존합니다. 구현 여부가 확실하지 않은 기능은 "위험"으로 정의합니다. 위험에 처한 기능은 현행 표준에서 삭제되며, 향후 버전의
명세서에 포함될 수 있습니다. 위험 기능이 SVG 저자에게 특히 중요하다면, 해당 저자들은 우선순위에 관해 구현자에게 피드백을 제공하는 것이 권장됩니다. 다음 기능들은 위험에 처해 있으며, CR 기간
동안 삭제될 수 있습니다:
목차
1. 소개
1.1. SVG란?
1.2. 다른 표준화 노력과의 호환성
1.3. 규범적 용어 설명
2. 적합성 기준
2.1. 개요
2.2. 처리 모드
2.2.1. 기능
2.2.2.
동적 상호작용 모드
2.2.3. 애니메이션 모드
2.2.4. 보안 애니메이션
모드
2.2.5. 정적 모드
2.2.6. 보안 정적 모드
2.3. SVG 하위 리소스 문서의 처리
모드
2.3.1. 예시
2.4. 문서 적합성 분류
2.4.1.
적합한 SVG DOM 서브트리
2.4.2.
적합한 SVG 마크업 프래그먼트
2.4.3.
적합한 XML 호환 SVG 마크업 프래그먼트
2.4.4.
적합한 XML 호환 SVG DOM 서브트리
2.4.5.
적합한 SVG 독립 파일
2.4.6. 오류 처리
2.5. 소프트웨어 적합성
분류
2.5.1.
적합한 SVG 생성기
2.5.2.
적합한 SVG 저작 도구
2.5.3. 적합한 SVG
서버
2.5.4.
적합한 SVG 해석기
2.5.5. 적합한 SVG
뷰어
2.5.5.1. 인쇄 구현 노트
2.5.6.
적합한 고품질 SVG 뷰어
3. 렌더링 모델
3.1. 소개
3.2. 렌더링 트리
3.2.1. 정의
3.2.2. 렌더링되는
요소와 렌더링되지 않는 요소
3.2.3. 가시성 제어: ‘display ’와 ‘visibility ’
속성의 효과
3.2.4. 그래픽 재사용
3.3. 페인터 모델
3.4. 렌더링 순서
3.4.1.
SVG에서 스태킹 컨텍스트 설정
3.5. 요소의 렌더링 방법
3.6. 그룹의 렌더링 방법
3.6.1.
객체 및 그룹 불투명도: ‘opacity ’ 속성의 효과
3.7. 그래픽 요소의 유형
3.7.1. 도형 및 텍스트
페인팅
3.7.2. 래스터 이미지
페인팅
3.8. 페인트 영역 필터링
3.9. 클리핑 및 마스킹
3.10. 부모 합성
3.11. ‘overflow ’
속성의 효과
4. 기본 데이터 타입과 인터페이스
4.1. 정의
4.2. 속성 문법
4.2.1. 실수 정밀도
4.2.2. 특정 범위로 제한되는 값의
클램핑
4.3. SVG DOM 개요
4.3.1. SVG DOM 지원을 위한
의존성
4.3.2. 명명 규칙
4.3.3. SVG DOM 내
요소
4.3.4. DOM에서 콘텐츠 속성
반영
4.3.5.
반영 값 동기화
4.3.6.
비어있는 초기값 반영
4.3.7. 잘못된 값
4.4. SVG 요소를 위한 DOM
인터페이스
4.4.1.
SVGElement 인터페이스
4.4.2.
SVGGraphicsElement 인터페이스
4.4.3.
SVGGeometryElement 인터페이스
4.5. 기본 데이터 타입을
위한 DOM 인터페이스
4.5.1. SVGNumber
인터페이스
4.5.2. SVGLength
인터페이스
4.5.3. SVGAngle
인터페이스
4.5.4. 리스트 인터페이스
4.5.5.
SVGNumberList 인터페이스
4.5.6.
SVGLengthList 인터페이스
4.5.7.
SVGStringList 인터페이스
4.6.
애니메이션 가능한 SVG 속성 반영을 위한 DOM 인터페이스
4.6.1.
SVGAnimatedBoolean 인터페이스
4.6.2.
SVGAnimatedEnumeration 인터페이스
4.6.3.
SVGAnimatedInteger 인터페이스
4.6.4.
SVGAnimatedNumber 인터페이스
4.6.5.
SVGAnimatedLength 인터페이스
4.6.6.
SVGAnimatedAngle 인터페이스
4.6.7.
SVGAnimatedString 인터페이스
4.6.8.
SVGAnimatedRect 인터페이스
4.6.9.
SVGAnimatedNumberList 인터페이스
4.6.10.
SVGAnimatedLengthList 인터페이스
4.7. 기타 DOM 인터페이스
4.7.1.
SVGUnitTypes 인터페이스
4.7.2. SVGTests
믹스인
4.7.3.
SVGFitToViewBox 믹스인
4.7.4.
SVGZoomAndPan 믹스인
4.7.5.
SVGURIReference 믹스인
5. 문서 구조
5.1. SVG 문서 조각 정의: ‘svg’ 요소
5.1.1. 개요
5.1.2. 네임스페이스
5.1.3. 정의
5.1.4. ‘svg’ 요소
5.2. 그룹화: ‘g’ 요소
5.2.1. 개요
5.2.2. ‘g’ 요소
5.3. 알 수 없는 요소
5.4. 재사용을 위한 콘텐츠 정의 및 ‘defs’ 요소
5.4.1. 개요
5.4.2. ‘defs’ 요소
5.5. ‘symbol’ 요소
5.5.1. 속성
5.5.2. 심볼에 대한 참고
5.6. ‘use’ 요소
5.6.1. use-요소 그림자 트리
5.6.2. 재사용 그래픽의 레이아웃
5.6.3. 스타일 범위 및
상속
5.6.4. use-요소 그림자 트리의
멀티미디어
5.6.5. use-요소 그림자 트리의
애니메이션
5.6.6. use-요소 그림자 트리의
이벤트 처리
5.7. 조건부 처리
5.7.1.
조건부 처리 개요
5.7.2.
정의
5.7.3. ‘switch’ 요소
5.7.4. ‘requiredExtensions’
속성
5.7.5. ‘systemLanguage’
속성
5.8. ‘desc’
및 ‘title’ 요소
5.8.1.
정의
5.9. ‘metadata’ 요소
5.10. HTML 메타데이터 요소
5.11. 외부 네임스페이스 및 개인 데이터
5.12. 공통 속성
5.12.1.
정의
5.12.2. 모든 요소에 공통인 속성:
‘id’
5.12.3. ‘lang’ 및 ‘xml:lang’
속성
5.12.4. ‘xml:space’
속성
5.12.5. ‘tabindex’ 속성
5.12.6. ‘data-*’ 속성
5.13. WAI-ARIA 속성
5.13.1.
정의
5.13.2. Role 속성
5.13.3.
상태 및 속성 속성(모든 aria-* 속성)
5.13.4.
암시적 및 허용된 ARIA 의미
5.14. DOM 인터페이스
5.14.1.
Document 인터페이스 확장
5.14.2.
SVGSVGElement 인터페이스
5.14.3.
SVGGElement
인터페이스
5.14.4.
SVGUnknownElement 인터페이스
5.14.5.
SVGDefsElement 인터페이스
5.14.6.
SVGDescElement 인터페이스
5.14.7.
SVGMetadataElement 인터페이스
5.14.8.
SVGTitleElement 인터페이스
5.14.9.
SVGSymbolElement 인터페이스
5.14.10.
SVGUseElement 인터페이스
5.14.11. SVGUseElementShadowRoot 인터페이스
5.14.12.
SVGElementInstance 믹스인
5.14.13.
ShadowAnimation 인터페이스
5.14.14.
SVGSwitchElement 인터페이스
5.14.15.
GetSVGDocument 믹스인
6. 스타일링
6.1. CSS를 사용한 SVG 콘텐츠 스타일링
6.2. 인라인 스타일 시트: ‘style’ 요소
6.3. 외부 스타일 시트: HTML ‘link’ 요소의 효과
6.4. HTML 문서의 스타일
시트
6.5. 요소별 스타일링: ‘class’ 및 ‘style’ 속성
6.6. 표현 속성
6.7. 필수 프로퍼티
6.8. 사용자 에이전트 스타일 시트
6.9. 필수 CSS 기능
6.10. DOM 인터페이스
6.10.1.
SVGStyleElement 인터페이스
7. 기하 속성
7.1. 수평 중심 좌표: ‘cx ’ 속성
7.2. 수직 중심 좌표: ‘cy ’
속성
7.3. 반지름: ‘r ’
속성
7.4. 수평 반지름: ‘rx ’
속성
7.5. 수직 반지름: ‘ry ’
속성
7.6. 수평 좌표: ‘x ’ 속성
7.7. 수직 좌표: ‘y ’
속성
7.8. 크기 속성: ‘width ’ 및 ‘height ’
속성의 효과
8. 좌표계, 변환 및 단위
8.1. 소개
8.2. SVG 뷰포트의 등가
변환 계산하기
8.3. 초기 뷰포트
8.4. 초기 좌표계
8.5. ‘transform ’ 속성
8.6. ‘viewBox’ 속성
8.7. ‘preserveAspectRatio’
속성
8.8. 새로운 SVG 뷰포트
생성하기
8.9. 단위
8.10. 경계 박스
8.11. 오브젝트 경계 박스 단위
8.12. SVG 콘텐츠의 고유 크기 속성
8.13. 벡터 효과
8.13.1.
벡터 효과 계산하기
8.13.2.
중첩 뷰포트 좌표계의 벡터 효과 계산하기
8.13.3. 벡터 효과
예시
8.14. DOM 인터페이스
8.14.1.
SVGTransform 인터페이스
8.14.2.
SVGTransformList 인터페이스
8.14.3. SVGAnimatedTransformList 인터페이스
8.14.4.
SVGPreserveAspectRatio 인터페이스
8.14.5. SVGAnimatedPreserveAspectRatio 인터페이스
9. 경로
9.1. 소개
9.2. ‘path’ 요소
9.3. 경로 데이터
9.3.1.
경로 데이터 일반 정보
9.3.2. 경로 데이터 지정: ‘d ’ 속성
9.3.3.
"moveto" 명령
9.3.4.
"closepath" 명령
9.3.4.1. 세그먼트-완성 close path 연산
9.3.5.
"lineto" 명령
9.3.6. 큐빅
베지어 곡선 명령
9.3.7.
쿼드 베지어 곡선 명령
9.3.8. 타원호
곡선 명령
9.3.9. 경로 데이터 문법
9.4. 경로 방향성
9.5.
구현 참고사항
9.5.1.
범위 밖의 타원호 파라미터
9.5.2. 반사 제어점
9.5.3. 길이 0 경로
세그먼트
9.5.4. 경로 데이터 오류
처리
9.6. 경로를 따라 거리 측정
9.6.1. ‘pathLength’ 속성
9.7. DOM 인터페이스
9.7.1.
SVGPathElement 인터페이스
10. 기본 도형
10.1. 소개 및 정의
10.2. ‘rect’ 요소
10.3. ‘circle’ 요소
10.4. ‘ellipse’ 요소
10.5. ‘line’ 요소
10.6. ‘polyline’ 요소
10.7. ‘polygon’ 요소
10.8. DOM 인터페이스
10.8.1.
SVGRectElement 인터페이스
10.8.2.
SVGCircleElement 인터페이스
10.8.3.
SVGEllipseElement 인터페이스
10.8.4.
SVGLineElement 인터페이스
10.8.5.
SVGAnimatedPoints 믹스인
10.8.6.
SVGPointList
인터페이스
10.8.7.
SVGPolylineElement 인터페이스
10.8.8.
SVGPolygonElement 인터페이스
11. 텍스트
11.1. 소개
11.1.1. 정의
11.1.2. 폰트와 글리프
11.1.3. 글리프 메트릭 및 레이아웃
11.2. ‘text’ 및
‘tspan’ 요소
11.2.1. 속성
11.2.2. 'x', 'y', 'dx', 'dy',
'rotate'관련 참고사항
11.3. 텍스트 레이아웃 – 소개
11.4. 텍스트 레이아웃 – 콘텐츠 영역
11.4.1. ‘inline-size ’ 프로퍼티
11.4.2. ‘shape-inside ’ 프로퍼티
11.4.3. ‘shape-subtract ’ 프로퍼티
11.4.4. ‘shape-image-threshold ’ 프로퍼티
11.4.5. ‘shape-margin ’ 프로퍼티
11.4.6. ‘shape-padding ’ 프로퍼티
11.5. 텍스트 레이아웃 – 알고리즘
11.6. 서식 유지 텍스트
11.6.1.
'white-space'로 여러 줄 텍스트
11.6.2. 글리프 위치
조정
11.7. 자동 줄바꿈 텍스트
11.7.1. 텍스트 줄바꿈
참고사항
11.7.1.1. 첫 줄 위치 지정
11.7.1.2. 끊어진 줄
11.8. 경로 위의 텍스트
11.8.1. ‘textPath’ 요소
11.8.2. 속성
11.8.3. 경로 위의 텍스트
레이아웃 규칙
11.9. 텍스트 렌더링 순서
11.10. 속성 및 의사 요소
11.10.1. SVG 속성
11.10.1.1. 텍스트 정렬, ‘text-anchor ’ 속성
11.10.1.2. ‘glyph-orientation-horizontal ’ 속성
11.10.1.3. ‘glyph-orientation-vertical ’ 속성
11.10.1.4. ‘kerning ’ 속성
11.10.2. SVG 적용
사항
11.10.2.1.
‘font-variant ’ 속성
11.10.2.2.
‘line-height ’ 속성
11.10.2.3.
‘writing-mode ’ 속성
11.10.2.4.
‘direction ’ 속성
11.10.2.5. ‘dominant-baseline ’ 속성
11.10.2.6. ‘alignment-baseline ’ 속성
11.10.2.7.
‘baseline-shift ’ 속성
11.10.2.8.
‘letter-spacing ’ 속성
11.10.2.9.
‘word-spacing ’ 속성
11.10.2.10.
‘text-overflow ’ 속성
11.10.3. 공백
11.10.3.1. SVG 2
권장 공백 처리, ‘white-space ’ 속성
11.10.3.2. 레거시 공백
처리, ‘xml:space ’ 속성
11.10.3.3.
중복 공백 지시어
11.11. 텍스트 장식
11.11.1. ‘text-decoration-fill ’
및 ‘text-decoration-stroke ’ 속성
11.12. 텍스트 선택 및 클립보드 작업
11.12.1.
텍스트 선택 구현 참고사항
11.13. DOM 인터페이스
11.13.1.
SVGTextContentElement 인터페이스
11.13.2. SVGTextPositioningElement 인터페이스
11.13.3.
SVGTextElement 인터페이스
11.13.4.
SVGTSpanElement 인터페이스
11.13.5.
SVGTextPathElement 인터페이스
12. 임베디드 콘텐츠
12.1. 개요
12.2. 임베디드 콘텐츠 배치
12.3. ‘image’ 요소
12.4. SVG 서브트리 내 HTML 요소
12.5. ‘foreignObject’ 요소
12.6. DOM 인터페이스
12.6.1.
SVGImageElement 인터페이스
12.6.2. SVGForeignObjectElement 인터페이스
13. 페인팅: 채우기, 스트로크 및 마커 심볼
13.1. 소개
13.1.1. 용어 정의
13.2. 페인트 지정
13.3. ‘color ’ 속성의 효과
13.4. 채우기 속성
13.4.1.
채우기 페인트 지정: ‘fill ’ 속성
13.4.2. 와인딩 규칙: ‘fill-rule ’
속성
13.4.3. 채우기 페인트 불투명도:
‘fill-opacity ’
속성
13.5. 스트로크 속성
13.5.1.
스트로크 페인트 지정: ‘stroke ’
속성
13.5.2. 스트로크 페인트 불투명도:
‘stroke-opacity ’
속성
13.5.3. 스트로크 두께: ‘stroke-width ’
속성
13.5.4. 스트로크 끝에 캡 그리기:
‘stroke-linecap ’
속성
13.5.5. 선 연결 제어: ‘stroke-linejoin ’
및 ‘stroke-miterlimit ’ 속성
13.5.6. 스트로크 점선: ‘stroke-dasharray ’ 및
‘stroke-dashoffset ’ 속성
13.5.7. 스트로크 형태 계산
13.5.8.
arcs 'stroke-linejoin'의 원 곡률 계산
13.5.9.
초기 원이 교차하지 않을 때 arcs 'stroke-linejoin'의 원 조정
13.6. 벡터 효과
13.7. 마커
13.7.1. ‘marker’ 요소
13.7.2. 버텍스
마커: ‘marker-start ’,
‘marker-mid ’ 및 ‘marker-end ’
속성
13.7.3. 마커 축약: ‘marker ’
속성
13.7.4. 마커 렌더링
13.8. 페인트 작업 순서 제어: ‘paint-order ’ 속성
13.9. 보간용 색상 공간: ‘color-interpolation ’ 속성
13.10. 렌더링 힌트
13.10.1. ‘color-rendering ’ 속성
13.10.2. ‘shape-rendering ’ 속성
13.10.3. ‘text-rendering ’ 속성
13.10.4. ‘image-rendering ’ 속성
13.11. ‘will-change ’ 속성의 효과
13.12. DOM 인터페이스
13.12.1.
SVGMarkerElement 인터페이스
14. 페인트 서버 — 그라디언트와 패턴
14.1. 소개
14.1.1. 페인트 서버를
템플릿으로 사용하기
14.2. 그라디언트
14.2.1. 정의
14.2.2. 선형 그라디언트
14.2.2.1. 속성
14.2.2.2.
선형 그라디언트 참고사항
14.2.3. 방사형 그라디언트
14.2.3.1. 속성
14.2.3.2.
방사형 그라디언트 참고사항
14.2.4. 그라디언트 중지점
14.2.4.1. 속성
14.2.4.2.
속성
14.2.4.3. 그라디언트 중지점
참고사항
14.3. 패턴
14.3.1.
속성
14.3.2. 패턴 참고사항
14.4. DOM 인터페이스
14.4.1.
SVGGradientElement 인터페이스
14.4.2. SVGLinearGradientElement 인터페이스
14.4.3. SVGRadialGradientElement 인터페이스
14.4.4.
SVGStopElement 인터페이스
14.4.5.
SVGPatternElement 인터페이스
15. 스크립팅 및 상호작용
15.1. 소개
15.2. 지원되는 이벤트
15.2.1.
UI 이벤트와의 관계
15.3. 사용자 인터페이스 이벤트
15.4. 포인터 이벤트
15.5. 사용자 인터페이스 이벤트의 히트
테스트 및 처리 순서
15.5.1. 히트 테스트
15.5.2. 이벤트 처리
15.6. ‘pointer-events ’ 속성
15.7. 확대 및 이동
15.8. 포커스
15.9. 이벤트 속성
15.9.1. 애니메이션 이벤트
속성
15.10. ‘script’ 요소
15.11. DOM 인터페이스
15.11.1.
SVGScriptElement 인터페이스
16. 링킹
16.1. 참조
16.1.1. 개요
16.1.2. 정의
16.1.3. URL과 URI
16.1.4. 문법 형태: URL 및
<url>
16.1.5. URL 참조 속성
16.1.6. 사용 중단된 XLink URL
참조 속성
16.1.7. URL 참조 처리
16.1.7.1. 절대 URL 생성
16.1.7.2.
문서 가져오기
16.1.7.3. 하위 리소스 문서 처리
16.1.7.4.
타겟 요소 식별
16.1.7.5. 유효한 URL 타겟
16.2. SVG 콘텐츠에서 외부로의 링크: ‘a’ 요소
16.3. SVG 콘텐츠로의 링크: URL 프래그먼트와
SVG 뷰
16.3.1. SVG
프래그먼트 식별자
16.3.2. SVG 프래그먼트 식별자 정의
16.3.3. 미리 정의된 뷰: ‘view’ 요소
16.4. DOM 인터페이스
16.4.1.
SVGAElement 인터페이스
16.4.2.
SVGViewElement 인터페이스
부록 A: IDL 정의
부록 B: 구현 참고 사항
B.1. 소개
B.2. 타원 호 매개변수 변환
B.2.1. 타원 호 끝점 문법
B.2.2. 파라미터화 대안
B.2.3.
중심에서 끝점 매개변수화로의 변환
B.2.4.
엔드포인트에서 중심 파라미터화로의 변환
B.2.5.
범위를 벗어난 반지름의 보정
B.3.
고정밀 기하 생성 참고 사항
부록 C: 접근성 지원
C.1. SVG 접근성 기능
C.2.
SVG 접근성 명세 및 가이드라인 지원
부록 D: SVG 문서 애니메이션
부록 E: 참고 문헌
E.1. 규범적 참고문헌
E.2. 참고용 참고문헌
부록 F: 요소 색인
부록 G: 속성 색인
G.1. 일반 속성
G.2. 표현 속성
부록 H: 속성 색인
부록 I: IDL 색인
부록 J: image/svg+xml 미디어 타입 등록
J.1.
소개
J.2.
image/svg+xml 미디어 타입 등록
부록 K: SVG 1.1 과의 변경 사항
K.1. 편집상의 변경
K.2. 주요 변경 사항
K.2.1. 전체 문서
K.2.2. 개념 챕터(SVG 1.1한정)
K.2.3. 적합성 기준 챕터(부록, SVG
1.1)
K.2.4. 렌더링 모델 챕터
K.2.5. 기본 데이터 타입 및 인터페이스 챕터
K.2.6. 문서 구조 챕터
K.2.7. 스타일링 챕터
K.2.8. 기하 속성 챕터(SVG 2한정)
K.2.9. 좌표계, 변환 및 단위 챕터
K.2.10. 경로 챕터
K.2.11. 기본 도형 챕터
K.2.12. 텍스트 챕터
K.2.13. 임베디드 콘텐츠 챕터(SVG
2한정)
K.2.14. 페인팅 챕터
K.2.15. 색상 챕터(SVG 1.1한정)
K.2.16. 페인트 서버 챕터(SVG 1.1에서는
그라디언트 및 패턴)
K.2.17. 클리핑, 마스킹 및 합성 챕터(SVG
1.1한정)
K.2.18. 필터 효과 챕터(SVG
1.1한정)
K.2.19. 스크립팅 및 상호작용 챕터(SVG
1.1에서는 별도 챕터)
K.2.20. 링크 챕터
K.2.21. 스크립팅 챕터(SVG 1.1에
포함)
K.2.22. 애니메이션 챕터(SVG
1.1한정)
K.2.23. 폰트 챕터(SVG 1.1한정)
K.2.24. 메타데이터 챕터(SVG
1.1한정)
K.2.25. 하위 호환성 챕터(SVG
1.1한정)
K.2.26. 확장성 챕터(SVG 1.1한정)
K.2.27. 문서 유형 정의 부록(SVG
1.1한정)
K.2.28. SVG 문서 객체 모델(DOM)(SVG
1.1한정)
K.2.29. IDL 정의 부록
K.2.30. 자바 언어 바인딩 부록(SVG
1.1한정)
K.2.31. ECMAScript 언어 바인딩
부록(SVG 1.1한정)
K.2.32. 구현 참고 사항 부록(SVG
1.1한정)
K.2.33. 접근성 지원 부록
K.2.34. 국제화 지원 부록(SVG 1.1한정)
K.2.35. SVG 파일 크기 최소화 부록(SVG
1.1한정)
K.2.36. SVG 문서 애니메이션
부록(SVG 2한정)
K.2.37. 참고 문헌 부록
K.2.38. 요소, 속성 및 속성 색인
부록
K.2.39. IDL 색인 부록(SVG
2한정)
K.2.40. 기능 문자열(SVG 1.1한정)
감사의 글
SVG 워킹 그룹은 이 명세서에 패치를 제공하거나 문서 변경에 기여한 토론에 참여해 주신 다음 분들께 감사의 뜻을 전합니다:
David Dailey,
Eric Eastwood,
Jarek Foksa,
Daniel Holbert,
Paul LeBeau,
Robert Longson,
Henri Manson,
Ms2ger,
Kari Pihkala,
Philip Rogers,
David Zbarsky.
또한, SVG 워킹 그룹은 이전 버전의 SVG 편집자 및 저자들의 공헌에 감사를 표합니다. 이 문서의 많은 부분이 이전 명세에서 유래했으며, 다음과 같은 분들을 포함합니다:
Patrick Dengler, 마이크로소프트 코퍼레이션 (버전 1.1 두 번째 판)
Jon Ferraiolo, 前 Adobe Systems (버전 1.0 및 1.1 첫 번째 판; 2006년 5월 10일까지)
Anthony Grasso, 前 Canon Inc. (버전 1.1 두 번째 판)
Dean Jackson, 前 W3C (버전 1.1 첫 번째 판; 2007년 2월까지)
藤沢 淳 (FUJISAWA Jun), Canon Inc. (버전 1.1 첫 번째 판)
마지막으로, SVG 워킹 그룹은 SVG 명세 개발 과정에 도움을 주신 워킹 그룹 외부의 많은 분들께도 감사를 전합니다. 이분들은 너무 많아 개별적으로 모두 열거할 수 없습니다. 이들은 SVG 1.0 및
1.1 언어의 초기 구현자(뷰어, 저작 도구, 서버 사이드 트랜스코더 포함), SVG 콘텐츠 개발자, www-svg@w3.org 및 svg-developers@yahoogroups.com 이메일 리스트에서 기여한 분들, W3C의 다른 워킹 그룹, 그리고 W3C 팀을 포함합니다. SVG
1.1은 SVG 워킹 그룹과 W3C, 그리고 대중 간의 협력의 산물이며, 초기 구현자와 콘텐츠 개발자의 선구적인 작업, 대중의 피드백, W3C 팀의 도움 덕분에 크게 발전할 수 있었습니다.