Contactar o apoio

Respondemos por e-mail, normalmente em dois dias.

Para prevenir abusos, o Google reCAPTCHA verifica este envio; alguns dados são transmitidos ao Google. O script só é carregado quando abre este formulário.

← Todos os artigos

A nossa própria verificação media 32 por cento a mais

Uma verificação escrita a 27 de agosto apontou 196 legendas de diagramas como largas demais para a imagem onde estão. Corrigi-las custou um dia. 103 nunca foram largas demais.

legendas assinaladas como largas demais primeiro aviso 196 medição e entidades corrigidas 93 geometria movida 38 regra do bordo corrigida 3 quatro legendas encurtadas 0 5.093 legendas medidas em 77 artigos e onze línguas 103 das 196 nunca foram largas — larga era a verificação

Pontos não são píxeis

A verificação mede uma legenda com o GD contra um ficheiro de tipo de letra real:

$bb = imagettfbbox(13, 0, $font, $text);

13 é o tamanho de letra da folha de estilos, em píxeis. imagettfbbox() recebe o tamanho em pontos. Estava a medir 13pt, ou seja 17,3px, e cada legenda saía 96/72 — um terço — larga demais.

A certeza veio de perguntar a algo que desenha texto a sério. Um Chromium sem janela consegue carregar o diagrama verdadeiro e indicar para cada legenda o getComputedTextLength(). Com 13 os dois divergiam num terço. Com 13 * 72 / 96, isto é 9,75, coincidem dentro de meio por cento: 219 contra 219 píxeis numa legenda, 561 contra 559 numa mais longa.

O tipo de letra sempre esteve certo

A verificação mede contra o DejaVu Sans, e o comentário por cima pedia desculpa por isso: o DejaVu é mais largo do que aquilo que a maioria vê, por isso o limiar estava nos 92 por cento.

Medida, a escolha revela-se exatamente certa, mas por outra razão que a declarada. Das letras que a pilha deste sítio consegue alcançar, o DejaVu é a mais larga. A mesma frase: DejaVu 219 píxeis, Liberation 194, Cantarell 193, FreeSans 188. Quem lê no Windows ou num Mac tem mais espaço, nunca menos. A medição não é prudente, é o pior caso, e é isso que uma verificação deve medir.

O que sobrou depois da conta

93 avisos sobreviveram à medição corrigida. Desses, 33 revelaram-se uma regra e não uma falha: a verificação guardava dez unidades de margem em relação ao bordo e tratava-a como limite rígido, portanto um ano a três unidades do bordo contava como cortado. Nada estava cortado. O limite é agora o próprio bordo, e a questão do aperto pertence ao limiar dos 95 por cento.

O que sobrou era real: legendas a passar por baixo de barras, colunas estreitas demais para uma frase em russo, uma legenda atravessada sobre a caixa vizinha. Corrigido movendo geometria, o que é barato: a geometria é idêntica nas onze linhas de língua, portanto uma substituição literal corrige onze. Quatro legendas eram mesmo mais compridas do que a imagem inteira, numa língua cada, e essas foram encurtadas.

O que se generaliza

Uma verificação errada num só sentido é pior do que verificação nenhuma, porque fabrica trabalho. Dois terços de um dia foram para diagramas que estavam bem, e a única razão pela qual o resto foi corrigido é que os avisos falsos estavam ao lado dos verdadeiros.

O que desempatou não foi ler o código com mais atenção. Foi medir a medição contra algo independente que desenha texto verdadeiro — e isso custou dez minutos, depois de uma semana a confiar na verificação.

Publicidade