Group chat: FontBakery
Olá!
Forwarded message from Anderson Reis:
Salve Felipe. Como eu posso contribuir no projeto FontBakery?
Acho que o primeiro passo é dar uma olhadinha no repositório do projeto e ver a descrição e um pouco do código
Essa ferramenta é uma suite de testes para fontes
Cesar Scavone:
Felipe, você vai orientar os iniciantes em programação? Minha experiência é pouca.
a função da ferramenta é gerar um relatório de problemas em arquivos de fontes
ou em famílias tipográficas (família = conjunto de fontes que compartilham um mesmo aspecto visual, mas com pesos/estilos diferentes, por exemplo, Regular, Bold, Italics, etc...)
O projeto é todo escrito em python
se vocês quiserem eu posso fazer um evento no Garoa algum dia pra dar uma visão geral do projeto
Cesar Scavone:
Pode marcar, eu vou.
legal
vou tentar ver uma data boa aqui na minha agenda e eu aviso aqui
por enquanto podemos ir conversando por aqui mesmo
vocês conhecem o projeto Google Fonts ?
o Google Fonts é um acervo de tipografias livres
mantigo pelo Google
tem 800 e poucas famílias tipográficas disponíveis (o que significa um total de cerca de 3 mil fontes livres)
Jeferson:
Vou dar um google mais fundo no assunto
Os designers de páginas web podem usar essas fontes em seus sites
entrando no site
google.com/fonts dá pra navegar no acervo e escolher as fontes desejadas e o site informa qual o trecho de HTML/CSS que precisa ser adicionado a um site para usar aquelas fontes escolhidas
Making the web more beautiful, fast, and open through great typography
O FontBakery é uma suíte de testes que ajuda os designers a corrigirem todos os problemas que possam existir nas fontes antes delas serem disponibilizadas no site do Google
Esse é o principal objetivo do FontBakery: Controle de qualidade para o acervo do projeto Google Fonts.
Mas também é útil como ferramenta genérica para controle de qualidade de qualquer fonte tipográfica
todo o código é escrito em python
Dá também pra instalar o FontBakery a partir do PyPI:
https://pypi.python.org/pypi/fontbakery/fontbakery 0.3.1 : Python Package Index
Font Bakery is a set of command-line tools for testing font projects
De tempos em tempos eu faço um release novo. No momento estou trabalhando no desenvolvimento do que será em breve a versão 0.3.2
Se vocês quiserem dar uma lida no código e talvez também em alguns dos bugs do nosso bug-tracker, eu posso tirar dúvidas pra esclarecer o que eles significam. É só perguntar aqui que eu tento esclarecer.
Felipe "Juca" Sanches updated group photo
Jeferson:
Amanha eu consigo olhar o repo
;-)
Jeferson:
E me familiarizar com os codigos
Jeferson:
Consigo separar um tempo no trampo msm pra ler
cada um no seu rítmo. Ficarei feliz se eu coneguir ajudar alguns de vocês a conhecerem de perto como funciona um projeto de software livre (caso já não conheçam, claro)
Jeferson:
Eu ainda nao conheco, mas to imteressado
Jeferson:
E no processo de engenharia de software na pratica tbm
haha
eu não faço engenharia de software. Eu faço software. :-D
Tem um alemão no time que ajuda a dar umas reorganizadas gerais no projeto. Mas em geral a coisa é feita no dia-a-dia aos pouquinhos
adaptando
e melhorando graduamente
Jeferson:
Rsrsrs...de boa
Jeferson:
Seria um "continuous delivery"?
;-)
prefiro chamar de "cada dia melhor"
Felipe "Juca" Sanches added Yabadabaduca
:-)
Felipe "Juca" Sanches added Vinicyus
Vinicyus:
Cara, alguma dica de como começar a contribuir? Tipo pegar issues ou algo assim
Vinicyus:
Eu entendo um pouco de python mas nunca contribui pra projeto open source
é... o bug tracker no github tem um monte de coisas que precisam ser feitas. Hoje, por exemplo, eu estou trabalhando na implementação de um teste novo, descrito nessa issue:
https://github.com/googlefonts/fontbakery/issues/1488Check: Combined length of family and style name must not exceed 20 characters · Issue #1488 · googlefonts/fontbakery
https://glyphsapp.com/tutorials/multiple-masters-part-3-setting-up-instances says
Keep your style name short to avoid problems in Windows. How short? Well, you are on the safe side if the combined...
Vinicyus:
Legal, vou pegar uma issue quando puder e trabalhar nela
Os testes são implementados no arquivo Lib/fontbakery/specifications/googlefonts.py
são testes para avaliar arquivos de fontes
mas há também testes de código (pra certificar que o código em si está OK). Esses "auto-testes" ficam em Lib/fontbakery/specifications/googlefonts_test.py
implementar mais auto-testes pode ser uma tarefa mais simples pra quem está começando
Felipe "Juca" Sanches added Vinicius Melo
Vinicius Melo:
Olá! Cheguei agora, sou iniciante em programação e tô pegando python pra estudar 😊
Vinicius Melo:
Agora sou de Salvador (terra de aurium) tem algum problema?
Claro que não! Software livre é pro mundo todo!
Vinicius Melo:
Dar uma olhada no repo agora
dá uma lida no histórico daqui desse grupo e veja se tem alguma dúvida, curiosidade, etc
Vinicius Melo:
Sim, fui lendo
o código do FontBakery usa muito de uma biblioteca chamada fontTools, que é desenvolvida por um cara que era da RedHat, mas hoje em dia trabalha pro Google. O nome dele é Behdad.
Vinicius Melo:
Tu usa bastante da libmagick e C né?
eu, pessoalmente, uso bastante C, sim. Quase não uso libmagick. Mas o FontBakery é todo em python mesmo.
a biblioteca fonttools nos dá acesso aos dados internos de arquivos de fontes OpenType
e são esses dados que a vasta maioria dos testes do fontbakery visa validar, pra ter certeza de que estão todos corretos
seria bacana ter uma forma de listar esses testes por meio da linha de comando... uma opção assim, por exemplo: fontbakery check-googlefonts --list-tests
isso seria muito útil
Vinicius Melo:
Certo, esses foram escritos manualmente?
aquela lista que tá na wiki eu gerei manualmente
usei uns truques de editor de texto pra facilitar minha vida, claro
Vinicius Melo:
Tu se baseou em qual arquivo?
Vinicius Melo:
Claro né kkk
no Lib/fontbakery/specifications/googlefonts.py
Vinicius Melo:
Nessas partes?
Vinicius Melo:
"""Check font has a license"""
exato
Vinicius Melo:
Então em tese, usar regex?
mas eu acho que o lugar pra adicionar o código de listar testes deve ser no arquivo Lib/fontbakery/commands/check_spec.py
Vinicius Melo:
Sim, entendo
acho que não
eu usaria regex se eu fosse extrair os dados do arquivo de código fonte
Vinicius Melo:
Foi o que tinha pensado kkk
mas o que acho que precisaria ser feito aqui é pegar os dados em runtime
assim como o programa é capaz de exibir essas informações ao usuário no terminal no momento de gerar as mensagens dos resultados dos testes, daria também para coletar essas informações e listar quais testes estão disponíveis
Felipe "Juca" Sanches added Vinicius Mesel
Felipe "Juca" Sanches added Alexandre Villares
Pessoal, acabei de implementar o teste referente à issue #1488
https://github.com/googlefonts/fontbakery/pull/1583new test: length of family + style must not exceed 20 chars by felipesanches · Pull Request #1583 · googlefonts/fontbakery
This is also the first test using the new markup for rationale, affected applications/OS/browsers, etc...
And includes a proper code-test as well. Future new test requests/implementations should tr...
Toda vez que abro um pull request, o Travis roda uma suite de testes automatizados no servidor pra me dizer se tem algum problema impedindo que eu mescle o código no branch master
Se passar nos testes automatizados, posso fazer o merge e fechar a issue.
Uma coisa interessante é que eu não apenas implementei um teste novo para o FontBakery como também implementei um auto-teste para verificar que meu código funciona corretamente. E são esses "auto-testes" que rodam no Travis.
Se tiverem dúvidas, é só perguntar. Acho que esse é um ótimo exemplo de como as coisas funcionam.
OK! O Travis deu sinal verde! Então eu posso fazer o merge :-)
E fechar a issue também!
Feito :-D
Vinicius Melo:
Vc que passa os parâmetros pro Travis?
o Travis já está configurado por meio de um arquivo .travis.yml na raiz do projeto. E uma vez na vida eu configurei pro travis rodar nesse projeto a cada pull request
então ele lê o arquivo de configuração e faz o que tá escrito lá
Vinicius Melo:
Hm, muito bom
que é basicamente rodar um pylint pra ver se tem erros de sintaxe
e também rodar a suite de auto-testes
ele instala todas as dependências no servidor a partir de um container zerado de GNU+Linux e depois roda os auto-testes. Então isso nos dá uma boa garantia de que tá tudo redondinho e de que eu não quebrei nada sem querer com as alterações propostas
os auto-testes são importantes por isso
Vinicius Melo:
Sim, curti
entretanto, hoje em dia só uns 30% dos testes do FontBakery possuem auto-testes
seria importante eu (ou alguém) implementar os auto-testes para todos os outros testes que já temos
de agora em diante estou adotando a política de não adicionar novos testes ao FontBakery se eles não estiverem acompanhados também de auto-testes
assim pelo menos o problema não aumenta
tem uma issue específica sobre essa suite de "auto-testes" aqui:
https://github.com/googlefonts/fontbakery/issues/1413[new-arch] A testsuite for the testsuite! · Issue #1413 · googlefonts/fontbakery
While porting fontbakery checks to the new architecture (#1388) I dealt with a bunch of crash bugs (introduced by a few silly mistakes by myself during the port). I think it would be wise to write ...
Felipe "Juca" Sanches added Ma
Mas é um bom exemplo de como escrever um auto-teste rigoroso
Felipe "Juca" Sanches added Fabiano Salles
Vinicius Melo:
@fsanches depos quero pegar a issue de mostrar os testes na cli
:-)
ok, então vou cadastrar uma issua lá descrevendo isso (existe o risco de alguém implementar antes de você, é claro, hahaha)
Talvez o Lasse Fister seja mais rápido
mas sempre tem mais bugs a serem resolvidos
Vinicius Melo:
como tá teu tempo pra me dar uns helps nessa issue mais tarde?
eu estou focado em implementar os auto-testes. Acho que o que faz mais sentido é você arregaçar as mangas e tentar. Se depois de tentar por um tempo você enroscar, aí pode perguntar aqui que eu tento tirar as dúvidas :-)
eu estarei indisponível das 16h às 17h
participando de uma reunião
https://github.com/googlefonts/fontbakery/issues/1586Add a --list-tests command line argument to describe the tests of a given specification · Issue #1586 · googlefonts/fontbakery
For instance, if one wants to know which are the titles, descriptions and IDs of all tests available in the Google Fonts specification, then it would possible to list that info with the following c...
O que acontece com os "Vinis" por aqui? Temos 3 de vocês,
@vinicyus_m (Vinicyus)
@vmesel (Vinicius Mesel) e
@vinimlo (Vinicius Melo) !
Caraca! E os 3 são "Vini M."
Vinicyus:
Eu sou o único com y
Desculpa, gente... eu sou programador. Minha maior habilidade é a detecção de padrões...
Então vou ter que me referir ao Melo, ao Mesel e ao Y :-P
Vinicius Mesel:
uahsauhsahuasuhsauahs
Vinicius Melo:
Krai kkkkk
acabei de implementar um auto-teste para o teste número 098:
https://github.com/googlefonts/fontbakery/pull/1587pytest 098: test for good metadata font.name field format by felipesanches · Pull Request #1587 · googlefonts/fontbakery
This pull request addresses the problems described at issue #1530
ok, voltei. O próximo auto-teste que vou fazer é o 099 ;-)
Acho que é bem parecido com o anterior, então deve ser fácil
Ma:
Boa noite, estou analisando para entender, aprender e poder ajudar.
:-)
hoje implementei um montão de auto-testes
e, de fato, esbarrei em alguns bugs detectados pelos auto-testes
então está sendo benéfico escrever os auto-testes. Estão cumprindo a função de alertar para situações onde o código está errado e precisa ser corrigido
Yabadabaduca:
Bom dia!
Comecei a dar uma estudada este fim de semana
Yabadabaduca:
@fsanches nesses testes vc usa o Jenkins?
Não. Os auto-testes são executados automaticamente no servidor do TravisCI
Yabadabaduca:
Hmmm... Mais leve e clean
Felipe "Juca" Sanches added Aurelio Heckert
hoje fiz uma limpeza geral no código, dei uns tapas nos nomes de todas as funções does testes e revisei várias docstrings
E tropecei num bug, então acabei corrigindo-o, só por costume :-)
https://github.com/googlefonts/fontbakery/pull/1593bugfix test/095 + rename all test functions and review some of the test and self-test docstrings by felipesanches · Pull Request #1593 · googlefonts/fontbakery
This pull request addresses the problems described at issue #1530
@aurium é um colega meu de longa-data
Juntos nós fomos na década passada os dois únicos desenvolvedores do Inkscape
Vinicius Melo:
Conheço demais
Vinicius Melo:
Estava com ele tem poucos minutos kkk
depois tiveram alguns outros brazucas que apareceram de forma passageira
tô sabendo :-)
fico feliz
Vinicius Melo:
Já resolveram aquela issue da cli pra listar os testes?
não sei... deixa eu ver
https://github.com/googlefonts/fontbakery/issues/1586Add a --list-tests command line argument to describe the tests of a given specification · Issue #1586 · googlefonts/fontbakery
For instance, if one wants to know which are the titles, descriptions and IDs of all tests available in the Google Fonts specification, then it would possible to list that info with the following c...
Vinicius Melo:
Vou ver se pego essa issue pra fazer
Vinicius Melo:
Mas vou precisar de uma ajuda na lógica
ok
Vinicius Melo:
Onde pesquisar e tudo
ok, conversamos
hoje estou fechando o dia
amanhã de manhã estarei por aqui
Vinicius Melo:
Manhã é que horas?
se quiser fritar o cérebro ai de madrugada você consegue tirar dúvidas comigo pela manhã hahaha
a partir das 9h eu já tô na frente do laptop
Vinicius Melo:
Maravibelezura
Vinicius Melo:
Vou fazer isso então
Vinicius Melo:
Recomenda algo antes de tudo?
Vinicius Melo:
Alguma leitura*
hmmmm...
Lib/fontbakery/specifications/googlefonts.py
Lib/fontbakery/testrunner.py
acho que o mais provável é que o que você procura esteja talvez em Lib/fontbakery/commands/check_spec.py
eu começaria por esse
mas não tenho certeza
Vinicius Melo:
Vou estudar kkk
boa noite!
e Happy Hacking ! :-D
Vinicius Melo:
Hehe, valeu ;-)
Forwarded message from Felipe "Juca" Sanches:
a primeira linha de código que eu vi na vida era escrita em clipper
Forwarded message from Felipe "Juca" Sanches:
eu ia toda sexta-feira para a casa do meu pai, pois meus pais são divorciados e eu morava com a minha mão e passava o final de semana com meu pai
Forwarded message from Felipe "Juca" Sanches:
mas pra ir pra casa dele eu precisava esperar ele sair do trabalho
Forwarded message from Felipe "Juca" Sanches:
então eu ia para a agência do banco do brasil onde ele trabalhava e ficava esperando lá
Forwarded message from Felipe "Juca" Sanches:
o povo me botava pra dentro da agência e os programadores que trabalhavam de sys-admin no banco me botavam pra jogar DOOM num dos 386 lá
Forwarded message from Felipe "Juca" Sanches:
e continuavam programando os sistemas do banco
Forwarded message from Felipe "Juca" Sanches:
eu era curioso e ia lá encher a paciencia deles
Forwarded message from Felipe "Juca" Sanches:
e ficava olhando pras telas
Forwarded message from Felipe "Juca" Sanches:
perguntei o que era e um deles me disse: "É clipper"
Forwarded message from Felipe "Juca" Sanches:
e me explicou que era uma linguagem de programação
Forwarded message from Felipe "Juca" Sanches:
e eu fiquei super entusiasmado, por que eu morria de curiosidade de saber como é que os jogos (como o DOOM, por exemplo) eram feitos. E ver ali do meu lado gente que sabia fazer programas de computador era algo incrível pra mim.
Forwarded message from Felipe "Juca" Sanches:
lembro que achei bizarro alguém entender aquelas letrinhas esquisitas na tela preta
Forwarded message from Felipe "Juca" Sanches:
<corta, 20 e poucos anos depois...>
Forwarded message from Felipe "Juca" Sanches:
Vinicius Melo:
Tinha lido no do garoa kk
:-)
Vinicius Melo:
Uma ótima história
Vinicius Melo:
Eu quase fui assim
achei justo compartilihar por aqui, pra motivar a galera
Vinicius Melo:
Mas corta uns 8 anos atrás
Vinicius Melo:
Já existia Delphi, essas outras mais "recentes"
Vinicius Melo:
Mas eu comecei quando jogava, ficava "programando" macro pra jogo
Vinicius Melo:
Todo mundo tinha uns Scripts maneiros, eu queria criar também kkk
;-)
Vinicius Melo:
(seria legal se outros daqui compartilhassem como se interessaram né)
sim
seria bem legal
diz aí, galera!
Fabiano Salles:
Bacana... valos lá então.
Fabiano Salles:
Eu comecei tarde...
Trabalhava como designer (diagramador, na verdade) em um jornal diário chamado "O Povo". Tinha uns 15 anos mais ou menos.
Fabiano Salles:
Usava uma ferramenta chamada QuarkXPress e todo dia vinha uma montanha de texto da redação pra distribuir nas minhas páginas.
Fabiano Salles:
Eu tinha que montar 16 páginas por edição e era um suplício quando surgia um texto de última hora pra encaixar.
Tinha um grupo de irc que eu acompanhava e compartilhei o problema só por vontade pra desabafar mesmo quando, pra minha surpresa, alguém que passava pelo mesmo problema em algum lugar da holanda me enviou um script em vb para extender o software.
Fabiano Salles:
O script redistribuía os textos, aumentando ou diminuindo espaçamento entre palavras e linhas com um preview quase em tempo real. Não entendi patavinas do que tava escrito alí, mas pirei!
Fabiano Salles:
Aí comecei a estudar pra tentar fazer outras coisas.
Então uns 6 meses depois consegui colocar um botão dentro do QuarkXpress pra gerar os arquivos em post script e subir no fdp da gráfica
o FDP do FTP
Fabiano Salles:
Era só um monte de chama de função da api do programa, mas eu fiquei me sentindo fodão! kkk
Fabiano Salles:
aí não parei mais
Fabiano Salles:
e em algum ponto remoto do tempo, larguei o design e fui pra engenharia
Fabiano Salles:
kkkkkkkkkkkk
Fabiano Salles:
Fabiano Salles:
Quark 2.11.
Nostalgia bateu forte agora. :)
Fabiano Salles:
ops, 3.11!
3.11 me lembra Windows "para Workgroups"
Fabiano Salles:
tempos sombrios, meu camarada!
Yabadabaduca:
Bom dia!
Eu comecei a me interessar por programa de computadores quando troquei um video game que eu tinha por um tk-95... Achava mágico... Mas quando terminei o segundo grau entrei para faculdade de fisioterapia... Na faculdade tinha computador com internet e vários livros de computação... Frequentei muuuuito a biblioteca de lá. Me formei, trabalhei na área mas a partir daí não parei mais de brincar no computador. Hj tenho formação na área de TI, mas programo (ou tento) por hobby.
Ma:
Bom dia à todos.
@fsanches só para avisar que te mandei mensagem sobre o projeto, porém no prv.
Forwarded message from Ma:
Bom dia Felipe.
Tudo bem?
Forwarded message from Ma:
Sobre o projeto fonts, andei vendo mas senti muita dificuldade em entender e poder ajudar, gostaria de saber se teria algum tempo para poder me dar umas dicas
Forwarded message from Ma:
Pode ser lá no Garoa, é só marcar e eu vou
Forwarded message from Ma:
Pois achei um projeto muito interessante e quero aprender e ajudar
Não tem necessidade de conversar em privado.
Peço que mantenham todas conversas aqui mesmo
Trata-se de um projeto de software livre. Juntando todo mundo fica mais fácil de todo mundo aprender junto.
Estou trabalhando no preparo de um novo release
da versão 0.3.2 no PyPI
PyPI = Python Package Index
Estou revisando as dependências para ver se tem alguma coisa que possamos "enxugar":
https://github.com/googlefonts/fontbakery/issues/1602Map all FontBakery dependencies and try to minimize the dependency tree · Issue #1602 · googlefonts/fontbakery
FontBakery depends on a whole bunch of third-party python modules and other external programs.
The goal here is to map them all listing which tests or fixer scripts rely on each.
No github dá pra clicar na estrelinha de um repositório para seguí-lo
aí quando há novas postagens no issue tracker, ou novos pull requests, por exemplo, dá pra receber notificações via email
e, assim, acompanhar mais de perto o dia a dia do projeto
Aurelio Heckert:
Juca, transforma esse grupo em supergrupo e coloca um @nome nele pra gente poder digulgar 😉
Aurelio Heckert:
E aí essa galera?
yo!
https://www.youtube.com/watch?v=Kqhzg89zKYwTYPO Labs 2018 | Lasse Fister
The talk by Lasse Fister introduced Font Bakery, and unpack the opportunity for foundries to collaborate on technical font quality assurance, and take a peek...