# SVG

O Gráfico Vetorial Escalonável, do inglês Scalable Vector Graphic, mais conhecido pela abreviatura SVG, é uma linguagem XML aberta (não proprietário), que descreve de forma vetorial desenhos e gráficos bidimensionais (na forma estática, dinâmica, ou animada), criada pela World Wide Web Consortium em 1999. Umas das principais características dos gráficos vetoriais, é que não perdem qualidade ao serem ampliados.
SVG é suportado por todos os navegadores Web modernos de forma nativa ou através de bibliotecas JavaScript. O suporte nativo no Microsoft Internet Explorer só é possível a partir da versão 9. Bibliotecas JavaScript permitem suporte limitado em navegadores mais antigos.

## Descrição

SVG é um XML que desenha vetores gráficos. A grande diferença entre o SVG e outros formatos vetoriais, é o fato de ser um formato aberto, não sendo propriedade de nenhuma empresa. desenvolvido desde 1999 por um grupo de trabalho da World Wide Web Consortium (W3C), (responsável pela definição de outros padrões, como o HTML e o XHTML) com base nos formatos PGML, da Adobe, e VML, da Microsoft, submetidos ao W3C por essas empresas em 1998.
A criação deste formato foi baseada noutros já existentes: CSS, DOM, JPEG, PNG, SMIL e XML. O formato SVG, neste momento, permite três tipos de objetos gráficos:
* formas geométricas vetoriais (isto é, linhas e curvas descritas matematicamente, ao contrário das imagens bitmap compostas por pixels)
* imagens raster / bitmap
* texto
Quanto ao armazenamento, as imagens no formato SVG podem ser gravadas com a compressão gzip, sem perda de dados, podendo-se chamar neste caso, ficheiros SVGZ (assim como a extensão). Devido ao XML conter muitos dados redundantes, pode ser comprimido, resultando em ficheiros bastante menores. No entanto muitas vezes, o formato SVG já é por si menor que a sua versão em raster.

## Visualização na Web

Gráficos SVG podem ser visualizados directamente nos principais navegadores, com suporte limitado nas versões mais antigas.
* Opera (desde versão 8.0)
* Firefox desde 2005. Suporte a animação SMIL, desde 2011 (versão 4.0)
* WebKit (Apple Inc. Safari e Google Chrome, desde 2006).
* Microsoft Internet Explorer, desde 2011 (versão 9.0)

## Impacto potencial

Com o compromisso da Adobe em suportar o formato em suas ferramentas, que sabidamente são largamente utilizadas por profissionais em editoração (para a web ou não), além do fato do padrão ser baseado em texto seguindo os padrões XML, o que torna fácil o aprendizado por imitação, é provável que a produtividade de seus usuários muito rapidamente alcance os níveis daqueles de formatos tradicionais. Isto deve tornar a adoção do formato rápida e indolor. Por exemplo, a biblioteca libplot, parte do pacote GNU plotutils, já fornece suporte para SVG, fazendo com que o desenvolvimento de programas livres com suporte ao formato já esteja a pleno vapor.
Dificilmente, porém, haverá uma revolução na web por conta da introdução do formato. Tampouco é de se prever a obsolescência de formatos atualmente em uso graças ao SVG porque os padrões de imagens bitmap continuam úteis nas aplicações apropriadas.

## Dispositivos móveis

Devido às necessidades da indústria, foram introduzidos dois novos formatos no SVG 1.1: o "SVG Tiny" (SVGT) e o "SVG Basic" (SVGB). Ambos são derivados do SVG padrão, destinados a máquinas com limitações. Em particular, o SVG Tiny foi definido para dispositivos móveis com limitações de hardware, como os telemóveis (ou celulares). Já o SVG Basic é destinado a dispositivos móveis com mais capacidades, como os Assistentes Pessoais Digitais (PDA, sigla inglesa).

## Versões

* SVG 1.0 - lançado a 4 de Setembro de 2001.
* SVG 1.1 - lançado a 14 de Janeiro de 2003.
* SVG 1.2 - em estudo.
* SVG Tiny - (dispositivos móveis) lançado a 14 de Janeiro de 2003.
* SVG Tiny 1.2 - em estudo.
* SVG Basic - (dispositivos móveis) lançado a 14 de Janeiro de 2003.

## Programas para criar, editar e exportar gráficos SVG

* Apache Squiggle - Visualizador baseado no framework SVG Batik (Java) disponível em Apache Batik Project
* ABViewer - Visualizador, conversor e editor (comercial)
* Google Docs (Aplicação Web disponível em docs.google.com)
* SVG-edit (Aplicação web disponível em code.google.com/p/svg-edit)
* GIMP (Software livre)
* Inkscape (Software livre)
* Xara (Software livre para Linux - versão proprietária para Windows)
* Adobe Illustrator
* Corel Draw
* Microsoft Visio 2003
* Biblioteca RSVGTipsDevice da linguagem de programação R