Этот скрипт работал для меня, рендерив шрифты в PDF как глиф, чтобы они не выглядели поврежденными при редактировании файла в Inkscape:
#!/bin/sh
if [ "x$1" = "x" -o "x$2" = "x" ]; then
echo Usage: `basename "$0"` "<input.pdf>" "<output.pdf>" >&2
exit 1
fi
gs -sDEVICE=pswrite -dNOCACHE -sOutputFile=- -q -dbatch \
-dNOPAUSE -dQUIET "$1" -c quit | ps2pdf - "$2"
Однако теперь на новом компьютере (Debian Stretch) он выдает ошибки при запуске:
$ pdf-fonts-to-outlines in.pdf out.pdf
./base/gsicc_manage.c:1148: gsicc_open_search(): Could not find default_gray.icc
| ./base/gsicc_manage.c:1789: gsicc_set_device_profile(): cannot find device profile
Error: /undefined in Unknown
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1999 1 3 %oparray_pop 1998 1 3 %oparray_pop 1982 1 3 %oparray_pop 1868 1 3 %oparray_pop --nostringval-- %errorexec_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval--
Dictionary stack:
--dict:1209/1684(ro)(G)-- --dict:0/20(G)-- --dict:78/200(L)--
Current allocation mode is local
GPL Ghostscript 9.20: Unrecoverable error, exit code 1
Как это исправить? (в этом случае входной PDF имеет цвета. Я не хочу преобразовывать любые цветовые пространства и т.д.)