ermouth: (Default)
[personal profile] ermouth

Микрософт придумала новый формат для описания лэйаута страниц -- XPS (xml paper specification). Этот формат, например, используется в подсистеме печате Windows Vista.

По наводке [livejournal.com profile] rezkiy  скачал .NET 3.0 (62 Мб), только ради того, чтобы посмотреть что за зверь этот XPS. Посмотрел. Про формат. XPS-файл -- это zip-архив, который содержит внутри xml-файлы описания страниц и файлы ресурсов (картинки, шрифты, цветовые профайлы и тп). Сменив xps-расширение на zip, можно полюбоваться, как это хозяйство устроено внутри. Типичный фрагмент кода (рисует прямоугольник) из описания страницы выглядит примерно так: <path data="M 66.144,734.14 L 66.624,734.14 L 66.624,744.82 L 66.144,744.82 L 66.144,734.14 Z "></path><path.fill></path.fill><solidcolorbrush color="#FF999999"></solidcolorbrush>
Про стандартные фичи. Детальный анализ схемы и мануаля довольно четко обрисовал, что именно можно пристойно описать в нотации xps. В целом, стандартные RGB и CMYK-макеты вполне ложатся в набор примитивов, предоставляемый XPS. Для большинства возможностей, предоставляемых верстальными и иллюстративными программами конца прошлого века есть примитивы. То-есть и градиентами можно заливать, и обводочки штриховые делать с наконечниками, и кернинг точный по тексту.
   XPS даже поддерживает полутоновые прозрачности, причем по произвольной маске. Ситуацию портит то, что есть только один режим наложения прозрачного объекта на нижележащий -- аналог фотошоповского normal.

Про цвет. XPS поддерживает только калиброванный цвет. По умолчанию (то-есть без включения цветового профайла устройства) формат поддерживает только sRGB и scRGB. Хотите CMYK -- включайте в документ профайл того устройства, под которое этот CMYK подготовлен. 
      Казалось бы, это мудрое решение. Но -- нет. Дело в том, что в печатной индустрии есть т.н. плашечные цвета. Бронза, например, или фирменный цвет Кока-колы. Или лакировка выборочная. Так вот, чтобы включить объекты покрашенные плашечными цветами, необходимо вложить в документ профайл многоцветного цветового пространства. На текущий момент я не знаю промышленных решений приемлемой цены, которые были бы в состоянии сгенерировать, скажем, пятицветный профайл. То-есть, про плашечные цвета можно смело в XPS забыть. И никакого решения не видно, там архитектурный недочет, фундаментальный изъян.
      Есть еще один убойный косячек. Тип рендера для преобразования цвета под конкретное устройство задается не пообъектно, а постранично. То-есть, если у вас на странице логотип, покрашенный в фирменный цвет (нужен режим abs colorimetric) и еще фотки (нужен режим perceptual), придется обломаться. Или картинки будут мертвые, или логотип не того цвета. Это тоже фундаментальный изъян.

Про стандартные фичи, которых в XPS нет. Ну, понятно уже -- именованных цветов ("пантонов") нетути. Нет mesh-fill. Нет поддержки overprint. Учитывая, что нет режима наложения прозрачностей multiply, вообще неясно, как реализовывать надпечатку по-простому. Никак, видимо. В силу отсутствия простой поддержки плашечных цветов будет гиморно вставлять дуотоны всякие. Теоретически можно -- но нет софта для генерации профайлов.
      Да, XPS не поддерживает именованные страницы -- это значит, что даже в майкрософтовском мануале по формату XPS вверху бумажной страницы вы увидите одну цифру, а внизу, в окошке просмотрщика где номер страницы написан -- другую.

Про просмотрщик XPS-файлов. После скачивания .NET 3.0 (если у вас Виста, скачивать ничего не надо) файлы XPS будет открывать Internet Explorer. Просмотрщик в целом не выдерживает никакой критики.
      Ну, первое. Заставлять качать 62 мега ради просмотрщика -- это издевательство. Заставлять юзера включать службу BITS (интеллектуальная служба передачи) ради скачивания -- издевательство. Рекомендовать удалить бета-версии для установки финальной, да так, что анинсталлер работает только когда инсталлятор закрыт -- издевательство. И сама установка на 15 минут -- издевательство.
      Второе. Интерфейс просмотрщика -- полное говно. Когда вы включаете режим thumbnail view, вы не сможете мотать по документу, пока ИЕ не отрисует (очень неторопливо) все превьюшки. Сами превьюшки -- тоже дебильные, клик по превьюшке не ведет на кликнутую страницу, он…вообще ничего не делает. Номера страниц под превьюшками не проставлены -- хрен догадаешься, где ты. Битмапы превьюшек не кэшируются -- это значит, что просмотрев документ в превьюшках, почитав потом нужную страницу и переключившись обратно в превьюшки, снова можно покурить. Просмотрщик начнет перерисовавать заново то, что уже рисовал минуту назад.
      Просмотрщик не экспортирует xps ни в один формат. То-есть, можно, конечно, напечатать в pdf -- но это ж издевательство! Да еще и надо в pdf-принтере одну галочку хитрую снять, а то будут зюквы на выходе, даже в латинице.
      И -- да -- попытка сделать Ctrl-A (выделить всё) по 423-страничному документу вдула машину минут на 15, после этого я снял задачу. Бляха, ну не могут в наше неспокойное время появляться в приложениях блокирующие операции!

Про инкапсуляцию. Понятно дело, никаких psd-файлов, pdf и уж конечно eps вам в документ xps не вставить. В xps можно инкапсулировать только другой xps (и еще png, jpg, tiff, otf, ttf и icc), и то я не въехал еще, как быть, если совпадают имена ресурсов.

Совместимость. Плохая. Я не смог вставить фрагмент xps-документа в Word 2007 -- что уж говорить о более ранних приложениях.

Положительные стороны. Это xml-формат. Рендерилка для него встроена в Висту. Готов спорить, что на основе XPS появятся промышленные системы автоматической верстки. Да я и сам, когда на Висту пересяду и офис свой пересажу, сделаю в InfoPath графики и диаграммы всякие с использованием xps.

Резюме. XPS по фичам -- это аналог pdf 1.3 с некоторыми фичами pdf 1.4. Современная версия pdf -- 1.6. Так-что стать стандартом для печатной индустрии у xps никак не получится. Это исключительно для офисной работы формат. По-сути, emf с расширениями в xml-нотации.

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

Date: 2007-04-09 09:56 pm (UTC)
From: [identity profile] rezkiy.livejournal.com
багов что ли нафайлить?

Date: 2007-04-09 10:28 pm (UTC)
From: [identity profile] ermouth.livejournal.com
мне или коллегам?

у себя один баг я уже нашел -- оказывается, необязательно качать 62 мега, можно и какой-то экспресс-кит качнуть. всего в 16 мегов :)

эх, идея то отличная -- сделать, наконец, полноценный xml-based формат для описания страниц вместо экранного по сути svg, в котором есть только некалиброванный rgb и больше ничего.

но -- не было в мсфт четкого профи типа меня, который про desktop publishing и стандарты печатной индустрии знает реально просто всё :)

ну и с интерфейсом просмотрщика конечно недоработочка вышла. то-есть, просто на-отъебись сделано, при всём моём уважении.

так что файли баги. у идеи блестящее будущее, напишу попозже.

Date: 2007-04-09 11:19 pm (UTC)
From: [identity profile] schilf.livejournal.com
толково написано... респект =)

Date: 2007-04-09 11:39 pm (UTC)
From: [identity profile] ermouth.livejournal.com
спасибо.

вот еще поменялось бы чего в реализации этой отличной идеи от это "толково написано" :)

Date: 2007-04-09 11:45 pm (UTC)
From: [identity profile] schilf.livejournal.com
ну это уже мечты, не уверен, что Майкрософт любит меня настолько, чтобы прислушиться к одобренной мной критике =))))

Date: 2007-04-09 11:54 pm (UTC)
From: [identity profile] ermouth.livejournal.com
майкрософт любит будущее, делает его. так что прислушается. не к моей, так к чьей нибудь еще.

Date: 2007-04-16 08:26 pm (UTC)
From: [identity profile] ktototam-lj.livejournal.com
дим, а разработчикам то отправил свои мысли по поводу?

Date: 2007-04-16 08:40 pm (UTC)
From: [identity profile] ermouth.livejournal.com
а оне тут тусуются :) малочисленной группой :))

Profile

ermouth: (Default)
ermouth

November 2021

S M T W T F S
 123456
78910111213
14151617181920
21 222324252627
282930    

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 3rd, 2025 07:19 am
Powered by Dreamwidth Studios