SVG 텍스트 렌더링 문제 해결 방법
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 웹 개발자 및 디자이너 (SVG 렌더링 문제 해결 필요)
- 중급~고급 수준 (SVG 구조 및 CSS 적용 경험 필요)
핵심 요약
- 문제 원인:
sans-serif
폰트 미지원 또는
요소의 잘못된 정의 - 해결 방법:
@font-face
를 사용한 폰트 직접 내장 또는xml:space="preserve"
속성 적용 - 구조 개선:
요소 대신
요소 내부에 직접 텍스트 정의 - 검증 도구: SVG 마크업 검증 툴 활용 (예: W3C Validator)
섹션별 세부 요약
- SVG 텍스트 렌더링 문제의 주요 원인
- * 폰트 가용성: 사용자 시스템에
sans-serif
폰트가 없을 경우 텍스트가 렌더링되지 않음 - * XML 네임스페이스 오류:
xmlns
과xmlns:svg
속성 누락 또는 오류 - * SVG 구조 오류:
요소가 비어 있거나요소로 잘못 참조됨
- 문제 해결 단계
- * 폰트 직접 내장:
```css
@font-face { font-family: 'YourCustomFont'; src: url('path/to/font.woff2') format('woff2'); }
```
- * 텍스트 요소 수정:
```xml
```
- * XML 유효성 검사:
xmlns
및xml:space
속성의 올바른 정의 확인
- 실무 적용 팁
- * 보편적 폰트 사용:
sans-serif
대신Arial
또는Helvetica
등 시스템에 기본 제공되는 폰트 사용 - * CSS 클래스 적용:
.timestamp
클래스에font-weight: bold
및fill: black
속성 명시 - * SVG 툴 사용: Inkscape 생성 SVG의 경우
inkscape:document-rotation
속성 제거
결론
SVG 텍스트 렌더링 문제를 해결하기 위해 폰트 직접 내장(@font-face
) 및
요소 내부 텍스트 정의를 적용하고, XML 네임스페이스와 xml:space
속성을 검토해야 합니다. 또한, W3C Validator 같은 도구로 SVG의 구조적 오류를 확인하는 것이 실무에서 효과적입니다.