Встраивание внешних шрифтов в 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
показывает.