Восстановление ресурсов EPS на PC после Mac.

  • Автор темы Автор темы ch_alex
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

ch_alex

Погулять вышел.
Топикстартер
15 лет на форуме
Сообщения
8 420
Реакции
2 709
Надоело мне открывать маковскую вёрстку без шрифтов на ПС и получать ругательство насчёт несоответствия превью и получать серенькие окошки... Не знаю, как Индезайн, но Кварк версий 4-5 не пытается перерисовывать превью (и это правильно). Но неудобно...

Попытался решить проблему "в лоб". При переписи макнутого диска на ПС скопировал также ресурсные файлы, имеющие названия ._<name>.eps, снял аттрибут Hidden и выполнил для выбранного епса следующую команду:
copy /b <name>.eps+._<name>.eps
При этом к существующему <name>.eps дописалось содержимое ресурсного файла. Открываю Кварк, обновляю содержимое - и вот оно - СЧАСТЬЕ! Превью в Кварке на месте, ничего не ругается. Иллюстратор на содержимое епса не обиделся, открыл правильно, ибо тэг %EOF остался там, где положено. Мне подсказали, что есть контрольная сумма и тэг, сообщающий длину файла, а я фактически меняю длину, не изменив внутренние тэги. Может это повлиять на содержимое макета?

Кто пробовал нечто подобное? Какие результаты?

ВНИМАНИЕ!!! Я выполнил эксперимент, но это не является руководством к действию! Не принимайте на вооружение этот способ без дополнительных проверок!
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

Ну что, кто-нибудь пробовал способ?
Хотелось бы услышать уважаемых 1998 и Aspirin. А также всех остальных не менее уважаемых PS-кодеров.
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

проверьте еще раз. Это не должно работать. О "контрольной сумме" и "тэге" первый раз слышу ;)
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

В начале EPS'а, если у него есть preview — до или после PostScript-кода, д.б. следующая последжовательность байт:
Код:
C5D0D3C6
Далее на PС (по Encapsulated PostScript File Format Specification v.3, Adobe 1993):
Код:
4-7 Byte position in file for start of PostScript language code section.
8-11 Byte length of PostScript language section.
12-15 Byte position in file for start of Metafile screen representation.
16-19 Byte length of Metafile section (PSize).
20-23 Byte position of TIFF representation.
24-27 Byte length of TIFF section.
Т.е. если в самом начале EPS-файла на PC не будет сигнатуры 0xC5 0xD0 0xD3 0xC6, то никто из PC-шных программ и не будет искать preview. Присоединить же preview к EPS'у можно с помощью ghostscript'а (GS-View)
 

Вложения

  • EPSPreview.gif
    EPSPreview.gif
    5.1 КБ · Просм.: 940
Ответ: Восстановление ресурсов EPS на PC после Mac.

1998 сказал(а):
проверьте еще раз. Это не должно работать.
Другой пример взял - не работает. Чертовщина какая-то. Сейчас возьму ту, что я проверял. Может различие в содержимом ресурсного файла.

Аркадий, спасибо, наверняка это оно. Проверю позже.

ЗЫ. Понапридумывали, собаки... Нет, чтобы всё однообразненько было. Они бы ещё разный код ЕПС для Мака и ПС сделали. Ой, я этого не говорил! ;)
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

ch_alex сказал(а):
Понапридумывали, собаки... Нет, чтобы всё однообразненько было…
Так многопоточные файлы появились только в NTFS — и то, не помню точно, было ли это в WinNT3.1 (первая версия NT)
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

А это тут причём? Маковский Шоп позволяет писать превью в джипеге, а писюковый - не позволяет, хотя делов-то - втиснуть такое превью на рабочее место и научить программы его читать. И смысл писать во второй поток? Ради понтов, чтобы спрятать поглубже от клиента?
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

Arkady сказал(а):
Так многопоточные файлы появились только в NTFS — и то, не помню точно, было ли это в WinNT3.1 (первая версия NT)
Многопоточные файлы появились сначала на Маке (ресурсная ветвь - это второй поток), а потом в NTFS. Причем сделано это было в основном для обеспечения совместимости Win-серверов с Мак-клиентами.
Таким образом "ресурсный" файл надо не к хвосту приклеивать, а создавать на его основе второй поток данных. Как это сделать - не знаю, какие-то команды видимо есть для командной строки.
Кстати на Win-сервере (NT4 и 2000) из-под 9-ки файлы сохранялись корректно, с 2-мя потоками данных.
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

Нет. Многопоточность ввели в частности для того, чтобы писать ресурсную ветвь файла при работе с MAC'ами: насколько я знаю, файл у MAC'ов состоит из собственно данных + второго потока ресурсов (fork). При переносе на PC fork преобразовывается во второй файл. Preview для EPS'а в MAC'е хранится не в самом EPS'е, а в виде второго потока.
Аналогично, кстати, в Win2K и позже поступает explorer: он во втором потоке файла может сохранять (и сохраняет) связанную с ним дополнительную информацию, вводимую в «правокнопочном» меню на закладке Document Summary Info. При попытке записать файл c непустой Document Summary Info на диск FAT32/FAT, CD-ROM, т.е. на файловую систему без поддержки многпоточности, Windows выдаст соотв. предупреждение.

Т.к. до появления NTFS и возможности работы WinNT в качестве файл-сервера с MAC'ами на платформе PC многпостоность файлов не поддерживалась, то для PC Adob'овцы «изобрели» особую структуру EPS'а, содержащую preview не в другом потоке, а в самом EPS'е.
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

Pilot Pirks сказал(а):
Таким образом "ресурсный" файл надо не к хвосту приклеивать, а создавать на его основе второй поток данных. Как это сделать - не знаю, какие-то команды видимо есть для командной строки.
Есть, но программы вроде Кварка на ПС должны уметь его подхватывать.
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

При переносе файла на PC fork превращается в отдельный файл. И вообще, «подхватывать» будет идти вразрез с принятым стандартом EPS'а для PC
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

ch_alex сказал(а):
Есть, но программы вроде Кварка на ПС должны уметь его подхватывать.
Согласен. Должны. Но не могут.... Зато 7-ка научилась самостоятельно генерить превью из файла.
 
Ответ: Восстановление ресурсов EPS на PC после Mac.

Pilot Pirks сказал(а):
…создавать на его основе второй поток данных. Как это сделать - не знаю, какие-то команды видимо есть для командной строки.
Кстати…
Есть соотв. вызовы в API. Можно и из командной строки: см. например здесь.
 
Статус
Закрыто для дальнейших ответов.