Sobre o meu trabalho com tipografia e software livre
Eu tenho a alegria de trabalhar profissionalmente com desenvolvimento de software livre em tempo integral. E uma das vantagens disso (além de ser uma grande realização pessoal para um ativista como eu) é que eu posso falar abertamente sobre absolutamente todos os detalhes do trabalho que eu desenvolvo. Não há necessidade de sigilo dado que todo o meu código é disponibilizado publicamente na Internet. E é por isso que resolvi abrir essa thread aqui no Fiozeira. A idéia é mostrar um pouquinho do dia-a-dia de um desses meus projetos profissionais e, quem sabe, inspirar mais pessoas a buscarem também a formação de uma carreira em software livre.
Mas e a tipografia ?
Em linhas gerais eu tenho trabalhado no desenvolvimento de um projeto chamado FontBakery, que é uma ferramenta para controle de qualidade de fontes tipográficas. Esse programa é genérico e pode ser utilizado por qualquer pessoa interessada em verificar se uma família tipográfica possui algum problema (que já tenhamos descrito na suite de testes). Mas, em particular, ele é usado pelo time do Google Fonts para avaliar o nível de qualidade das famílias, como parte do processo de publicação de novas fontes em seu acervo público.
Recentemente, entretanto, tive a oportunidade de dedicar parte do meu tempo à implementação de suporte a fontes variáveis no Inkscape. E é com muita alegria que estou trabalhando nessa nova feature, dado que o Inkscape, software livre de desenho vetorial, foi minha porta de entrada ao mundo do desenvolvimento de software livre cerca de 10 anos atrás.
O que são Fontes Variáveis ?
Nesse texto, fontes variáveis refere-se a uma adição recente ao padrão OpenType, em sua versão 1.8 lançada recentemente, que permite aos designers especificarem regras paramétricas definindo as caracteristicas das fontes. Com essa tecnologia, os usuários de fontes tipográficas podem interpolar os estilos das fontes ao longo de múltiplos eixos de configuração. O exemplo clássico disso seria a interpolação do peso de uma face, gradativamente desde seu peso regular, até seu peso Bold (ou Negrito). Ou, no sentido oposto, até o extremo da fonte mais fina/leve possível de uma determinada família.
O mesmo tipo de ajuste pode ser feito ao longo de outros eixos “canônicos” que definem atributos como o espaçamento dos glifos, ou a intensidade da inclinação (itálico), etc. E, por fim, é possível também especificar eixos de interpolação arbitrários que podem alterar qualquer outro aspecto da fonte, ao gosto e livre à criatividade dos desiners de fontes.
Para saber mais detalhes sobre essa tecnologia e suas origens, recomendo a leitura deste artigo (em inglês) sobre o tema:
Próximos posts: o que esperar…
Dada essa introdução geral à tecnologia de fontes variáveis e ao objetivo da tarefa - que é possibilitar que usuários do Inkscape possam selecionar fontes variáveis e ajustar seus parâmetros durante a criação de suas artes vetoriais - gostaria de dar uma pequena pausa pois, em seguida, partirei para uma análise mais detalhada sobre as bibliotecas de software que já temos disponíveis para a implementação desta feature, e muitos outros detalhes técnicos sobre a minha estratégia de implementação.
Vale mencionar também que estou escrevendo essa postagem antes de ter de fato implementado o código. Então é possível, e provável, que os posts dessa thread sejam um pouco tortuosos e construidos gradativamente, conforme eu mesmo for aprendendo mais sobre essa parte do código-fonte do Inkscape e conforme eu for decidindo quais os melhores caminhos a seguir. E, se tudo der certo, teremos em breve uma nova super-feature no Inkscape para os amantes da tipografia
Happy Hacking,
Felipe “Juca” Sanches