Что такое ICC-профиль
ICC-профиль — описание того, какой реальный цвет получается у конкретного устройства при конкретных числах. Сами по себе значения каналов ничего не значат: одна и та же тройка чисел на офисном мониторе, на телефоне и на офсетной машине даёт три разных оттенка. Профиль связывает числа с приборно-независимыми координатами цвета и тем самым делает возможным перевод между устройствами. Без него любая передача цвета — это соглашение по умолчанию, о котором стороны не договаривались.
Коротко о цифрах
- Что описывает профиль
- соответствие чисел устройства приборно-независимым координатам цвета
- Где лежит в PDF
- отдельным потоком, на который ссылается описание цветового пространства
- Модуль управления цветом
- отдельный файл WebAssembly, около 94 КБ
- Запасной профиль CMYK
- около 8 КБ, подставляется документам без своего профиля
- Требование к политике безопасности
- без разрешения на WebAssembly CMYK выводится искажённым
Что лежит внутри профиля
- Таблицы соответствия: какому набору чисел отвечают какие координаты цвета в приборно-независимом пространстве.
- Кривые передачи по каждому каналу — то, что бытовым языком называют гаммой.
- Точка белого: какой именно белый считается белым у этого устройства или в этих условиях просмотра.
- Цветовой охват: какие цвета устройство вообще способно воспроизвести, а какие оно вынужденно подменит ближайшими.
Как профиль попадает в документ
В PDF профиль хранится потоком, а описание цвета ссылается на него как на пространство, основанное на этом профиле. Такое пространство можно назначить хоть отдельной картинке, хоть заливке. Отдельно существует запись о целевом условии печати: она описывает не элемент, а весь документ и говорит, для какой машины и бумаги файл готовился.
Профиль весит от единиц до сотен килобайт, поэтому в лёгких документах его нередко просто нет: тогда просмотрщик подставляет своё представление о цвете. Для служебной переписки это безразлично, для макета — нет, потому что решение о подстановке принимает чужая программа, а не автор файла.
Как с цветом работает наш просмотрщик
Движок просмотра, на котором построены браузерные инструменты, несёт собственный модуль управления цветом, скомпилированный в WebAssembly, — это отдельный файл примерно на 94 килобайта. Рядом лежит запасной профиль CMYK размером около восьми килобайт: он подставляется документам, которые не принесли профиля с собой, чтобы четырёхканальная картинка не выводилась наугад.
Отсюда неочевидное требование к политике безопасности сайта: без разрешения на компиляцию WebAssembly браузер не соберёт ни этот модуль, ни декодеры сжатых сканов. Ошибок пользователь не увидит, но CMYK выйдет с искажёнными цветами, а тяжёлые сканы будут разбираться медленным запасным кодом. Поэтому соответствующее разрешение стоит в заголовках намеренно.
Что теряется при переводе страницы в картинку
- Экспорт в JPG или PNG отдаёт результат в экранном пространстве: исходный профиль в него не переносится.
- Сжатие с растеризацией устроено так же — страница рисуется на холсте и кодируется как обычная картинка.
- Плашечные краски сводятся к экранному приближению по запасной формуле, заложенной в самом документе.
- Для типографии отправляйте исходный PDF, а растровую копию используйте для согласования и переписки.
Частые вопросы
Нужно ли встраивать профиль в документ для обычной переписки?
Нет. Для счетов, договоров и сканов цвет не критичен, а профиль добавляет вес. Встраивать его имеет смысл там, где важен точный оттенок: фирменный стиль, каталог, макет для типографии.
Почему цвета в PDF отличаются от того, что было в макете?
Чаще всего исходник был в четырёхканальном пространстве, а показывается на экране, который умеет только три канала. Просмотрщик выполняет перевод, и без профиля он делает это по умолчанию, а не по вашему.
Профиль и цветовое пространство — одно и то же?
Нет. Пространство — это способ описания цвета числами, а профиль — конкретное описание того, как эти числа ведут себя на данном устройстве. Двум мониторам с одним пространством соответствуют разные профили.
Можно ли убрать профиль, чтобы облегчить файл?
Технически да, и на скане это безобидно. На макете так делать не стоит: без профиля принимающая сторона будет вынуждена додумывать цвет, а несовпадение обнаружится уже на оттиске.