Ответ: вопрос тем, кто знает (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.