Ghostscript: Как включить драйверы Apple ImageWriter, которые он использовал для включения? - PullRequest
0 голосов
/ 11 октября 2019

В прошлом Ghostscript использовался для включения этих устройств Apple Imagewriter: iwhi , iwlo и iwlq . Версия, которую я использовал, - GS 8.7, которая не совместима с 64-битной версией. macOS Catalina не может использовать его или любой другой 32-битный код, поэтому при печати на эти устройства происходит сбой.

В более поздних версиях, включая самые последние Ghostscript 9.27 , эти устройства пропущены. Я не знаю, когда они были опущены или почему, но, похоже, это было давно. Хуже того, я не знаю, как они включаются в Ghostscript. Кроме сборки gs из ее исходного кода, которую я сделал, я не знаю, с чего начать. Сам новый Ghostscript 9.27 прекрасно работает в macOS Catalina. Он включает в себя много «встроенных» устройств, но необходимые мне устройства ImageWriter отсутствуют.

Драйверы и Ghostscript были первоначально получены с веб-сайта Open Printing Linux Foundation: https://openprinting.org/printer/Apple/Apple-ImageWriter_II,, но они были объединены и распространены в виде пакета, который не могут обрабатываться в последних версиях macOS. На этой веб-странице также указано, что драйверы «Тип: встроенный Ghostscript», которых больше нет в последних версиях.

Вот gs -h с использованием установленной 32-битной версии:

GPL Ghostscript 8.71 (2010-02-10)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
 -dNOPAUSE           no pause after page   | -q       `quiet', fewer messages
 -g<width>x<height>  page size in pixels   | -r<res>  pixels/inch resolution
 -sDEVICE=<devname>  select device         | -dBATCH  exit after last file
 -sOutputFile=<file> select output file: - for stdout, |command for pipe,
                                         embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PostScriptLevel3 PDF
Default output device: bbox
Available devices:
   alc1900 <snip> inferno iwhi iwlo iwlq jetp3852 jj100 <many other devices> <snip>
Search path:
   . : %rom%Resource/Init/ : %rom%lib/ :
   /usr/local/share/ghostscript/8.71/Resource/Init :
   /usr/local/share/ghostscript/8.71/lib :
   /usr/local/share/ghostscript/8.71/Resource/Font :
   /usr/local/share/ghostscript/fonts :
   /usr/local/share/fonts/default/ghostscript :
   /usr/local/share/fonts/default/Type1 :
   /usr/local/share/fonts/default/TrueType : /usr/lib/DPS/outline/base :
   /usr/openwin/lib/X11/fonts/Type1 : /usr/openwin/lib/X11/fonts/TrueType :
   /usr/share/cups/fonts
Initialization files are compiled into the executable.
For more information, see /usr/local/share/ghostscript/8.71/doc/Use.htm.
Please report bugs to bugs.ghostscript.com.
iMac4:ghostscript-9.27 john$ 

Передо мной очевидное препятствие: «Файлы инициализации скомпилированы в исполняемый файл». Я знаю это, но какие файлы инициализации (если они есть) нужно включить или изменить, чтобы обеспечить их включение в сборку? У меня есть принтер PPD для ImageWriter. Это просто текстовые файлы, и я думаю, они будут необходимы. Должны ли они? Как?

Единственный способ, которым я пытался собрать gs из исходного кода, - это использовать ./configure, за которым следует make, который начинает долгий процесс компиляции, который занимает несколько минут, и приводит к выполнению gsэто прекрасно работает в Каталине. Проблема в том, что он не включает драйверы, которые я хочу. Попытка печати на этом принтере приводит к печати «Неизвестное устройство: iwhi» в виде прямого текста ASCII (без растрового изображения).

К настоящему моменту должно быть до боли очевидно, что я не справился с работой и незнать, куда обратиться. Кто-нибудь может указать мне правильное направление отсюда?

Здесь можно найти некоторую информацию: Установка принтера Apple ImageWriter в… - Сообщество Apple . Я написал это. Некоторые из его ссылок мертвы. Если картинка не загружается и вы хотите ее увидеть, нажмите на нее (это проблема сайта).

Недавнее обсуждение, описывающее эту дилемму, находится здесь: 32-битный ghostscript, необходимый для ImageWriter и других принтеров, использующих CUPS

Ответы [ 4 ]

0 голосов
/ 17 октября 2019

Ссылки на веб-сайте Ghostscript говорят о том, что THIS (StackOverflow) является официальным форумом для обсуждения вопросов, связанных с Ghostscript.

Если это не подходит, то, что разработчики Artifex и Ghostscript считают «официальным»форум по проблемам Ghostscript?

0 голосов
/ 14 октября 2019

Я другой пользователь Mac, владелец ImageWriter и ImageWriterLQ, я не говорю об Artifex.

в версии 9.05, файл gdevadmp, содержащий appledmp, iwhi и iwlo, и iwlq был перемещен в 'устройствапапка. Он сохранился там до версии 9.20.

После версии 9.20 он был удален в операции, которая включала только gdevadmp и вспомогательные файлы. В записке не говорится, ПОЧЕМУ она была удалена.

Таким образом, 64-битная сборка ghostscript 9.20 имеет некоторый потенциал.

Доступные файлы: https://wiki.linuxfoundation.org/openprinting/macosx/foomatic#ghostscript_for_mac_os_x_103x_panther_-_mac_os_x_109x_mavericks

все еще хорошо, но gs и фильтры нужно переместить в каталог, который остается доступным после блокировки песочницы (о Mavericks). Предлагаемый каталог отмечен в обсуждении сообщества поддержки Apple, которое вы опубликовали ранее.

0 голосов
/ 14 октября 2019

Я думаю, что это обязательство по удалению gdevadmp.

Я думаю, что это было удалено из-за целого ряда действий, удаляющих вещи, называемые "умирающими" MacOS и классическими Mac, и я думаю, что это конкретное удаление былонеоправданно и неразумно, поскольку эти драйверы все еще используются сегодня. Использование foomatic-rip:

http://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=a87e380acd5e326f7d4e4380348bac393fac3058

0 голосов
/ 12 октября 2019

Указанные устройства были удалены в этом коммите Если они вам нужны, вы сможете:

  1. Клонировать наш репозиторий git, справка по этому вопросу здесь
  2. git checkout a87e380acd5e326f7d4e4380348bac393fac3058
  3. скопируйте файл ghostpdl / devices / gdevadmp.c в удобное для вас место
  4. git checkout master (или если вы хотите выпуск с тегом, а непередовой код, git checkout ghostpdl-9.27 например)
  5. скопировать сохраненный файл обратно в ghostpdl / devices / gdevadmp.c
  6. Отменить изменения в contrib.mak, configure.ac и unix-gcc.mak (используя ссылку на gitweb, вы можете увидеть различия, они не являются обширными)
  7. В каталоге ghostpdl: ./autogen.sh затем make

Все это предполагает, что у вас есть работающий компилятор C (gcc, make и т. Д.) И среда разработки, но вы говорите, что уже собрали GS из исходного кода, так что все должно быть в порядке. Конечным результатом должен быть Ghostscript, работающий в режиме ожидания, со встроенным дополнительным устройством.

This:

Файлы инициализации скомпилированы в исполняемый файл.

относитсяк файлам инициализации PostScript, и не поможет вам с устройствами, которые написаны на C и должны быть скомпилированы. Хотя приведенная выше строка технически верна, вы можете использовать ключ -I, чтобы переопределить syatem файла ПЗУ (к чему это относится), и вместо этого сохранить файлы инициализации на диске.

PPD-файлы не являютсяЧтобы помочь вам с Ghostscript, это файлы описания принтера PostScript, и они используются приложениями, которые генерируют PostScript для настройки программы PostScript для конкретного принтера. Они (я думаю) используются CUPS, но не Ghostscript.

...