embutindo fontes externas em arquivos pdf

1

o acroreader está mostrando fontes ausentes em um arquivo pdf (WPMathB, WPMathA WP Greek Helve, ...) que pode ser facilmente baixado do link .

No entanto, o comando ghostscript falha, embora aponte para o diretório de fontes ausentes, /home/user/WP_ttf_fonts :

 $ gs -o file-with-embedded-fonts.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true  -sFONTPATH="/home/user/WP_ttf_fonts" input-without-embedded-fonts.pdf
Page 35    
Can't find CID font "WPMathB".    
Attempting to substitute CID font /Adobe-Identity for /WPMathB, see doc/Use.htm#CIDFontSubstitution.    
Loading a TT font from 
/usr/share/ghostscript/9.10/Resource/CIDFSubst/DroidSansFallback.ttf to emulate a CID font Adobe-Identity   **** Warning: can't process font stream, loading font by the name.    
 ... Done.    
Can't find CMap Identity-UTF16-H building a CIDDecoding resource.     
Can't find CID font "WPMathB".    
Attempting to substitute CID font /Adobe-Identity for /WPMathB, see doc/Use.htm#CIDFontSubstitution.    
Loading a TT font from /usr/share/ghostscript/9.10/Resource/CIDFSubst/DroidSansFallback.ttf to emulate a CID font Adobe-Identity
**** Error reading a content stream.     
The page may be incomplete.    
   **** File did not complete the page properly and may be damaged.    
 ... Done.

Qualquer ajuda, como dizer ao ghostscript para aceitar essas fontes, por favor?

    
por Miro Iliaš 25.05.2015 / 17:49

1 resposta

0

WPMathA etc. é da Correl Word Perfect e Correl permite que você baixe essas fontes (embora eu não tenha encontrado nenhuma licença no arquivo zip auto-extraível). Não tema o * .exe, pois funciona bem se você descompactá-lo. O nome do arquivo para a fonte WP MathA é Wphv06na.ttf e não fica menos horrível.

Exemplo:

sudo chown $USER /usr/local/share/fonts/
cd /usr/local/share/fonts/
wget http://www.corel.com/akdlm/6763/downloads/WordPerfect/wpwin/9/wpfonts.exe
unzip wpfonts.exe
sudo chown -R root /usr/local/share/fonts/
sudo fc-cache

O próximo obstáculo é que o PDF tem WPMathA , mas o cache da fonte tem WP MathA :

fc-list | grep local.*MathA
/usr/local/share/fonts/Wphv06na.ttf: WP MathA:style=Normal
fc-list -v | grep -c WPMathA
0

Sua missão é criar os arquivos de configuração ausentes com os aliases necessários para vincular WPMathA a WP MathA . Depois disso, você pode relaxar construindo um porta-aviões com palitos de dente.

mkdir -p ~/.config/fontconfig/
echo '<?xml version="1.0"?>' > ~/.config/fontconfig/fonts.conf
xmlcopyeditor ~/.config/fontconfig/fonts.conf

inserir:

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration -->
<fontconfig>
  <alias>
    <family>WPMathA</family>
    <prefer><family>WP MathA</family></prefer>
  </alias>
</fontconfig>

Não se esqueça de reconstruir o cache novamente. Não precisei de root / sudo para mim.

fc-cache

A essa altura, o acroread parou de reclamar sobre o WPMathA ausente e o bug bugzilla do ghostscript 687595 tem um comentário de que o suporte do fontconfig foi adicionado em 8.60, mas acho que eles mentiram. Se você ainda insistir em criar um PDF com a fonte incorporada, mesmo que você já tenha trabalhado, você pode ler o bug bugzilla do ghostscript 692001, que citarei aqui:

% bl0ck_qu0te%

Você terá que apt-get install ghostscript-doc para obter o file:///usr/share/doc/ghostscript-doc/Use.htm Ken.

O arquivo a ser atualizado é /var/lib/ghostscript/fonts/cidfmap , basta adicionar esta linha /WPMathA << /FileType /TrueType /Path (/usr/local/share/fonts/Wphv07na.ttf) /SubfontID 0 /CSI [(Identity) 0] >> ;

E execute gs -o embedeed-font.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true -I/usr/local/share/fonts/Wphv06na.ttf no-embedded-font.pdf

Por favor, leia file:///usr/share/doc/fontconfig/fontconfig-user.html para informações básicas. Ele irá dizer-lhe para ver XDG Base Directory Specification para mais detalhes, porque lá você encontrará os padrões para a série $ XDG ... de variáveis de ambiente, nenhuma das quais está configurada para nada em 14.04, na medida em que ps axwwe mostra. / p>     

por Metta Crawler 20.12.2015 / 18:23