Você já abriu a lista de fontes do Inkscape e pensou: “por que tem tanta fonte Noto aqui?” Pois é. As fontes Noto são ótimas e muito importantes para suporte a vários idiomas, símbolos e alfabetos, mas nem sempre ajudam quando você está criando uma arte, um banner, um logotipo ou qualquer trabalho em que precisa escolher fontes rapidamente.

Se você usa Linux e quer deixar a lista de fontes do Inkscape mais limpa, existe uma solução bem interessante: ocultar as fontes Noto apenas para o Inkscape, sem remover as fontes do sistema.

A ideia aqui não é apagar nada. O sistema continua com as fontes instaladas, outros programas continuam usando normalmente, mas o Inkscape para de listar aquelas dezenas de variações da família Noto.

A mágica acontece por meio do Fontconfig, o sistema usado no Linux para configurar, localizar e organizar fontes para os aplicativos.

Neste artigo, vou mostrar duas formas:

  • Para o Inkscape instalado normalmente ou em AppImage.
  • Para o Inkscape instalado via Flatpak.

Ocultando as fontes Noto no Inkscape instalado no sistema ou AppImage

Se você usa o Inkscape instalado pelo gerenciador de pacotes da sua distribuição, ou usa a versão AppImage, pode criar uma regra específica do Fontconfig para o Inkscape.

1. Crie a pasta de configuração

Abra o terminal e execute:

mkdir -p ~/.config/fontconfig/conf.d

Essa pasta guarda configurações adicionais de fontes para o seu usuário.

2. Crie o arquivo de configuração

Agora crie um arquivo chamado:

~/.config/fontconfig/conf.d/20-ignore-noto-inkscape.conf

Você pode criar pelo editor de texto ou pelo terminal:

xed ~/.config/fontconfig/conf.d/20-ignore-noto-inkscape.conf

No Linux Mint, o xed é o editor de texto padrão. Se você usa outra distribuição, pode trocar por nano, gedit, kate, mousepad ou outro editor de sua preferência.

3. Cole o conteúdo abaixo

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
  <match target="pattern">
    <test name="prgname" compare="eq">
      <string>inkscape</string>
    </test>
    <selectfont>
      <rejectfont>
        <!-- Oculta as fontes Noto para o Inkscape -->
        <glob>/usr/share/fonts/truetype/noto/*</glob>
        <glob>/usr/share/fonts/opentype/noto/*</glob>
      </rejectfont>
    </selectfont>
  </match>
</fontconfig>

Depois, salve o arquivo.

4. Feche e abra o Inkscape novamente

Agora reinicie o Inkscape. As fontes Noto não devem mais aparecer na lista de fontes do programa.


Entendendo o que esse arquivo faz

O arquivo acima cria uma regra para o Fontconfig.

<test name="prgname" compare="eq">
  <string>inkscape</string>
</test>

Essa parte verifica se o programa em execução é o inkscape.

<rejectfont>

Essa parte informa quais fontes devem ser rejeitadas.

<glob>/usr/share/fonts/truetype/noto/*</glob>
<glob>/usr/share/fonts/opentype/noto/*</glob>

Essas linhas procuram fontes dentro das pastas onde normalmente ficam instaladas as fontes Noto em distribuições baseadas em Debian, Ubuntu, Linux Mint e similares.

O resultado é simples: o Inkscape deixa de listar essas fontes, mas elas continuam existindo no sistema.


E no Inkscape Flatpak?

No Flatpak, a lógica muda um pouco.

Aplicativos Flatpak rodam em um ambiente mais isolado. Por isso, nem sempre a configuração criada em ~/.config/fontconfig/conf.d será aplicada da mesma forma dentro do aplicativo.

No caso do Inkscape em Flatpak, a configuração própria do app fica dentro desta pasta:

~/.var/app/org.inkscape.Inkscape

No meu caso, o caminho completo seria:

/home/pedro/.var/app/org.inkscape.Inkscape

A solução é criar uma configuração de Fontconfig dentro da pasta do próprio Flatpak do Inkscape.


Ocultando as fontes Noto no Inkscape Flatpak

1. Crie a pasta do Fontconfig dentro do Flatpak

Execute:

mkdir -p ~/.var/app/org.inkscape.Inkscape/config/fontconfig

2. Crie o arquivo fonts.conf

Agora crie o arquivo:

~/.var/app/org.inkscape.Inkscape/config/fontconfig/fonts.conf

Você pode abrir com:

xed ~/.var/app/org.inkscape.Inkscape/config/fontconfig/fonts.conf

Ou, se preferir pelo terminal:

nano ~/.var/app/org.inkscape.Inkscape/config/fontconfig/fonts.conf

3. Cole o conteúdo abaixo

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
  <selectfont>
    <rejectfont>
      <!-- Fontes Noto dentro do ambiente Flatpak -->
      <glob>/usr/share/fonts/*/Noto*</glob>
      <glob>/usr/share/fonts/*/*/Noto*</glob>
      <glob>/usr/share/fonts/*/*/*/Noto*</glob>

      <!-- Fontes do sistema vistas pelo Flatpak -->
      <glob>/run/host/fonts/*/Noto*</glob>
      <glob>/run/host/fonts/*/*/Noto*</glob>
      <glob>/run/host/fonts/*/*/*/Noto*</glob>

      <!-- Fontes instaladas localmente pelo usuário -->
      <glob>~/.local/share/fonts/Noto*</glob>
      <glob>~/.local/share/fonts/*/Noto*</glob>
    </rejectfont>
  </selectfont>
</fontconfig>

Salve o arquivo.


Limpando o cache de fontes do Inkscape Flatpak

Depois de criar a configuração, é recomendável limpar apenas o cache de fontes do Inkscape Flatpak.

Use este comando:

find ~/.var/app/org.inkscape.Inkscape/cache/fontconfig -type f -delete

Esse comando não apaga suas fontes, não remove preferências do Inkscape e não mexe nos arquivos do sistema. Ele apenas limpa o cache de fontes usado pelo Flatpak do Inkscape.

Depois disso, feche e abra o Inkscape novamente.


Como verificar pelo terminal

Se quiser testar se as fontes Noto ainda aparecem dentro do ambiente Flatpak do Inkscape, use:

flatpak run --command=sh org.inkscape.Inkscape -c "fc-list | grep -iE '(^|/)Noto|: Noto' | head"

Se o comando não retornar nenhuma linha, é um bom sinal: o filtro está funcionando e as fontes Noto não estão sendo listadas dentro do Inkscape Flatpak.

Caso apareçam resultados, pode ser que as fontes estejam em outro caminho. Nesse caso, execute:

flatpak run --command=fc-list org.inkscape.Inkscape

Observe os caminhos das fontes Noto e adicione novos padrões glob no arquivo fonts.conf.


Arquivos criados no Flatpak

Para resumir, no Inkscape Flatpak criamos esta pasta:

~/.var/app/org.inkscape.Inkscape/config/fontconfig

E este arquivo:

~/.var/app/org.inkscape.Inkscape/config/fontconfig/fonts.conf

Também limpamos o cache em:

~/.var/app/org.inkscape.Inkscape/cache/fontconfig

A beleza da configuração por aplicativo

O mais interessante dessa técnica é justamente o controle fino.

Você pode deixar o sistema completo, com todas as fontes necessárias, mas ajustar a experiência de um programa específico. No caso do Inkscape, isso ajuda bastante porque a lista de fontes fica mais limpa e mais fácil de navegar.

Embora este exemplo seja focado no Inkscape e nas fontes Noto, o mesmo princípio pode ser adaptado para outros programas e outras famílias de fontes.

Basta alterar o nome do programa ou os caminhos usados nas regras do Fontconfig.


Testado no Linux Mint

Eu testei aqui no Linux Mint com o Inkscape em AppImage e também com a versão em Flatpak.

Na versão AppImage, a configuração em:

~/.config/fontconfig/conf.d

funcionou bem.

Na versão Flatpak, foi necessário criar o arquivo dentro da pasta:

~/.var/app/org.inkscape.Inkscape/config/fontconfig/fonts.conf

Depois de limpar o cache e reiniciar o programa, a lista de fontes ficou bem mais organizada.

Veja como ficou:

Inkscape sem fontes Noto


Conclusão

Se você trabalha com design gráfico no Linux, pequenos ajustes como esse fazem diferença no dia a dia.

O Inkscape é uma ferramenta excelente, mas uma lista de fontes muito poluída pode atrapalhar bastante. Com uma configuração simples do Fontconfig, dá para esconder as fontes que você não usa naquele programa, sem comprometer o restante do sistema.

É uma daquelas dicas pequenas, mas que deixam o ambiente de trabalho muito mais agradável.