вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

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

1998

Участник
Топикстартер
Сообщения
1 895
Реакции
1 322
в некоторых случаях при выделении питстопом шейдинга в пдф в инспекторе читаем:

выделено что -- "Shading",
Fill -- CMYK Color (или Gray... поля для ввода процентов цвета есс-но неактивны)

а в некоторых:

выделено что -- "Path",
Fill -- Smooth shading pattern (полей для ввода процентов нет вообще)

Вопрос: как добиться (воспроизводимый пример) второго случая? От чего зависит то или иное представление шейдинга в пдф?

(background: я помню, что иногда мне попадался второй случай в чужих файлах, но сейчас, когда надо, никак не могу воспроизвести этот пример... со временем попадется, но вдруг кто-то сегодня-завтра ответит)

Большая просьба отвечать тем кто знает, т.е. не надо ответов "Какая нафиг разница" или, тем более, "А где это посмотреть?"

спасибо
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1998 сказал(а):
в некоторых случаях при выделении питстопом шейдинга в пдф в инспекторе читаем:

выделено что -- "Shading",
Fill -- CMYK Color (или Gray... поля для ввода процентов цвета есс-но неактивны)

а в некоторых:

выделено что -- "Path",
Fill -- Smooth shading pattern (полей для ввода процентов нет вообще)

Вопрос: как добиться (воспроизводимый пример) второго случая? От чего зависит то или иное представление шейдинга в пдф?

(background: я помню, что иногда мне попадался второй случай в чужих файлах, но сейчас, когда надо, никак не могу воспроизвести этот пример... со временем попадется, но вдруг кто-то сегодня-завтра ответит)


спасибо

В первом случае шейдинг в пдф пишется оператором shfill.
Во втором случае, сначала определяется shading pattern, как текущий color space. А далее...

"By setting a shading pattern as the current color in the graphics state, a PostScript program can use it with painting operators such as fill, stroke, show, or imagemask to paint a path, glyph, or mask with a smooth color transition." PRLM3 стр. 260.

В этом случае PitStop в статистике не отмечает, что есть shading (вероятно под shading'ом подразумеваются операторы shfill).
Получить такой PDF можно из AI10 нарисовав простой линейный градиент.

PS. shfill использует текущий color space.
PPS.
1998 сказал(а):
Fill -- Smooth shading pattern (полей для ввода процентов нет вообще)
Теперь понятно, почему процентов нет?
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

igors сказал(а):
Получить такой PDF можно из AI10 нарисовав простой линейный градиент.

спасибо большое. А я-то все епсы сохранял разных версий, а пдф-ку напрямую только из 11-го АИ пробовал. И все время shading получал. Буду копать дальше
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1998 сказал(а):
Вопрос: как добиться (воспроизводимый пример) второго случая?
Второй случай у меня всегда получается в ID CS при заполнении контуров или линий(созданных при помощи соотв. инстр.) градиентом. Разумеется, контуры или линии должны быть достаточной ширины. Т.е., если создать в ID CS обьект, заполнить его градиентом, потом сделать контур этого обьекта потолще и тоже задать ему градиент, то Вы получите в этом случае оба варианта в один приём :)

<ukraine>
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

ага, так точно, случай с обводкой из ИД я тоже нашел

вообще-то, причина моего интереса к теме -- некорректная интерпретация Prinergy (казалось бы, адобовское ядро) пре-сепаренных пс (пдф) с градиентом в виде shading pattern (в отличие от "простого" shfill). Конечно, это creo накосячил, но с другой стороны, в очередной раз вижу пример расплывчатости формулировок и неконкретности в PLRM (pdf) (как например с оверпринтами и т.п.). Вроде бы основной способ задания градиентов -- через паттерн, но якобы _если заливаемая форма простая_, то _можно_ применять shfill. На практике, однако, почти сплошь только shfill применяется
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1998 сказал(а):
...расплывчатости формулировок и неконкретности в PLRM (pdf)
Я думаю, что это сделано Adobe намеренно, кроме того, в PLRM, похоже, не всё документировано...

<ukraine>
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1998 сказал(а):
в очередной раз вижу пример расплывчатости формулировок и неконкретности в PLRM (pdf) (как например с оверпринтами и т.п.).

Какая расплывчатость формулировок и неконкретности с оверпринтами ? По моему Adobe последовательно продвигает одну идею в этом вопросе. И у неё все точно сформулированно и конкретно.
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1998 сказал(а):
ага, так точно, случай с обводкой из ИД я тоже нашел

Вроде бы основной способ задания градиентов -- через паттерн, но якобы _если заливаемая форма простая_, то _можно_ применять shfill. На практике, однако, почти сплошь только shfill применяется

Да причем _если заливаемая форма простая_, просто это наиболее распространенный случай когда градиент задают полю а не обводке, и для этого случая упростили процедуру вместо смены color space с текущего на патерн рисования градиента и восстановления color space все делает один оператор shfill, а для stroke shstroke не сделали, более редкий случай. Вот и вся логика.
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

igors сказал(а):
Какая расплывчатость формулировок и неконкретности с оверпринтами ? По моему Adobe последовательно продвигает одну идею в этом вопросе. И у неё все точно сформулированно и конкретно.
да обсуждали это уже на графикс.ру. Случай deviceGray поверх deviceCMYK. Возьмем постскрипт:

%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 100 100
%%BeginSetup
%%EndSetup
/DeviceCMYK setcolorspace
1 0 0 0 setcolor
0 0 100 100 rectfill
/DeviceGray setcolorspace
true setoverprint
0.5 setcolor
50 50 40 40 rectfill
10 10 translate
40 40 scale
<<
/ImageType 1
/Width 4
/Height 4
/BitsPerComponent 8
/ImageMatrix [4 0 0 -4 0 4]
/Decode [0 1]
/DataSource (грандиозный тест)
>>
image
showpage

отдистиллируем, и смотрим в акробате оверпринт превью, как _одна половина разработчиков_ предполагала, как это должно поделиться. Пишем сепарации из акробата (есть, кстати, разница, из 7-го или 6-го акробата делим, об этом ниже) и видим, что _другая половина разработчиков_ думала об этом.

Открываем описание пдф, таблицу "TABLE 7.14 Overprinting behavior in the opaque imaging model". DeviceGray относится к строке DeviceCMYK? Или Any process color space (including other cases of DeviceCMYK)? В первом случае специально указывается "not in a sampled image". А если, как в моем примере, есть gray image? В общем, по-любому, врет или оверпринт превью, или встроенный в акробат сепаратор. А таблица 7.14 -- то что я назвал выше "расплывчата и неконкретна".

Однако, набирая ответ в этом топике, обнаружил, что 7й акробат неправильно делит пдф-ы, если в них используется DeviceGray. Конечно, не так много практических случаев, когда цвет задается в этом пространстве, приложения обычно пишут задаваемый юзером серый как DeviceCMYK. Т.е. это тот же случай, почему и в Creo недоглядели с shading pattern, потому что тестировали наверное с практически более распространенным shfill

И вот еще что, если пдф с DeviceGray поделить, а потом _из этой же сессии акробата_ вывести этот же пдф (исходный композитный) в композит, то серый пишется как спот с интересным названием "AcroFakeGray" и не менее интересным цмиковым эквивалентом 0-0-0-0. По крайней мере, питстоп так говорит. Чем дальше в лес, тем толще партизаны, пора закругляться:). А Вы говорите, "Adobe последовательно продвигает" :)

igors сказал(а):
Да причем _если заливаемая форма простая_, просто это наиболее распространенный случай когда градиент задают полю а не обводке, и для этого случая упростили процедуру вместо смены color space с текущего на патерн рисования градиента и восстановления color space все делает один оператор shfill, а для stroke shstroke не сделали, более редкий случай. Вот и вся логика.

Эта логика только на бумаге. А на практике, при экспорте в пдф из 10-го АИ не используется shfill, даже для заливок простейших форм. При экспорте в пдф из 11-го АИ (и записи пс из всех версий) используется _только_ shfill, даже для очень сложных compound paths.
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1998 сказал(а):
Эта логика только на бумаге. А на практике, при экспорте в пдф из 10-го АИ не используется shfill, даже для заливок простейших форм. При экспорте в пдф из 11-го АИ (и записи пс из всех версий) используется _только_ shfill, даже для очень сложных compound paths.
Ну научились пользовать shfill девелоперы AI к 11 версии. Но stroke не зальешь shfill. Не понимаю о чем спор.
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1998 сказал(а):
Открываем описание пдф, таблицу "TABLE 7.14 Overprinting behavior in the opaque imaging model". DeviceGray относится к строке DeviceCMYK? Или Any process color space (including other cases of DeviceCMYK)? В первом случае специально указывается "not in a sampled image". А если, как в моем примере, есть gray image? В общем, по-любому, врет или оверпринт превью, или встроенный в акробат сепаратор. А таблица 7.14 -- то что я назвал выше "расплывчата и неконкретна".
Логика одно, а конкретная реализация совсем другое дело.
А логика такова: нет оверпринта CMYK по CMYK в PS. Oкончательно это написала Adobe в Technical Note #5145
"Because PostScript does not support nonzero overprinting, products must resort to one of two
strategies to obtain the desired behavior. Overprinted CMYK objects are replaced to omit their
0 components by one of the following methods:

Marking multiple times using the equivalent Separation color space for each nonzero
component.

Setting a DeviceN color space for each different color.
Either method for obtaining nonzero overprint results in complex PostScript code that is
inefficient to produce and execute compared to marking with CMYK."
А если вспомнить, что Device Color space (RGB, CMYK, Gray) переводятся в RIP'e в Process Color Model (в CMYK в нашем случае) то и для них нет nonzero overprint. A "комплексное" решение (complex PostScript code ) в том что переопределяется CMYK, но и слова нет что переопределяется RGB и Gray. Именно поэтому в PDF, если OPM=1, nonzero overprint определен только в случае прямого задания CMYK (не для RGB и не для Gray). А как и в PS c учетом "комплексного" решения.
Все остальное, как Gray overprint в Harlequin личное дело Harlekuin и к PS отношения не имеет.

Есть более важный вопрос связанные с оверпринтом. Что делать если использованы spot цвета c оверпринтом, а spot сепарации не порождаются? По логике Adobe оверпринта не будет, так и поступают все RIP'ы, но что делать если мы делаем цветопробу на CMYK устройстве?

Что касается логики и реализации. Не встретил пока RIP'а поддерживающего OPM=0 в PDF. Harlequin поддерживает OPM=0 в PS, но не втретил приложения которое пишет его в PS.
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

Вы цитируете преамбулу к TN5415, в которой описывалось текущее (на момент публикации) состояние дел. Начиная с версии 3015.102, с введением понятия OPM в постскрипте и дефолта OPM=1, приложениям не надо заморачиваться с "complex PostScript code". В этом цель публикации TN5415. К тому же я специально рассматривал не постскрипт, а пдф. Описание последней версии пдф должно было по идее включить в себя все предыдущие TN и разъяснить спорные моменты. Однако, простой казалось бы случай DeviceGray по DeviceCMYK понят разными подразделениями разработчиков (внутри одной компании Adobe) по-разному. К приведенным мной примерам (оверпринт превью и сепаратор акробата) добавлю третий: apogee интерпретирует приведенный пдф так, что оверпринты и графики, и имиджа отработаны.

igors сказал(а):
Есть более важный вопрос связанные с оверпринтом. Что делать если использованы spot цвета c оверпринтом, а spot сепарации не порождаются? По логике Adobe оверпринта не будет, так и поступают все RIP'ы, но что делать если мы делаем цветопробу на CMYK устройстве?
не понимаю, честно говоря, проблемы. На пробе должны быть имитированы споты, или нет?
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1. Вы все время пытаетесь сказать что оверпринт в полиграфической отрасли и в PS (PDF) одно и тоже. Мне представляется, что это разные вещи, в конце концов, оверпринт ставят приложения и в случае сепарированного вывода вообще не используют возможности PS (PDF) для работы с оверпринтом (в смысле использования операторов устанавливающих оверпринт). Подобный пример можно привести и с прозрачностью, в приложении ArtPro она была задолго до PDF 1.4 и успешно описывалась средствами PS без процедур растрирования этих прозрачностей, но и растрирование прозрачности в AI и в Acrobat'е, говорит о том, что Приложение и его понятия это одно а PS и PDF это другое. Вот и Acrobat по разному генерит PS, в зависимости от OverprintMode, не используя самого оператора OverprintMode в PS. Правда это единственное приложение, которое я знаю, умеющее обрабатывать OPM. И "текущее (на момент публикации) состояние" дел относится к полиграфической области в целом, а PS (PDF) дает методы и способы адекватно отобразить любое состояние дел хотите будет оверпринт Gray, хотите не будет. Но в самой модели PDF нет оверпринта DeviceGray по DeviceCMYK, что и показывает оверпринт превью Acrobata.
Плохо, что полиграфическая отрасль не выработала концепции Overprint'а, а пользуется сложившейся практикой, и как результат "apogee интерпретирует приведенный пдф так, что оверпринты и графики, и имиджа отработаны", в Harlequin'e все зависит от галки Gray Overprint, а в оверпринт превью Acrobata нет места такому Overprint'у.

>>>не понимаю, честно говоря, проблемы. На пробе должны быть имитированы споты, или нет?>>>

А что говорит "текущее состояние" дел? Клиент, однако, хочет видеть оверпринты на цветопробе.
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

я хочу сказать, что если формат пдф претендует на универсальный стандарт отрасли, то Adobe еще есть над чем поработать

к тому же, мои слова были:

- в очередной раз вижу пример расплывчатости формулировок и неконкретности в PLRM (pdf) (как например с оверпринтами)

а Ваши:

- Какая расплывчатость формулировок и неконкретности с оверпринтами ? По моему Adobe последовательно продвигает одну идею в этом вопросе. И у неё все точно сформулированно и конкретно

и еще раз Ваши:

- в самой модели PDF нет оверпринта DeviceGray по DeviceCMYK... Плохо, что полиграфическая отрасль не выработала концепции Overprint'а

Вы со мной спорите или себе противоречите?

igors сказал(а):
>>>не понимаю, честно говоря, проблемы. На пробе должны быть имитированы споты, или нет?>>>

А что говорит "текущее состояние" дел? Клиент, однако, хочет видеть оверпринты на цветопробе.
ирония побоку, но я не понимаю как это -- клиент "хочет видеть оверпринты" если "spot сепарации не порождаются". Т.е. есть PS с инструкциями in-RIP-separation, запрещающими вывод спот-цветов? А на пробе эти споты должны вывестись? Или что?
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1998 сказал(а):
- в самой модели PDF нет оверпринта DeviceGray по DeviceCMYK... Плохо, что полиграфическая отрасль не выработала концепции Overprint'а

Вы со мной спорите или себе противоречите?
Ну вот, Вы опять ставите равенство полиграфическая отрасль и Adobe.
У Adobe как раз все последовательно, но она не выпускает ни одного промышленного RIP'a. Вот поэтому Acrobat в превью показывает одно, а сепарированные файлы выводит по другому, не поддерживает отрасль представления Adobe об оверпринте. И пока сомнительно, что быстро откажутся от "complex PostScript code", не будет оверпринта DeviceGray по DeviceCMYK.
Еще раз, то как решается проблема оверпринта в PS(PDF) отличается от того, как она решается в RIP'ах и приложениях. И можно сколько угодно причитать по этому поводу, но они разошлись еще в 1991 с появлением L2. И производители RIP'ов и приложений (полиграфическая отрасль) не могут выработать четкого взгляда на оверпринт до сих пор. Напомню, "complex PostScript code" Adobe не пишет, его пишут производители RIP'ов, Adobe только дала рекомендации, как это можно сделать.
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

Вашим последним сообщением можно было бы и закрыть тему, но, не ради продолжения спора, все же замечу:

1. То, что "Acrobat в превью показывает одно, а сепарированные файлы выводит по другому", не имеет отношения к проблемам отрасли, это все внутренний код Акробата, и Adobe могла сделать все так, как считала необходимым, не оглядываясь на мнение отрасли. И должна, а иначе какое же это превью? Причина расхождения, по-моему, не банальный баг, а как раз неопределенность стандарта PDF в этом вопросе

2. TN5415 не дает рекомендаций, но констатирует сложившийся (в отсутствие default non-zero-overprint) факт
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1998 сказал(а):
Вашим последним сообщением можно было бы и закрыть тему, но, не ради продолжения спора, все же замечу...:
Что-то спора не получается, Вы на основании "врет или оверпринт превью, или встроенный в акробат сепаратор" делаете вывод, что в PDF прописан невнятно overprint, вот Ваша главная претензия. Ну не может оверпринт превью Акробата учесть все, что будет в RIP'е, а если там будет стоять Black overprint, или выключен Gray overprint, или overprint будет на spot'ах а Вы PS из PDF сделаете композитным, и в RIP'e на ядре Adobe этот оверпринт не будет отработан... и т.д и т.п.
Очевидно, оверпринт превью Акробата должно показывать спецификации PDF и только, а не наши представления о нем. Согласны?
Если нет, то спорить смысла не имеет.
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

Две цитаты из Вас:

- Вы ... делаете вывод, что в PDF прописан невнятно overprint

- в самой модели PDF нет оверпринта DeviceGray по DeviceCMYK

так кто делает какой вывод?

igors сказал(а):
Очевидно, оверпринт превью Акробата должно показывать спецификации PDF и только, а не наши представления о нем. Согласны?

ну еще бы! точно также и сепаратор Акробата должен работать только на основании этой спецификации. А не наших (или отраслевых) представлений. Или это не превью (вынуждаете повторяться). Согласны?

igors сказал(а):
Что-то спора не получается
а я и не навязываюсь
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

1998 сказал(а):
ну еще бы! точно также и сепаратор Акробата должен работать только на основании этой спецификации. А не наших (или отраслевых) представлений. Или это не превью (вынуждаете повторяться). Согласны?
Ну, как с таким согласится, Вы говорите раз одна рука кривая значит кривые обе, я правильно понимаю?
Понимаете конкретные примеры ничего не доказывают. Вот откуда вы знаете, что оверпринт DeviceGray по DeviceCMYK должен отрабатываться в PS? Из какого документа это следует?
 
Ответ: вопрос тем, кто знает (keywords: shading, pattern, pitstop, wtf)

вопрос следующий: что говорит спецификация PDF о случае оверпринта DeviceGray по DeviceCMYK?

я еще раз внимательно изучил разделы:
4.5.6 Overprint Control
7.6.3 Overprinting and Transparency,
в частности "Summary of Overprinting Behavior",
в которой приведена TABLE 7.14 Overprinting behavior in the opaque imaging model

слов DeviceGray в этих разделах и в таблице вообще нет

возможно, DeviceGray по DeviceCMYK -- это вторая строка таблицы, Any process color space (including other cases of DeviceCMYK [кстати какие это другие случаи?? ]), и тогда оверпринт DeviceGray по DeviceCMYK отрабатываться не должен, что соответствует превью

возможно, неявно подразумевается однозначная 6.2.2 Conversion between DeviceGray and DeviceCMYK, и тогда это верхняя строка таблицы, т.е. оверпринт для серой графики должен отрабатываться, а для имиджей нет. Так и делает сепаратор 6-го акробата.

ВОТ ЭТО ГАДАНИЕ со стороны читателей PDF Reference я и называю неконкретностью и расплывчатостью со стороны Adobe. Далее, я предполагаю (не утверждаю) что в таком же двусмыленном состоянии находились разработчики Акробата, что привело к несоответствию экранного оверпринт превью и производимых Акробатом сепараций
 
Статус
Закрыто для дальнейших ответов.