Caracteres desaparecem de figuras no PDFTeX

Você tem uma figura em PDF, que você quer usar no seu documento PDFLaTeX. Quando você compila o documento, o PDFTeX reclama de “glifos ausentes”, e algum (ou todo o) texto de rótulos ou símbolos da figura original tornam-se invisíveis.

O que aconteceu foi:

  1. Seu arquivo de figura (digamos, fig.pdf) tem uma fonte font.pfb embutida.
  2. O PDFTeX nota que tem font.pfb no disco e a carrega no lugar da cópia embutida no fig.pdf.
  3. Acontece que a cópia no fig.pdf tem glifos que não estão presentes no font.pfb que está no disco, de modo que você recebe mensagens de erro enquanto compila, e percebe que há caracteres faltando quando você vê a saída. (OPDFTeX não tem como saber que as fontes são diferentes, já que elas têm o mesmo nome.)
O resultado é muito indesejável.

O PDFTeX faz isso para tentar manter o tamanho dos arquivos o menor possível: suponha que você tenha um documento que carregue as figuras fig1.pdf e fig2.pdf; ambas usam a fonte font.pfb. Se o PDFTeX não fizer nada, haverá duas cópias da font.pfb na saída final. (Se seu documento também usar a fonte, pode haver três cópias.)

Um caso real é a fonte URW NimbusRomNo9L-Regu (um clone da Times Roman), que está disponível em versão com letras cirílicas, enquanto a versão nas distribuições do TeX não contém tais letras. Ambas as versões são distribuídas com o mesmo nome.

A solução simples (“rápida e deselegante”) é adicionar o comando

\pdfinclusioncopyfonts=1
ao preâmbulo do seu documento.

A solução “real” é renomear uma das duas fontes. De qualquer forma, isso exigiria que você reconfigurasse algumas tabelas de fonte do programa (do TeX ou do seu pacote de desenho) — inevitavelmente, um trabalho cansativo.


Do you have any question? Ask on: latex.net.br - we love qood questions!