Linux slogan
Visite também: BR-Linux.org · Dicas-L · NoticiasLinux · SoftwareLivre.org · UnderLinux · BestLinux
» Screenshot



» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha

» Wallpaper


Artigo

cal2svg - brincando com shell script e arquivos vetoriais SVG
Linux user
hra
31/05/2005
Este artigo é na verdade uma apresentação de um programinha que fiz que gera calendários em formato SVG. É um shell script bem simples, mas que faz o que promete. E a idéia fica no ar, possivelmente o SVG seja um bom formato para gerar muitas coisas via shell script, pois é fácil de usar e com resultados surpreendentes. Conheça o formato SVG e comece a usar desde já!
Por: Hamilton R. Amorim
[ Hits: 10349 ]
Conceito: 8.2   5 voto(s)5 voto(s)5 voto(s)5 voto(s)5 voto(s) + quero dar nota ao artigo

A idéia

Já faz um tempo que estou querendo desenvolver um programinha que gere calendários personalizáveis. Tentei com Delphi e PHP, mas definitivamente a melhor solução que consegui foi com a simples combinação Bash + awk + cal, ou seja, shell script puro.


Com Delphi eu gerava uma imagem que depois importava no GIMP e melhorava, mas não tinha como mudar fontes e outras coisas. Tinha que programar tudo, era muito chato ficar criando os efeitos no Delphi.

Com PHP eu gerava HTML, cheio de tabelas, mas depois acabava que os editores de texto não importavam o layout corretamente. Enfim, não ficava modificável.

Foi então que (por acidente) percebi que o padrão de desenhos vetoriais SVG é um XML em texto puro - maravilha. Dei uma estudada nos arquivos salvos pelo Sodipodi (e Inkscape) e montei esse script que gera calendários totalmente personalizáveis.


O arquivo SVG gerado pelo Sodipodi dá um pouco de medo no inicio. Parece uma linguagem alienígena, mas olhando mais atentamente fica claro o que realmente importa naquele amontoado de coisas. Com alguns testes logo montei um arquivo bem enxuto, com apenas 3 linhas e menos de 50 bytes, um arquivinho bem didático, só pra testes mesmo:

<svg>
<text x="10mm" y="20mm"> meu texto de teste </text>
</svg>

Fui montando outros testes com mais recursos como alinhamento e fonte, tudo com uma técnica muito simples: gerar a formatação no Sodipodi e ver num editor de textos como foi que ficou o arquivo. Técnica rápida e eficaz.

Existe na Internet vasta informação sobre como gerar SVG, mas não tenho Internet em casa e no trabalho não sobra tempo pra estudar. Então restou improvisar.

O resultado foi fantástico. Percebi que estava perdendo tempo ao tentar gerar material visual em outros formatos. O SVG é perfeito pra esse tipo de coisa. A vantagem de gerar no formato vetorial é que o resultado é livre para ser modificado. Pode mudar fonte, tamanho, aspecto, cor, tudo. Inclusive pode gerar o arquivo num editor de textos, como se fosse um HTML.


Clique para ampliar

O trabalho do script fica por conta de te poupar do tédio de precisar digitar cada número (cada dia do ano) e por na posição adequada.

Esse calendário do screenshot eu fiz em menos de 5 minutos e ainda precisei acertar a posição dos meses.

Próxima página >>


Páginas do artigo
   1. A idéia
   2. O shell script
   3. Concluindo, possibilidades

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por k2 em 31/05/2005 - 08:06h:

Belo artigo: objetivo bem escrito e com ferramentas acessíveis e funções comuns para algo diferente.Parabéns!

[2] Comentário enviado por aurium em 13/06/2005 - 21:29h:

Meus parabéns Hamilton!

Bem, como você comentou que tem dificuldade para acessar a internet vou deixar aqui umas dicas pra você não perder tempo procurando. ;-)

A Especificação do formato SVG:
http://www.w3.org/TR/SVG11/

Veja também a página sobre SVG na W3C:
http://www.w3c.org/Graphics/SVG

No Croczilla você vai ver outras viajens legais com SVG:
http://www.croczilla.com/svg/

Gostei do seu artigo e linquei nesses sítios onde colaboro com conteúdo:
http://twiki.softwarelivre.org/bin/view/Arte/SVG
http://twiki.im.ufba.br/bin/view/PSL/SVG

Hasta!
Aurium

[3] Comentário enviado por mailws em 21/11/2005 - 04:52h:

Não entendi nada

[4] Comentário enviado por angelojhm em 15/05/2007 - 19:07h:

show de bola


Contribuir com comentário
  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Copyleft 2002-2009 Viva o Linux.com.br

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.