|
Навигация
|
Главная » Linux У поддержки файлов Corel DRAW в СПО появился новый шансИсточник: linuxgraphics linuxgraphics В рамках проекта LibreOffice начата разработка библиотеки на C++ для чтения файлов Corel DRAW. В затылок им дышит разработчик Calligra Suite с собственной реализацией поддержки CDR. Чего уж там скрывать: за В прошлом году искренне ваша команда re-lab успела ещё немного изучить формат CDR, пока переносила его парсер в OLE Toy - ранее созданную нами программу для исследования двоичных форматов. Полученную новую информацию, к сожалению, пристроить к делу было некуда. Нельзя сказать, чтобы нас это очень вдохновляло на новые трудовые подвиги. К счастью, уже знакомый вам Фридрих Штрба из команды LibreOffice пришёл на помощь и в конце ноября написал первый код парсера файлов CDR. Активная работа над проектом началась лишь на прошлой неделе, но буквально вчера Фридрих Что в библиотеке По структуре и составу библиотека libcdr очень похожа на libvisio: в ней есть парсер и пробный конвертер в SVG, который сохраняет рисунки SVG внутрь документа XHTML. Если он находит в CDR несколько страниц, каждая из них сохраняется внутри XHTML как новый встроенный рисунок SVG. Кроме того, если пересобрать LibreOffice с поддержкой libcdr, файлы Corel DRAW будут открываться в нём напрямую. Словом, никаких отличий от libvisio. Что поддерживается На текущий момент библиотека читает только файлы v7-X3 и конвертирует основные объекты: контуры, прямоугольники, эллипсы, секторы, дуги. Частично поддерживается цветная заливка, есть минимальная поддержка обводки. Забороть многоугольники пока не удалось, но мы работаем над этим. Некоторые ошибки вроде чтения размера страницы и ориентации прямоугольников были исправлены сразу после выпуска версии 0.0.1. В связи с этим всем, кто интересуюется проектом, советуем тестировать только код из Git и почаще обновлять локальную копию репозитория. Сложности Давайте сразу договоримся, что как и в случае с Visio поддерживать абсолютно все возможности формата не получится. Например, ни в OpenDocument, ни в SVG нет раздельного скругления углов прямоугольника. Поэтому cdr2xhtml честно конвертирует такие фигуры в кривые Безье. Согласитесь, что для использования клипарта и старых наработок в режиме "как есть" этого более чем достаточно. Отдельный вопрос - как быть с CMYK и плашечными цветами. Вообще говоря, OpenDocument немного знает про CMYK: при работе с векторными графическими объектами в LibreOffice их заливку можно задать и в этой цветовой модели. Но на текст, например, это уже не распространяется. Здесь возникают разные варианты, что делать с такими цветами; решение пока не принято. Что касается SVG, в нём CMYK поддерживается через icc-color, и это вполне приемлемо, поскольку Corel DRAW работает примерно так же и даже сохраняет цветовые профили прямо в CDR. Больше того, в SVG2 Иными словами, libcdr нужно просто уметь отдавать цвета как есть или, по выбору клиентского приложения, конвертировать их в RGB. О будущем Фридрих планирует дополнительно попиарить проект на конференции FOSDEM, которая пройдёт на этих выходных в Брюсселе, и в любом случае продолжит писать код. Искренне ваша команда re-lab со своей стороны будет и дальше помогать LibreOffice с реверс-инжинерингом.. Где взять, как собрать и использовать Процедура абсолютно та же, что и для libvisio. Подробности можно узнать из конца Забираем код из Git: $ git clone git://anongit.freedesktop.org/libreoffice/libcdr Собираем: $ ./autogen.sh && ./configure && make && sudo make install Используем конвертер: $ cdr2xhtml file.cdr > file.xhtml Используем любимый текстовый редактор для извлечения встроенного документа SVG в отдельный файл, открываем файл в Inkscape. Как обычно, ждите новостей. Стоп, а что с Calligra Suite? О, да. Фридрих Коссебау из команды Calligra Suite Любопытно, что в лучших традициях любительской палеонтологии Фридрих №2 собирается сконцентрировать внимание на четвёртой и пятой версиях формата. Как видите, импорт контуров у него работает. Библиотека Три проекта для поддержки одного формата - это как-то многовато. Но давайте всё-таки посмотрим, что из этого выйдет. Изучаем Linux, 101: Потоки, программные каналы и перенаправления. Symantec и Red Hat расширяют сотрудничество. Oracle представляет модульную ленточную библиотеку StorageTek SL150. Вышло ядро Linux 3.5. Lisp: Слезы радости, часть 2. Главная » Linux |
© 2024 Team.Furia.Ru.
Частичное копирование материалов разрешено. |