программа чтения показывает отсутствующие шрифты в одном файле 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, чтобы он принимал эти шрифты, пожалуйста?
WPMathA и т.д. из Word Perfect Correl, и Correl позволяет Вам, загружают те шрифты (хотя я не нашел лицензии в самораспаковывающемся архиве zip). Не бойтесь *.exe, поскольку он работает просто великолепно при разархивации его. Имя файла для шрифта 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, и ghostscript ошибка Bugzilla 687595 имеет комментарий, что поддержка fontconfig была добавлена в 8,60, но я предполагаю, что они лгали. Если Вы все еще настаиваете на том, чтобы создавать PDF со встроенным шрифтом даже при том, что тот, который Вы имеете, должен работать к настоящему времени, можно считать ghostscript ошибку Bugzilla 692001, который я заключу в кавычки прямо здесь:
Комментарий 2 Ken Sharp 28.02.2011 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 [так] использовать указанный файл, снова с помощью переключателя-I как выше.
можно также использовать существующий CIDfont с другим именем как замена путем определения этого в cidfmap файле.
См. документацию в: /gs/doc/Use.htm
Ищет "шрифты идентификации вызывающего абонента" и "замену шрифтов идентификации вызывающего абонента".
Вы будете иметь к apt-get install ghostscript-doc
для получения file:///usr/share/doc/ghostscript-doc/Use.htm
, Ken обращается к.
файл для обновления /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, потому что там Вы найдете значения по умолчанию за $XDG... серией переменных среды, ни одна из которых ни на что не установлена на 14,04 до ps axwwe
шоу.