Otimizando a Symbols Nerd Font

󰃭 15 Nov 2025 (updated: 15 Nov 2025 )

Eu estava com um problema no Blog da Toca do Rapoelho: O Blog estava pesando demais, muito mais do que deveria para um Blog, com um tamanho que chegava a 1,1 MB, de acordo com o teste no Pingdom:

Tamanho do Site antes de Otimizar as Fontes

Isso pra mim, era inadmissível, afinal, eu queria um site bem mais leve. Mas, decidi dar uma olhada no que estava dando esse tamanho todo, e vi que o maior responsável eram as fontes. 931 KB em fontes.

Tamanho dos Conteúdos antes de Otimizar as Fontes

Mas, qual era a fonte que estava consumindo isso tudo de espaço? Bingo. Era a symbols-nerd-font. Que é basicamente uma fonte de ícones, e nada mais.

A Symbols Nerd Font com 870 KB de tamanho

E com isso em mente, pensei: Como otimizar essa fonte e reduzir o tamanho dela?

Como Otimizar a Fonte?

Claramente, eu precisava remover caracteres dessa fonte. Mas como fazer isso? Afinal, essa é uma fonte que tem mais de dez mil caracteres! Não é a toa que ele pesa tanto no site.

A Symbols Nerd Font com mais de dez mil caracteres

E assim, comecei a pesquisar na Internet. Até que cheguei num utilitário chamado glyphhanger, e que ele tinha uma opção para fazer “subsetting1”. Isso seria uma excelente solução pra mim. Primeiramente, instalei as dependências:

sudo pacman -Syu python-zopfli python-brotli python-fonttools

E depois, usando o npm, instalei o glyphhanger.

sudo npm install -g glyphhanger

Glyphhanger instalado, comecei a selecionar quais caracteres eu iria manter. E acabei chegando a esses aqui:

      󰇮                    󰃭      󱀈      

Como fazer isso? Criei um novo arquivo .md, para o Hugo gerar uma página com os ícones que eu queria manter, peguei o index.html com os ícones gerados e usando o glyphhanger, gerei um subconjunto da symbols-nerd-font. E foi com esse comando que eu fiz isso:

glyphhanger ./index.html --subset=*.woff2

E assim, foi gerado o subconjunto, muito menor do que a fonte original. De mais de dez mil caracteres para vinte. Somente aqueles que são necessários.

A Symbols Nerd Font com apenas vinte caracteres

Movi os arquivos gerados para a pasta /themes/ficurinia/static/fonts/symbols-nerd-font/ e modifiquei o symbols-nerd-font.css, que estava assim:

/* symbols-nerd-font */
@font-face {
	font-family: Symbols Nerd Font;
	font-style: normal;
	font-weight: 400;
	src: local("Symbols Nerd Font"), local("SymbolsNF"), url(symbols-nerd-font.woff2) format("woff2");
}

Para isso:

/* symbols-nerd-font */
@font-face {
	font-display: swap;
	font-family: Symbols Nerd Font;
	font-style: normal;
	font-weight: 400;
	src: local("Symbols Nerd Font"), local("SymbolsNF"), url(symbols-nerd-font-subset.woff2) format("woff2");
}

E assim, estava sendo usado o Subconjunto ao invés de ser usada a fonte completa.

Resultados da Otimização

Depois de otimizar a fonte, atualizei o site e refiz o teste no Pingdom. E o resultado foi esse aqui:

Tamanho do Site depois de Otimizar as Fontes

De 1,1 MB para 240 KB. Uma redução de 79% no tamanho da página, o que foi uma diferença enorme. As fontes reduziram de 931 KB para 65 KB. Uma redução de mais de 90%.

Tamanho dos Conteúdos depois de Otimizar as Fontes

E a fonte que era responsável pelo site passar de 1 MB de tamanho, reduziu de 870 KB para 3,9 KB. Uma redução de mais de 99%, apenas por selecionar aqueles caracteres que estão sendo usados no site.

A Symbols Nerd Font com apenas 3,9 KB de tamanho

Palavras Finais

Agora, eu posso realmente migrar o Cantinho do Romeo para o Hugo sem a preocupação com as fontes e tenho um site realmente mais rápido e muito mais leve. Quero garantir que os meus Blogs carreguem o mais rápido possível, seja num WiFi de alta velocidade ou num 4G mais limitado.


  1. Subsetting é a prática de criar um “subconjunto” de uma fonte, que contém uma coleção personalizada (e geralmente limitada) de fontes. Via Google Fonts, em Inglês ↩︎


Mais publicações como esta

Criando um Mapa de Imagens para o Google

󰃭 28 Dec 2025 (updated: 28 Dec 2025 ) | #hugo

Eu fiz o meu novo Blog, esperei ele ser indexado pelo Google, só que percebi uma coisa: Pouquíssimas imagens haviam sido indexadas. Até que ao pesquisar, vi que faltava uma coisa importante: Um Mapa para o Google encontrar as imagens. E eu precisava resolver isso, já que é um site de artes.

E esse post é sobre como resolvi esse problema, e se você está enfrentando o mesmo problema, pode ser que isso também te ajude.

Continuar a ler 


Made by Romeo no ar!

󰃭 21 Dec 2025 (updated: 21 Dec 2025 ) | #hugo #made-by-romeo

Finalmente! Depois de alguns dias fazendo o meu mais novo Blog, ele está no ar com o nome de made by romeo e já publiquei alguns desenhos por lá!

Posso dizer que com os quase seis anos do Blog do Cantinho do Romeo, eu aprendi muita coisa, aprendizados que trouxe para o novo Blog. Porém, o Wordpress estava me limitando muito, além do Cantinho do Romeo parecer que ele se tornou “profissional demais”. Eu queria e precisava de algo mais despretensioso.

Até que encontrei o Hugo, que é o Gerador de Site Estático por trás deste blog que você está lendo. Aí vi que poderia ser mais despretensioso, sem a pressão de ser tão profissional assim. Com isso, me voltei a fazer um blog mais simples, e até com um pouco mais de personalidade.

Continuar a ler 