Erro de fonte no Evince

3

Quando abro um arquivo pdf no Evince a partir de um terminal:

I/O Error: Cannot open '/usr/local/texlive/2014/texmf-dist/fonts/opentype/public/tex-gyre/texgyrecursor-regular.otf'
Syntax Error: failed to load truetype font<0a>
some font thing failed

Existem alguns códigos de programas não mostrados no arquivo pdf. Eu me pergunto o que o erro significa e o que posso fazer? Obrigado.

    
por Tim 22.06.2015 / 20:21

1 resposta

3

O problema se deve ao perfil do AppArmor do Evince, que restringe os recursos de arquivo disponíveis para o Evince.

Como as fontes TexLive são disponibilizadas para o sistema, elas podem ser detectadas pelo Evince sob certas circunstâncias (no meu sistema, existe uma regra definida em /etc/fonts/conf.avail/30-metric-aliases.conf que liga "Tex Gyre Heros" e "Helvetica" Porque eu não tenho a fonte Helvetica instalada, Tex Gyre Heros é pego pelo fontconfig.

A mensagem de erro é um pouco enganadora, mas se você consultasse os logs do kernel (digite dmesg no console ou tail -f /var/log/syslog ), você veria mensagens de erro como:

[345695.334701] type=1400 audit(1462672575.673:72990): apparmor="DENIED" operation="open" profile="/usr/bin/evince" name="/usr/local/texlive/2015/texmf-dist/fonts/opentype/public/tex-gyre/texgyreheros-regular.otf" pid=31050 comm="EvJobScheduler" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

Para conceder ao Evince permissões de acesso de leitura às suas fontes do TexLive, você pode adicionar a seguinte regra no arquivo /etc/apparmor.d/local/usr.bin.evince :

/usr/local/texlive/**/public/** r,

Salve o arquivo e recarregue a regra emitindo (em um terminal):

sudo service apparmor reload

e saia de qualquer instância aberta do Evince. A próxima vez que você abrir seu arquivo PDF no Evince, ele deverá exibir seu PDF corretamente, tendo acesso às fontes necessárias.

    
por Apteryx 08.05.2016 / 04:27