개요
librsvg는 Scalable Vector Graphics(SVG) 파일을 해석하고 렌더링하기 위한 오픈 소스 라이브러리이다. 주로 GNOME 데스크톱 환경과 그와 연계된 애플리케이션에서 사용되며, C 언어로 구현되고 GNU LGPL(Lesser General Public License) 하에 배포된다.
역사·개발
- 초기 버전은 2001년~2002년에 GNOME 프로젝트의 일환으로 개발되었다.
- 이후 여러 차례 주요 업데이트가 이루어졌으며, 현재는
librsvg패키지 형태로 대부분의 리눅스 배포판에 포함되어 있다.
주요 기능
- SVG 1.2 및 일부 SVG 2.0 사양 지원
- 파일뿐 아니라 메모리 상의 SVG 데이터 스트림을 직접 렌더링 가능
- Cairo 그래픽 백엔드와 연동되어 고품질 안티앨리어싱 제공
- GDK, GTK 등 GNOME 스택과의 통합을 위한 API 제공
사용 예
- 파일 탐색기, 이미지 뷰어, 문서 편집기 등에서 SVG 아이콘 및 이미지 표시
- 웹 브라우저(예: Epiphany)에서 SVG 콘텐츠 렌더링
- 명령줄 도구
rsvg-convert를 통한 SVG→PNG, PDF 등 포맷 변환
구성 요소
librsvg핵심 라이브러리 (C API)rsvg-convert등 실용적인 CLI 도구- GObject 기반 객체 모델을 사용하여 언어 바인딩(예: Python, Rust) 지원
라이선스
GNU Lesser General Public License (LGPL) 2.1 이상으로 배포되어, 자유롭게 수정·재배포가 가능하다.
관련 프로젝트·대안
- Apache Batik (Java)
- Inkscape (C++)
- Cairo (저수준 2D 그래픽 라이브러리, librsvg는 내부적으로 사용)
참고
공식 문서와 소스 코드는 GNOME 프로젝트의 GitLab 저장소에서 확인할 수 있다. 최신 버전은 배포판에 따라 다를 수 있다.
위 내용은 확인된 공개 자료에 기반한 객관적인 설명이며, 별도의 추정이나 미확인 정보는 포함되지 않는다.