확장 가능한 벡터 그래픽 (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. Interface
SVGElement
4.4.2.
Interface SVGGraphicsElement
4.4.3.
Interface SVGGeometryElement
4.5. 기본 데이터 타입용
DOM 인터페이스
4.5.1. Interface
SVGNumber
4.5.2. Interface
SVGLength
4.5.3. Interface
SVGAngle
4.5.4. 리스트 인터페이스
4.5.5. Interface
SVGNumberList
4.5.6. Interface
SVGLengthList
4.5.7. Interface
SVGStringList
4.6.
애니메이션 가능한 SVG 속성 반영용 DOM 인터페이스
4.6.1.
Interface SVGAnimatedBoolean
4.6.2.
Interface SVGAnimatedEnumeration
4.6.3.
Interface SVGAnimatedInteger
4.6.4.
Interface SVGAnimatedNumber
4.6.5.
Interface SVGAnimatedLength
4.6.6.
Interface SVGAnimatedAngle
4.6.7.
Interface SVGAnimatedString
4.6.8.
Interface SVGAnimatedRect
4.6.9.
Interface SVGAnimatedNumberList
4.6.10.
Interface SVGAnimatedLengthList
4.7. 기타 DOM 인터페이스
4.7.1. Interface
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. 역할 속성
5.13.3.
상태 및 속성(모든 aria- 속성)
5.13.4.
암시적 및 허용된 ARIA 시맨틱
5.14. DOM 인터페이스
5.14.1.
Document 인터페이스 확장
5.14.2.
Interface SVGSVGElement
5.14.3. Interface
SVGGElement
5.14.4.
Interface SVGUnknownElement
5.14.5.
Interface SVGDefsElement
5.14.6.
Interface SVGDescElement
5.14.7.
Interface SVGMetadataElement
5.14.8.
Interface SVGTitleElement
5.14.9.
Interface SVGSymbolElement
5.14.10.
Interface SVGUseElement
5.14.11. Interface SVGUseElementShadowRoot
5.14.12.
믹스인 SVGElementInstance
5.14.13.
Interface ShadowAnimation
5.14.14.
Interface 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.
Interface 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. Interface
SVGTransform
8.14.2.
Interface SVGTransformList
8.14.3. Interface SVGAnimatedTransformList
8.14.4.
Interface SVGPreserveAspectRatio
8.14.5. Interface 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. Interface
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.
Interface SVGRectElement
10.8.2.
Interface SVGCircleElement
10.8.3.
Interface SVGEllipseElement
10.8.4.
Interface SVGLineElement
10.8.5.
믹스인 SVGAnimatedPoints
10.8.6. Interface
SVGPointList
10.8.7.
Interface SVGPolylineElement
10.8.8.
Interface 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.
Interface SVGTextContentElement
11.13.2. Interface SVGTextPositioningElement
11.13.3.
Interface SVGTextElement
11.13.4.
Interface SVGTSpanElement
11.13.5.
Interface SVGTextPathElement
12. 임베디드 콘텐츠
12.1. 개요
12.2. 임베디드 콘텐츠의 배치
12.3. ‘image’ 요소
12.4. SVG 서브트리 내 HTML 요소
12.5. ‘foreignObject’ 요소
12.6. DOM 인터페이스
12.6.1.
Interface SVGImageElement
12.6.2. Interface 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.
Interface 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.
Interface SVGGradientElement
14.4.2. Interface SVGLinearGradientElement
14.4.3. Interface SVGRadialGradientElement
14.4.4.
Interface SVGStopElement
14.4.5.
Interface SVGPatternElement
15. 스크립팅 및 상호작용
15.1. 소개
15.2. 지원되는 이벤트
15.2.1.
UI 이벤트와의 관계
15.3. 사용자 인터페이스 이벤트
15.4. 포인터 이벤트
15.5. UI 이벤트의 히트 테스트 및 처리
순서
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.
Interface 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. Interface
SVGAElement
16.4.2.
Interface 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 팀의 도움 덕분에 크게 발전할 수 있었습니다.