Встраивание внешних шрифтов в pdf-файл

acroreader показывает отсутствующие шрифты в одном pdf-файле (WPMathB,WPMathA WP Greek Helve, ...), который можно легко загрузить с http://www.fontpalace.com/.

Тем не менее, команда ghostscript терпит неудачу, хотя это указывает на отсутствующий каталог шрифтов, /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.

Любая помощь, как сказать ghostscript, чтобы принять эти шрифты, пожалуйста?

1 ответ

WPMathA и т. Д. Из Correl Word Perfect, и Correl позволяет вам загружать эти шрифты (хотя я не нашел ни одной лицензии в самораспаковывающемся zip-архиве). Не бойтесь *.exe, поскольку он прекрасно работает, если вы распакуете его. Имя файла FILE для шрифта WP MathA - Wphv06na.ttf, и оно не становится менее ужасным.

Пример:

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

Следующим препятствием является то, что PDF имеет WPMathA но кеш шрифтов имеет WP MathA:

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

Ваша миссия - создать недостающие файлы конфигурации с необходимыми псевдонимами для связи WPMathA в WP MathA, После этого вы можете расслабиться, построив авианосец из зубочисток.

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

вставить:

<?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>

Не забудьте заново восстановить кеш. Мне не нужен root/sudo для меня.

fc-cache

К этому времени acroread перестала жаловаться на отсутствующий WPMathA, а ошибка g ztscript bug zilla 687595 содержит комментарий о том, что поддержка fontconfig была добавлена ​​в 8.60, но я полагаю, что они солгали. Если вы все еще настаиваете на создании PDF со встроенным шрифтом, даже если тот, который у вас уже есть, должен работать, вы можете прочитать ghostscript bugzilla bug 692001, который я процитирую прямо здесь:

Комментарий 2 Кен Шарп 2011-02-28 11:44:42 PST

Есть 2 способа сделать это:

1) Найдите подлинный CIDFont с именем Arial, поместите его в gs/Resource/CIDFont и затем скажите Ghostscript использовать файлы на диске, а также встроенную файловую систему. Это делается с помощью ключа командной строки -I (например, -I / gs / Resource).

2) Используйте шрифт TrueType в качестве замены. Для этого вам нужно отредактировать gs/Resource/Init/cidfmap и добавить запись для шрифта (Arial), указав вместо этого шрифт TrueType и некоторые другие параметры. Затем вы также должны указать Ghostscritp [sic] использовать указанный файл, снова используя ключ -I, как указано выше.

Вы также можете использовать существующий CIDfont с другим именем в качестве замены, указав это в файле cidfmap.

Пожалуйста, обратитесь к документации в: /gs/doc/Use.htm

Ищите "CID шрифты" и "Замена шрифтов CID".

Тебе придется apt-get install ghostscript-doc чтобы получить file:///usr/share/doc/ghostscript-doc/Use.htm Кен относится к.

Файл для обновления /var/lib/ghostscript/fonts/cidfmap просто добавьте эту строку /WPMathA << /FileType /TrueType /Path (/usr/local/share/fonts/Wphv07na.ttf) /SubfontID 0 /CSI [(Identity) 0] >> ;

И беги gs -o embedeed-font.pdf -sDEVICE=pdfwrite -dEmbedAllFonts=true -I/usr/local/share/fonts/Wphv06na.ttf no-embedded-font.pdf

Пожалуйста, прочитайте file:///usr/share/doc/fontconfig/fontconfig-user.html для справочной информации. Вам будет предложено ознакомиться со спецификацией XDG Base Directory для получения более подробной информации, потому что там вы найдете значения по умолчанию для переменных окружения серии $XDG..., ни одна из которых не установлена ​​на 14.04. ps axwwe показывает.

Другие вопросы по тегам