SVG
Scalable Vector Graphics (SVG) é um formato de imagem vetorial baseado em XML para definição de gráficos bidimensionais, com suporte para interatividade e animação. A especificação SVG é um padrão aberto desenvolvido pelo World Wide Web Consortium desde 1999.
As imagens SVG são definidas em formato gráfico vetorial e armazenadas em arquivos de texto XML. As imagens SVG podem, portanto, ser dimensionadas sem perda de qualidade, e os arquivos SVG podem ser pesquisados, indexados, programados e compactados. Os arquivos de texto XML podem ser criados e editados com editores de texto ou editores de gráficos vetoriais e são renderizados pelos navegadores mais utilizados.
A adoção antecipada foi limitada devido à falta de suporte em versões mais antigas do Internet Explorer. No entanto, a partir de 2011, todos os principais navegadores de desktop começaram a oferecer suporte a SVG. O suporte nativo ao navegador oferece várias vantagens, como não exigir plug-ins, permitir que SVG seja misturado com outros conteúdos e melhorar a renderização e a confiabilidade dos scripts. O suporte móvel para SVG existe em várias formas, com diferentes dispositivos e navegadores suportando SVG Tiny 1.1 ou 1.2. SVG pode ser produzido usando editores gráficos vetoriais e renderizado em formatos raster. Em aplicativos baseados na web, o Inline SVG permite incorporar conteúdo SVG em documentos HTML.
Apesar dos benefícios, o SVG pode representar riscos de segurança se usado para imagens, pois pode hospedar scripts ou CSS, o que pode levar a ataques de script entre sites ou outras vulnerabilidades.
Histórico
O SVG está em desenvolvimento no World Wide Web Consortium (W3C) desde 1999, após seis propostas concorrentes para linguagens gráficas vetoriais terem sido submetidas ao consórcio durante 1998 (veja abaixo).
O primeiro Grupo de Trabalho SVG decidiu não desenvolver nenhuma das submissões comerciais, mas criar uma nova linguagem de marcação que fosse informada, mas não realmente baseada em nenhuma delas.
O SVG foi desenvolvido pelo Grupo de Trabalho SVG do W3C a partir de 1998, depois que seis inscrições concorrentes de gráficos vetoriais foram recebidas naquele ano:
- Web Schematics, do CCLRC
- PGML, da Adobe Systems, IBM, Netscape e Sun Microsystems
- VML, por Autodesk, Hewlett-Packard, Macromedia, Microsoft e Vision
- Hyper Graphics Markup Language (HGML), de Orange UK e PRP
- WebCGM, da Boeing, InterCAP Graphics Systems, Inso Corporation, CCLRC e Xerox
- DrawML, da Excosoft AB
O grupo de trabalho era presidido na época por Chris Lilley do W3C.
A especificação SVG foi atualizada para a versão 1.1 em 2011. Scalable Vector Graphics 2 tornou-se uma recomendação candidata do W3C em 15 de setembro de 2016. SVG 2 incorpora vários novos recursos além daqueles do SVG 1.1 e SVG Tiny 1.2.
Versão 1.x
- SVG 1.0 tornou-se uma Recomendação W3C em 4 de setembro de 2001.
- SVG 1.1 tornou-se uma Recomendação W3C em 14 de janeiro de 2003. A especificação SVG 1.1 é modularizada para permitir que subconjuntos sejam definidos como perfis. Além disso, há muito pouca diferença entre SVG 1.1 e SVG 1.0.
- SVG Tiny e SVG Basic (os Mobile SVG Profiles) tornaram-se W3C Recomendações em 14 de janeiro de 2003. Estes são descritos como perfis de SVG 1.1.
- SVG Tiny 1.2 tornou-se uma Recomendação W3C em 22 de dezembro de 2008. Foi inicialmente elaborado como um perfil do SVG Full 1.2 (que desde então foi descartado em favor do SVG 2), mas mais tarde foi refactored como uma especificação autônoma. É geralmente mal suportado.
- SVG 1.1 Segunda Edição, que inclui todas as erratas e esclarecimentos, mas nenhuma nova característica do SVG 1.1 original foi lançada em 16 de agosto de 2011.
- SVG Tiny 1.2 Portable/Secure, Um subconjunto mais seguro do perfil SVG Tiny 1.2 introduzido como um padrão IETF em 29 de julho de 2020. Também conhecido como SVG Tiny P/S. SVG Tiny 1.2 Portable/Secure é uma exigência do padrão de rascunho do BIMI.
Versão 2
SVG 2 remove ou descontinua alguns recursos do SVG 1.1 e incorpora novos recursos do HTML5 e do Web Open Font Format:
- Por exemplo, SVG 2 remove vários elementos de fonte, como
glyph
ealtGlyph
(substituído pelo formato de fonte WOFF). - O
xml:space
atributo é deprecated em favor de CSS. - Recursos HTML5 tais como
translate
edata-*
atributos foram adicionados. - Recursos de manuseio de texto do SVG Tiny 1.2 são anotados a serem incluídos, mas ainda não formalizados em texto. Algumas outras 1,2 características são cerejeira escolhida, mas SVG 2 não é um superset de SVG minúsculo 1,2 em geral.
O SVG 2 atingiu a fase de recomendação candidata em 15 de setembro de 2016, e as versões revisadas foram publicadas em 7 de agosto de 2018 e 4 de outubro de 2018. A versão mais recente foi lançada em 21 de março de 2022.
Recursos
SVG suporta interatividade, animação e recursos gráficos avançados, tornando-o adequado para aplicações web e de impressão. Imagens SVG podem ser compactadas com o algoritmo gzip, resultando em arquivos SVGZ que são normalmente 20-50% menores que o original. SVG também oferece suporte a metadados, permitindo melhor indexação, pesquisa e recuperação de conteúdo SVG.
SVG permite três tipos de objetos gráficos: formas gráficas vetoriais (como caminhos que consistem em linhas retas e curvas), imagens bitmap e texto. Os objetos gráficos podem ser agrupados, estilizados, transformados e compostos em objetos previamente renderizados. O conjunto de recursos inclui transformações aninhadas, caminhos de recorte, máscaras alfa, efeitos de filtro e objetos de modelo. Os desenhos SVG podem ser interativos e podem incluir animação, definida nos elementos SVG XML ou via script que acessa o Document Object Model (DOM) SVG.
SVG usa CSS para estilização e JavaScript para scripts. O texto, incluindo internacionalização e localização, aparecendo em texto simples no SVG DOM, melhora a acessibilidade dos gráficos SVG.
Impressão
Embora a especificação SVG se concentre principalmente na linguagem de marcação de gráficos vetoriais, seu design inclui os recursos básicos de uma linguagem de descrição de página como o PDF da Adobe. Ele contém recursos para gráficos ricos e é compatível com CSS para fins de estilo. SVG possui as informações necessárias para colocar cada glifo e imagem em um local escolhido em uma página impressa.
Script e animação
Desenhos SVG podem ser dinâmicos e interativos. Modificações baseadas no tempo nos elementos podem ser descritas em SMIL ou podem ser programadas em uma linguagem de script (por exemplo, JavaScript). O W3C recomenda explicitamente SMIL como padrão para animação em SVG.
Um rico conjunto de manipuladores de eventos, como "onmouseover" e "onclick" pode ser atribuído a qualquer objeto gráfico SVG para aplicar ações e eventos.
Perfis móveis
Devido à demanda do setor, dois perfis móveis foram introduzidos com o SVG 1.1: SVG Tiny (SVGT) e SVG Basic (SVGB).
Esses são subconjuntos do padrão SVG completo, destinados principalmente a agentes de usuários com capacidades limitadas. Em particular, o SVG Tiny foi definido para dispositivos móveis altamente restritos, como celulares; ele não oferece suporte a estilos ou scripts. SVG Basic foi definido para dispositivos móveis de nível superior, como smartphones.
Em 2003, o 3GPP, um grupo internacional de padrões de telecomunicações, adotou o SVG Tiny como formato de mídia gráfica vetorial obrigatório para telefones da próxima geração. SVGT é o formato gráfico vetorial necessário e o suporte de SVGB é opcional para serviço de mensagens multimídia (MMS) e serviço de streaming comutado por pacotes. Posteriormente, foi adicionado como formato necessário para gráficos vetoriais no 3GPP IP Multimedia Subsystem (IMS).
Nenhum perfil móvel inclui suporte para o Document Object Model (DOM) completo, enquanto apenas o SVG Basic tem suporte opcional para scripts, mas como são subconjuntos totalmente compatíveis do padrão completo, a maioria dos gráficos SVG ainda podem ser renderizados por dispositivos que suporta apenas os perfis móveis.
SVGT 1.2 adiciona um microDOM (μDOM), estilo e script. O SVGT 1.2 também inclui alguns recursos não encontrados no SVG 1.1, incluindo traços sem escala, que são suportados por algumas implementações do SVG 1.1, como Opera, Firefox e WebKit. À medida que as bases de código compartilhadas entre navegadores de desktop e móveis aumentaram, o uso de SVG 1.1 em vez de SVGT 1.2 também aumentou.
Compressão
As imagens SVG, sendo XML, contêm muitos fragmentos repetidos de texto, por isso são adequadas para algoritmos de compactação de dados sem perdas. Quando uma imagem SVG é compactada com o algoritmo gzip, ela é chamada de "SVGZ" imagem e usa a extensão de nome de arquivo .svgz
correspondente. Os visualizadores SVG 1.1 em conformidade exibirão imagens compactadas. Um arquivo SVGZ normalmente tem de 20 a 50 por cento do tamanho original. O W3C fornece arquivos SVGZ para testar a conformidade.
Projeto
A especificação SVG 1.1 define 14 áreas funcionais ou conjuntos de recursos:
- Caminhos
- As linhas de forma simples ou composta são desenhadas com linhas curvas ou retas que podem ser preenchidas, delineadas ou usadas como um caminho de recorte. Os caminhos têm uma codificação compacta.
- Por exemplo,
M
(para "move to") precede o numérico inicial x e Sim. coordenadas, eL
(para "linha a") precede um ponto ao qual uma linha deve ser traçada. Outras letras de comando (C
,S
,Q
,T
eA
) preceder dados que são usados para desenhar várias curvas Bézier e elípticas.Z
é usado para fechar um caminho. - Em todos os casos, as coordenadas absolutas seguem comandos de letras maiúsculas e coordenadas relativas são usadas após as letras minúsculas equivalentes.
- Formas básicas
- Caminhos e caminhos de linha reta feitos de uma série de segmentos de linha reta conectados (polilines), bem como polígonos fechados, círculos e elipses podem ser desenhados. Os retângulos e os retângulos redondos também são elementos padrão.
- Texto
- O texto de caracteres Unicode incluído em um arquivo SVG é expresso como dados de caracteres XML. Muitos efeitos visuais são possíveis, e a especificação SVG lida automaticamente com o texto bidirecional (para compor uma combinação de texto em inglês e árabe, por exemplo), texto vertical (como chinês ou japonês pode ser escrito) e personagens ao longo de um caminho curvo (como o texto em torno da borda do Grande Selo dos Estados Unidos).
- Pintura
- As formas SVG podem ser preenchidas e delineadas (pintadas com uma cor, um gradiente ou um padrão). Os preenchimentos podem ser opacos ou ter qualquer grau de transparência.
- "Markers" são características de fim de linha, como flechas, ou símbolos que podem aparecer nos vértices de um polígono.
- Cor
- As cores podem ser aplicadas a todos os elementos SVG visíveis, diretamente ou via
fill
,stroke
, e outras propriedades. As cores são especificadas da mesma forma que em CSS2, ou seja, usando nomes comoblack
oublue
, em hexadecimal como#2f0
ou#22ff00
, em decimal comorgb(255,255,127)
, ou em percentagem do formuláriorgb(100%,100%,50%)
. - Gradientes e padrões
- As formas SVG podem ser preenchidas ou delineadas com cores sólidas como acima, ou com gradientes de cor ou com padrões de repetição. Os gradientes de cor podem ser lineares ou radiais (circulares), e podem envolver qualquer número de cores, bem como repetições. Os gradientes de opacidade também podem ser especificados. Os padrões são baseados em objetos gráficos de raster ou vetores predefinidos, que podem ser repetidos em
x
ey
direções. Gradientes e padrões podem ser animados e scripted. - Desde 2008, tem havido discussão entre usuários profissionais do SVG que ou malhas gradientes ou preferencialmente curvas de difusão poderiam ser adicionadas de forma útil à especificação SVG. Diz-se que uma "representação simples [usando curvas de difusão] é capaz de representar até mesmo efeitos de sombreamento muito sutis" e que "as imagens de curva de difusão são comparáveis tanto na qualidade quanto na eficiência de codificação com malhas gradientes, mas são mais simples de criar (de acordo com vários artistas que usaram ambas as ferramentas), e podem ser capturadas de bitmaps totalmente automaticamente". O atual rascunho de SVG 2 inclui malhas gradientes.
- Clipping, mascaramento e composição
- Elementos gráficos, incluindo texto, caminhos, formas básicas e combinações destes, podem ser usados como esboços para definir ambos interior e fora regiões que podem ser pintadas (com cores, gradientes e padrões) independentemente. Totalmente opaco caminhos de recorte e semi-transparente máscaras são composto juntos para calcular a cor e opacidade de cada pixel da imagem final, usando a mistura alfa.
- Efeitos do filtro
- Um efeito de filtro consiste em uma série de operações gráficas que são aplicadas a um determinado gráfico de vetor de origem para produzir um resultado bitmapped modificado.
- Interatividade
- Imagens SVG podem interagir com usuários de muitas maneiras. Além de hiperlinks como mencionado abaixo, qualquer parte de uma imagem SVG pode ser feita receptiva a eventos de interface do usuário, como alterações no foco, cliques do mouse, rolagem ou zoom da imagem e outros eventos de ponteiro, teclado e documento. Os manipuladores de eventos podem iniciar, parar ou alterar animações, bem como ativar scripts em resposta a tais eventos.
- Ligação
- Imagens SVG podem conter hiperlinks para outros documentos, usando XLink. Através do uso do
elemento ou um identificador de fragmento, URLs podem ligar para arquivos SVG que alteram a área visível do documento. Isso permite a criação de estados de visão específicos que são usados para ampliar / sair de uma área específica ou limitar a visão a um elemento específico. Isso é útil ao criar sprites. Suporte XLink em combinação com oelemento também permite ligar e reutilizar elementos internos e externos. Isso permite que os codificadores fazer mais com menos marcação e faz para o código mais limpo.
- Scripting
- Todos os aspectos de um documento SVG podem ser acessados e manipulados usando scripts de forma semelhante ao HTML. A linguagem de script padrão é JavaScript e há objetos definidos Modelo de Objeto de Documento (DOM) para cada elemento e atributo SVG. Os scripts estão incluídos
elementos. Eles podem executar em resposta a eventos de ponteiro, eventos de teclado e eventos de documento conforme necessário.
- Animação
- O conteúdo SVG pode ser animado usando elementos de animação incorporados, como
,
e
. O conteúdo pode ser animado manipulando o DOM usando o ECMAScript e os cronômetros incorporados da linguagem de scripting. A animação SVG foi projetada para ser compatível com versões atuais e futuras da Synchronized Multimedia Integration Language (SMIL). As animações podem ser contínuas, podem loop e repetir, e podem responder a eventos de usuário, como mencionado acima. - Fontes
- Tal como acontece com HTML e CSS, o texto em SVG pode referenciar arquivos de fonte externos, como fontes de sistema. Se os arquivos de fonte necessários não existirem na máquina onde o arquivo SVG é renderizado, o texto pode não aparecer como pretendido. Para superar essa limitação, o texto pode ser exibido em uma Fonte SVG, onde os glifos necessários são definidos em SVG como uma fonte que é então referenciada a partir do
elemento. - Metadados
- De acordo com a iniciativa Semantic Web da W3C, o SVG permite que os autores forneçam metadados sobre o conteúdo SVG. A instalação principal é a
elemento, onde o documento pode ser descrito usando propriedades de metadados Dublin Core (por exemplo, título, criador/autor, assunto, descrição, etc.). Outros esquemas de metadados também podem ser usados. Além disso, SVG define
e
elementos onde os autores também podem fornecer material descritivo de texto simples dentro de uma imagem SVG para ajudar a indexar, pesquisar e recuperar por vários meios.
Um documento SVG pode definir componentes, incluindo formas, gradientes, etc., e usá-los repetidamente. As imagens SVG também podem conter gráficos raster, como imagens PNG e JPEG, e outras imagens SVG.
Este código produzirá as formas coloridas mostradas na imagem, excluindo a grade e os rótulos:
< - Não."391" altura"391" - Não."-70.5 -70.5 391 391" xmlns...«http://www.w3.org/2000/svg» (em inglês). xmlns:«http://www.w3.org/1999/xlink» (em inglês).>< O quê?"Fff" Ataque."#000" - Sim."-70" Sim."-70" - Não."390" altura"390"- Sim.< Opacidade"0,8">< - Sim."25" Sim."25" - Não."200" altura"200" O quê?"lime" largura de curso ="4" Ataque."pink" - Sim. Cx..."125" C."125" - Sim."75" O quê?"orange" - Sim. Pontos"50,150 50,200 200,200 200,100" Ataque."vermelho" largura de curso ="4" O quê?"não" - Sim.Linha - Sim."50" Sim."50" x2"200" Sim."200" Ataque."azul" largura de curso ="4" - Sim.
Implementação
O uso de SVG na web era limitado pela falta de suporte em versões mais antigas do Internet Explorer (IE). Muitos sites que fornecem imagens SVG também fornecem imagens em formato raster, seja automaticamente por negociação de conteúdo HTTP ou permitindo que o usuário escolha diretamente o arquivo.
Navegadores da Web
O Konqueror foi o primeiro navegador a suportar SVG na versão 3.2 em fevereiro de 2004. A partir de 2011, todos os principais navegadores de desktop, e muitos outros menores, tinham algum nível de suporte a SVG. Outros navegadores' as implementações ainda não estão concluídas; consulte comparação de mecanismos de layout para obter mais detalhes.
Algumas versões anteriores do Firefox (por exemplo, versões entre 1.5 e 3.6), bem como vários outros navegadores desatualizados capazes de exibir gráficos SVG, precisavam deles incorporados em <object>
ou <iframe>
para exibi-los integrados como partes de uma página HTML em vez de usar a forma padrão de integração de imagens com <img>
. Entretanto, imagens SVG podem ser incluídas em páginas XHTML usando namespaces XML.
Tim Berners-Lee, o inventor da World Wide Web, criticou as primeiras versões do Internet Explorer por não oferecer suporte a SVG.
- Opera (desde 8.0) tem suporte para a especificação SVG 1.1 Tiny, enquanto a Opera 9 inclui suporte SVG 1.1 Basic e alguns SVG 1.1 Full. Opera 9.5 tem suporte parcial SVG Tiny 1.2. Ele também suporta SVGZ (SVG comprimido).
- Navegadores baseados no motor de layout Gecko (como Firefox, Flock, Camino e SeaMonkey) todos tiveram suporte incompleto para a especificação SVG 1.1 Full desde 2005. O site da Mozilla tem uma visão geral dos módulos que são suportados no Firefox e dos módulos que estão em desenvolvimento. Gecko 1.9, incluído no Firefox 3.0, adiciona suporte para mais da especificação SVG (incluindo filtros).
- Pale Moon, que usa o motor de layout Goanna (um garfo do motor Gecko), suporta SVG.
- Navegadores baseados no WebKit (como o Safari da Apple, Google Chrome e OmniWeb do The Omni Group) tiveram suporte incompleto para a especificação SVG 1.1 Full desde 2006.
- Amaya tem apoio parcial SVG.
- Internet Explorer 8 e versões mais antigas não suportam SVG. IE9 (lançado em 14 de março de 2011) suporta o conjunto básico de recursos SVG. IE10 estendida suporte SVG adicionando filtros SVG 1.1.
- Microsoft Edge Legacy suporta SVG 1.1.
- O navegador Maxthon Cloud também suporta SVG.
Há diversas vantagens no suporte nativo e completo: não são necessários plug-ins, o SVG pode ser livremente misturado com outros conteúdos em um único documento e a renderização e os scripts tornam-se consideravelmente mais confiáveis.
Dispositivos móveis
O suporte para SVG pode ser limitado a SVGT em smartphones mais antigos ou mais limitados ou pode ser limitado principalmente pelo respectivo sistema operacional. Adobe Flash Lite oferece suporte opcional a SVG Tiny desde a versão 1.1. Na conferência SVG Open 2005, a Sun demonstrou uma implementação móvel do SVG Tiny 1.1 para a plataforma Connected Limited Device Configuration (CLDC).
Os celulares que usam o Opera Mobile, assim como o navegador integrado do iPhone, também incluem suporte a SVG. No entanto, embora usasse o mecanismo WebKit, o navegador integrado do Android não suportava SVG antes da v3.0 (Honeycomb). Antes da versão 3.0, o Firefox Mobile 4.0b2 (beta) para Android era o primeiro navegador executado no Android a oferecer suporte a SVG por padrão.
O nível de suporte SVG Tiny disponível varia de dispositivo móvel para dispositivo móvel, dependendo do mecanismo SVG instalado. Muitos produtos móveis mais recentes oferecem suporte a recursos adicionais além do SVG Tiny 1.1, como gradiente e opacidade; isso às vezes é chamado de "SVGT 1.1+", embora não exista tal padrão.
O BlackBerry da RIM tem suporte integrado para SVG Tiny 1.1 desde a versão 5.0. O suporte continua para o navegador BlackBerry Torch baseado em WebKit nos OS 6 e 7.
A plataforma S60 da Nokia possui suporte integrado para SVG. Por exemplo, os ícones geralmente são renderizados usando o mecanismo SVG da plataforma. A Nokia também liderou o grupo de especialistas JSR 226: Scalable 2D Vector Graphics API que define a API Java ME para apresentação e manipulação de SVG. Esta API foi implementada no S60 Platform 3rd Edition Feature Pack 1 e posteriores. Alguns telefones da Série 40 também suportam SVG (como o Nokia 6280).
A maioria dos telefones Sony Ericsson começando com K700 (por data de lançamento) suporta SVG Tiny 1.1. Os telefones começando com K750 também suportam recursos como opacidade e gradientes. Telefones com Sony Ericsson Java Platform-8 têm suporte para JSR 226.
O Windows Phone oferece suporte a SVG desde a versão 7.5.
SVG também é compatível com vários dispositivos móveis da Motorola, Samsung, LG e Siemens mobile/BenQ-Siemens. eSVG, uma biblioteca de renderização SVG escrita principalmente para dispositivos incorporados, está disponível em algumas plataformas móveis.
Autoria
As imagens SVG podem ser produzidas usando um editor de gráficos vetoriais, como Inkscape, Adobe Illustrator, Adobe Flash Professional ou CorelDRAW, e renderizadas em formatos de imagem raster comuns, como PNG, usando o mesmo software. Além disso, editores como Inkscape e Boxy SVG fornecem ferramentas para rastrear imagens raster até curvas de Bézier, normalmente usando back-ends de rastreamento de imagem como potrace, autotrace e imagetracerjs.
O software pode ser programado para renderizar imagens SVG usando uma biblioteca como a librsvg usada pelo GNOME desde 2000, Batik e ThorVG desde 2020 para sistemas leves. Imagens SVG também podem ser renderizadas em qualquer formato de imagem popular desejado usando ImageMagick, um utilitário de linha de comando gratuito (que também usa librsvg nos bastidores).
Para aplicativos baseados na Web, o modo de uso denominado Inline SVG permite que o conteúdo SVG seja incorporado em um documento HTML usando uma tag <svg>
. Seus recursos gráficos podem então ser empregados para criar interfaces de usuário sofisticadas, já que SVG e HTML compartilham contexto, manipulação de eventos e CSS.
Outros usos do SVG incluem incorporação para uso em processamento de texto (por exemplo, com LibreOffice) e editoração eletrônica (por exemplo, Scribus), plotagem de gráficos (por exemplo, gnuplot) e importação de caminhos (por exemplo, para uso no GIMP ou Blender). Os serviços de aplicativos Microsoft 365 e Microsoft Office 2019 oferecem suporte para exportação, importação e edição de imagens SVG. O identificador de tipo uniforme para SVG usado pela Apple é public.svg-image
e está em conformidade com public.image
e public.xml
.
Segurança
Como formato de documento, semelhante aos documentos HTML, o SVG pode hospedar scripts ou CSS. Isso é um problema quando um invasor pode fazer upload de um arquivo SVG para um site, como uma foto de perfil, e o arquivo é tratado como uma imagem normal, mas contém conteúdo malicioso. Por exemplo, se um arquivo SVG for implantado como uma imagem de fundo CSS, ou um logotipo em algum site, ou em alguma galeria de imagens, quando a imagem for carregada em um navegador, ela ativará um script ou outro conteúdo. Isso poderia travar o navegador (o ataque do bilhão de risadas), mas também poderia levar à injeção de HTML e a ataques de script entre sites. O W3C, portanto, estipula certos requisitos quando SVG é usado simplesmente para imagens: Segurança SVG.
O W3C afirma que o Inline SVG (um arquivo SVG carregado nativamente em um site) é considerado um risco de segurança menor porque o conteúdo faz parte de um documento maior e, portanto, scripts e CSS não seriam inesperados.
Trabalho relacionado
O padrão MPEG-4 Parte 20 - Lightweight Application Scene Representation (LASeR) e Simple Aggregation Format (SAF) é baseado em SVG Tiny. Foi desenvolvido pela MPEG (ISO/IEC JTC 1/SC29/WG11) e publicado como ISO/IEC 14496-20:2006. Os recursos SVG são aprimorados no MPEG-4 Parte 20 com recursos importantes para serviços móveis, como atualizações dinâmicas, codificação binária e representação de fontes de última geração. O SVG também foi acomodado no MPEG-4 Parte 11, no formato Extensible MPEG-4 Textual (XMT) - uma representação textual do conteúdo multimídia MPEG-4 usando XML.
Contenido relacionado
Kazaa
Lince (navegador da web)
Paul Vixie
Computador Atanasoff-Berry
Detecção e correção de erros