Quarta-feira, 04 de fevereiro de 2009 às 10h30

sIFR: Tipografia e HTML

Faça o curso: jQuery na Prática

Quem nunca, ao desenvolver um site, pensou em utilizar uma tipografia diferente dos padrões do sistema operacional, mas não arriscou por saber que quando o usuário acessasse, não conseguiria visualizar da mesma forma por não ter a fonte instalada?

Ou então pegou aquele layout já aprovado pelo cliente e se assustou quando percebeu que foi utilizada uma fonte que um micro comum jamais teria, e como não podia alterar converteu os textos em imagens para tentar salvar o trabalho?

Pois bem, pensando nisso, Mike Davidson e Mark Wubben (agradeça a eles) criou a técnica sIFR (Scalable Inman Flash Replacement). Essa técnica nada mais é do que a união de Flash + Javascript + CSS para substituir textos.

Talvez muitos já conheçam, mas acredito que a maioria ainda não sabe da existência dessa técnica que já está na sua versão sIFR 3.0.

Mas o que essa técnica faz?

Ela simplesmente converte um texto comum em um texto em Flash, mas com um detalhe importante: o texto convertido recebe uma nova tipografia. Dessa forma você consegue utilizar qualquer fonte em seu site de forma leve, fácil e amigável aos motores de busca.

E se o navegador do cliente não tiver suporte a Javascript ou Flash?

Calma, isso também foi pensado. Se o texto não for convertido para Flash, ele se manterá com uma formatação já pré-definida por você em sua folha de estilo.

Como isso é possível?

Vamos analisar o código abaixo:
<h5 id="fonte1">iMasters</h5>

h5 é a nossa tag de marcação e fonte1 é o nosso ID.

Uma função Javascript verifica se é possível utilizar Flash e faz a conversão. Veja:

sIFR.replace({
src: 'comics.swf'
      	,selector: 'h5#fonte1'
      	,css: '{ font-style: normal; color: #660000; }'
      	,selectable: false
});

O que ela faz?

Pega o valor dentro de h5#fonte1 e envia para o SWF (no exemplo acima comics.swf), que retorna o valor enviado, formatado com a nova tipografia e com o CSS informado.

Qual a vantagem de usar essa técnica?

Você pode utilizar qualquer fonte para formatar os textos sem utilizar imagens. Logo, você ganha qualidade, tempo em manutenção e facilita a vida dos motores de busca (pois terá um código otimizado).

Como utilizar passo-a-passo

Faça o download dos arquivos necessários clicando aqui.

Obs: Optei por usar a versão 3, mas no site está disponível a versão 2. A utilização é um pouco diferente entre as versões.

Concluído o download, extraia os arquivos em uma pasta. Os arquivos já estarão organizados em algumas pastas. Utilizaremos as pastas js, css e flash. Acesse a pasta flash e abra o arquivo sifr.fla. Nesse arquivo você vai escolher a fonte que deseja utilizar (dê dois cliques sobre o movieclip "holder" para acessar o texto e alterar a fonte).

Após alterar a fonte, exporte o swf normalmente. Você pode colocar qualquer nome no arquivo (por padrão utilizaremos o nome da fonte).

Crie um arquivo HTML e coloque um texto qualquer de exemplo, utilizando a tag h4 para marcar algumas partes. Inclua os arquivos sifr.css e sifr.js. Ex.

<link rel="stylesheet" href="css/sifr.css" type="text/css">
<script src="js/sifr.js" type="text/javascript"></script>

Obs. Respeite a estrutura das pastas. No exemplo citado, o arquivo.html e o SWF exportado estão na raiz.

Agora vamos utilizar a função Replace e Activate, que insere a nova tipografia.

<script type="text/javascript">
	var f3000 = {src: 'f3000.swf'};

	sIFR.activate(f3000);

	sIFR.replace(f3000,{
		,selector: 'h4'
		,css: '.sIFR-root {color: # 660000; font-size: 24px; }'
	} );
</script>

src: Arquivo com a fonte gerado por criado por você.

seletor: Tag onde encontra-se o texto a ser formatado. Você pode utilizar id e classes.

css: Formatação CSS. É utilizado da mesma forma que se utiliza no HTML.

Clique aqui e veja um exemplo.

Abaixo listei alguns links referentes a sIFR para que vocês possam conhecer melhor e descobrirem outras funcionalidades dessa técnica.

Abraços e até a próxima pessoal.

Referências (inglês):

Site oficial - http://www.mikeindustries.com/blog/sifr/

Fórum oficial - http://forum.textdrive.com/viewforum.php?id=20

sIFR Wiki/ Documentação - http://wiki.novemberborn.net/sifr/

sIFR 3 - http://wiki.novemberborn.net/sifr3/nightlies

3 comentários

 Diego de Biagi Bueno
26/02/2009 18h24

Mais simples

Legal Artur, fica mais direto colocar as formatações de fonte fora do arquivo js, porém creio que para muitas páginas esse método talvez não seja o ideal. Parabéns e obrigado.

 Artur Gonzallez
11/04/2009 00h46

Sem usar sIFR ou uma técnica parecida não é possível utilizar uma fonte que não seja padrão do SO (pelo menos desconheço). No caso de muitas páginas não vejo como problema, o problema que vejo é utilizar muitos textos ou textos longos em uma única página, isso vai tornar pesado o carregamento e ficará lento, pois o swf será gerado "dinamicamente".

Obrigado pelo comentário.

Abraço.

 Dyego Turl
16/09/2009 14h32

Segui os passos, mas local não funciona.

Tentei fazer o que estava descrito no tutorial, mas não funcionou aqui na minha máquina.
Analisei pelo firebug e tanto o css, quanto o JS foram carregados corretamente porém na execução não foi feito o replace.

Cancelar resposta

Qual a sua opinião?

Faça login abaixo ou cadastre-se rapidamente.


Sobre o Autor
Artur Gonzallez é Analista de Sistemas Web da empresa Ello Comunicação e Design (www.ellocomunicacao.com.br). Trabalha desde 1999 com desenvolvimento para Web utilizando tecnologias como ASP, PHP, JavaScript/DOM, Flash e XML."
Outros artigos do mesmo autor:

2001 - iMasters FFPA Informática Ltda - Todos os direitos reservados.