Inkscape 0.47

Иногда чудеса все-таки случаются, причем не обязательно под Новый год или Рождество. Для этого достаточно даже обычного промозглого ноябрьского вечера, который неожиданно становится привлекательным в свете выхода долгожданной новой версии популярного свободного редактора векторной графики Inkscape.

Долгожданной — не то слово. На подготовку этой версии ушло чуть более полутора лет. За это время возвысились и пришли в упадок примерно две дюжины атомных держав, мировой океан поглотил два старых континента и выплюнул столько же новых, культурное наследие цивилизации было трижды пересмотрено чуть более чем полностью, а комитет W3C SVG наконец-то выпустил конечную версию спецификации SVG 1.2 Color, допускающую хранение цвета в CIE XYZ.

По официальной версии в центре внимания разработчиков Inkscape на этот раз предполагался рефакторинг базы кода, а именно: переход на чистый объектно-ориентированный С++, переписывание повторяющегося кода в библиотеки и дальнейшая миграция на lib2geom. Но статистика неумолима: версия 0.47 поставила рекорд по количеству новых переводимых сообщений, взяв планку в ~1500 единиц. Ещё никогда Штирлиц не был так близок к провалу.

Изменения в этой версии охватывают:

  • состав и функциональность инструментов;
  • новшества, упрощающие создание технических иллюстраций (и не только);
  • возможности динамических контурных эффектов;
  • фильтры импорта и экспорта;
  • фильтры SVG и расширения.

Поскольку у программы наконец-то появилась русскоязычная документация, пусть пока и не совсем полная относительно англоязычной версии, мучить вас километровыми обзорами редакция всея линуксграфикса больше не намерена. Алилуйя!

Ну то есть мы попытаемся. А там уж как получится.

Инструменты

Ластик

Джон Круз добавил новый инструмент Ластик, активируемый сочетанием Shift+E (как в GIMP). Ластик по выбору пользователя удаляет либо объекты, по которым им проводят, либо вырезает части этих объектов. Ширина ластика регулируется ползунком и клавишами-стрелками. При использовании стилуса Wacom программа распознает его обратный конец и автоматически переключается на Ластик и назад.

Ластику не нужно выделение: он работает с любыми незапертыми объектами. Вместе с тем, если вы нарисовали новый объект, а затем сразу переключились на Ластик, так что созданный объект оказался выделенным, стирание будет производиться только внутри этого объекта.

К сожалению, действие Ластика в этой версии программы деструктивно: вырезание работает только с обычными объектами вроде прямоугольников и эллипсов. С параллелепипедом и объектами, созданными при помощи динамических контурных эффектов, он работать не умеет. Есть идея в будущем доработать временно отключенный LPE «логические операции» и использовать его для неразрушающего стирания.

Само выделение функции вырезания в новый инструмент породило некоторые разногласия среди разработчиков, результатом чего стало добавление в Каллиграфическое перо вычитающего режима, о чём позже.

Корректор

Как оказалось, фантазия досточтимого bulia byak на меняющих форму контуров режимах Корректора не иссякла. В новой версии программы инструмент обзавелся рядом новых режимов:

  • Перемещение объектов, Shift+M. Перемещает объекты под кистью в направлении ее движения.
  • Приближение и отталкивание объектов, Shift+I. Приближает объекты под кистью к её центру или отталкивает их.
  • Случайное перемещение объектов, Shift+Z. Перемещает объекты под кистью в случайных направлениях и на случайные расстояния.
  • Масштабирование объектов, Shift+< и Shift+>). Увеличивает или уменьшает размер объектов под кистью.
  • Вращение объектов, Shift+[ или Shift+]. Вращает объекты под кистью по часовой стрелке или против часовой стрелки.
  • Дублирование и удаление объектов, Shift+D. Случайным образом дублирует или удаляет объекты под кистью.
  • Размывание, Shift+B. Размывает объекты под кистью или постепенно снимает с них Гауссово размывание.

Использование Корректора

Вы уже оценили открывающиеся возможности? Создаем рисунок и некоторые повторяющиеся примитивы (снежинки, листья, капли) помещаем в отдельный слой. Блокируем все слои кроме текущего, нажимаем Ctrl+A и легонечко растушеванной кисточкой раскидываем эти примитивы по рисунку, попутно вращая их, уменьшая их размер и размывая, добиваясь тем самым многоплановости.

Кроме того, в один режим объединены известные вам по версии 0.46 режимы наращивания и сокращения объема контура, а также режимы притяжения и отталкивания контуров. Обратите внимание: в большинстве режимов клавиша Shift выполняет роль модификатора, переключающего действие инструмента на противоположное.

Правка узлов

В этот инструмент, и без того напичканный возможностями как начинающий культурист — стероидами, опять запихали кучу всего.

Во-первых при прохождения указателя мыши над контуром этот контур подсвечивается настраиваемым цветом в течение настраиваемого времени. Это полезно, к примеру, в тех случаях, когда вас зовут Джошем Андлером, и вы увлекаетесь рисованием девочек с длинными волосами. Что подразумевает большое количество однонаправленных пересекающихся контуров, среди которых надо же, черт побери, как-то ориентироваться, не щёлкая по ним без конца.

Во-вторых, о необходимости снимать обтравочный контур или маску для их редактирования теперь можно забыть: в правой части панели параметров этого инструмента появились две кнопки, активирующие редактирование применённой к выбранному объекту маски или обтравочного контура. Больше того, в контекстное меню добавлены команды применения и снятия масок и обтравочных контуров.

В третьих, добавлен новый тип узлов: автоматический. Он немного похож на автоматический тип узлов в Xara Xtreme и полезен в тех случаях, когда кривые Спиро (см. ниже) использовать нельзя. При перемещении такого узла или соседнего с ним узла любого типа его рычаги автоматически перестраиваются (вращаются и вытягиваются/сжимаются) с целью сохранить плавность изгиба кривой и избежать горбов.

Автоматические узлы

Примечательно, что если вы попытаетесь переместить автоматический узел так, чтобы контур пересекал сам себя, программа приложит все усилия, чтобы этого не допустить. Это стопроцентно происходит в случае, когда переносимый узел — оконечный, а его новое положение — не дальше третьего узла (считая с конца).

Когда вы вручную меняете положение рычага автоматического узла, он превращается в тыкву обычный сглаженный узел. Поэтому когда вы работаете над формой контура, состоящего из автоматических узлов, и ручки сами тянутся поиграть с узлами в полночь для Золушки, имеет смысл на всякий случай отключить отображение рычагов. Это делается еще одной новой кнопкой-переключателем в панели параметров инструмента. Волшебное превращение простого узла в автоматический выполняется тремя способами: комбинацией Shift+A, кнопкой в панели параметров инструмента или циклическим перебором типов по Ctrl+щелчок.

Перо и Карандаш

У этих двух инструментов появилась кое-какая новая общая функциональность.

Во-первых, это новый режим рисования кривых Спиро (см. ещё ниже). Неудобство этого нововведения состоит в том, при рисовании новый контур отрисовывается как кривая Безье, а «спиральность» проявляется как только вы заканчиваете этот контур. Эта нехватка интерактивности несколько портит общее впечатление от открывающихся перспектив.

Во-вторых, идея скелетных кистей получила продолжение: перед рисованием контура можно выбрать одну из трех предустановок кисти или объект, скопированный в буфер обмена. К контуру автоматически добавляется динамический контурный эффект «Текстура по контуру». Засада с интерактивностью здесь абсолютно та же самая: получаемый объект виден только по завершении рисования.

Далее пути двух инструментов расходятся.

У Карандаша на панель параметров инструмента наконец-то вынесен регулятор сглаживания. Кроме того, второй в команде любитель технического иллюстрирования, дважды герой социалистического труда Йохан Энгелен подсмотрел в IloveSketch функцию рисования эскизов и адаптировал её к Inkscape, попутно изменив. Так, если вы рисуете вакомовским пером много произвольных линий (те же волосы), но не очень хотите править их потом ручками, нажмите клавишу Alt: пока она нажата, из каждой новой линии (зеленого цвета) будет вычисляться усредненный вариант (красного цвета). При отпускании Alt этот «средний арифметический» контур будет завершен.

В Перо, в свою очередь, добавлены ещё два режима: рисование прямых отрезков произвольного направления и рисование прямых отрезков параллельно осям координат. Так что если кого-то плющило от необходимости держать нажатым Ctrl, возрадуйтесь: это в прошлом.

Но кое-что и убрано: добавленная в 0.46 функция расстановки точек по Ctrl+щелчок при помощи Карандаша и Пера сохранилась для Карандаша только в режиме рисования кривых Безье, а для Пера — только в обоих режимах рисования прямых линий.

Каллиграфическое перо

Все параметры инструмента можно сохранить как профиль и в дальнейшем выбирать этот профиль из раскрывающегося списка в левой части панели параметров инструмента. В комплекте поставляется несколько предустановленных профилей:

Режимы

  • 1 — Чернильное перо
  • 2 — Маркер
  • 3 — Кисть
  • 4 — Виляющее перо
  • 5 — Пачкающее перо
  • 6 — Трассировка

Остаётся добавить, что эта функция написана частым гостем России и большим другом редакции всея линуксграфикса Обанелем Монье.

При помощи модификаторов теперь на лету выполняются простые логические операции: с Alt рисуемый контур вычитается из выделенного, с Shift — прибавляется к нему. Если при нажатой клавише Shift штрих касается двух и более выделенных контуров, эти контуры объединяются в один.

Применений этому новшеству достаточно много. К примеру, если вы работаете над векторизацией сложного отсканированного рисунка, можно быстро убирать узлы внутри контура, созданного инструментом плоской заливки, или уточнять внешние края такого контура. Пользователи Illustrator CS4, пожалуй что, могут больше не молиться на инструмент Кисть-клякса.

Заметно улучшен встроенный гравировщик. Теперь при отслеживании ведущего контура начало рисуемой штриховки не вихляет. Кроме того, при очень активной штриховке больше не происходит нечаянный перескок на другую сторону ведущего контура. Наконец, если вы нечаянно потеряли ведущий контур, инструмент по инерции продолжит рисовать штрих во взятом направлении.

Текст

Посланец высших цивилизаций bulia byak существенно улучшил выбор гарнитуры. Во-первых, раскрывающийся список больше не ворует фокус у холста и объекта. Во-вторых, добавлено перемещение по раскрывающемуся списку: Alt+X временно переносит фокус в этот список, Alt+стрелка вниз раскрывает этот список, а клавиши стрелок вниз и вверх позволяют перемещаться по раскрытому списку; работает автодополнение при вводе названия гарнитуры, ну а нажатие Enter задействует выбранную гарнитуру в выделении и возвращает фокус объекту.

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

Сетки, направляющие и прилипание

Появилась возможность отображать метки пересечения линий сетки вместо сплошных линий. Что касается направляющих, здесь всего лишь три, но важных нововведения.

Во-первых, появилась визуализация опорной точки направляющей, относительно которой выполняется вращение. Во-вторых, раз уж опорная точка отображается, теперь можно вращать направляющую прямо на холсте, не вызывая диалог. Для этого пододвиньте указатель к любой точке направляющей, нажмите Shift (значок указателя сменится на значок вращения) и потяните в сторону. Клавиша Ctrl, как обычно, включает шаг поворота в 15 градусов.

Таким образом если раньше для создания направляющей с нужным углом по образцу

[иллюстрация]

нужно было сначала нарисовать отрезок, а затем превратить его в направляющую (Shift+G), то сейчас достаточно просто переместить начало координат направляющей к нужному узлу,

[иллюстрация]

а затем лишь повернуть направляющую на нужный угол.

[иллюстрация]

Прилипание заметно упростит эту задачу, поскольку направляющие могут прилипать к разнообразным объектам и частям объектов.

[иллюстрация]

Результат:

[иллюстрация]

В-третьих, в диалоге настройки программы теперь можно указать, нужно ли считать каждый элемент группы отдельно при превращении выделения в направляющие, или же направляющие должны быть созданы по площадке всей группы.

Изменения, затронувшие прилипание, можно кратко описать так: всё ко всему. В первую очередь бросается в глаза новая панель инструментов с переключателями параметров прилипания:

Панель параметров прилипания

Три ряда панелей — не самое привлекательное зрелище. Поэтому можно поступить так: выбрать наиболее часто требующиеся параметры, сохранить пустой документ с ними как используемый по умолчанию шаблон (~/.config/inkscape/templates/default.svg) и в дальнейшем просто включать и отключать прилипание глобально клавишей % (ещё одно новшество версии 0.47).

Радиус прилипания по-прежнему меняется на вкладке «Прилипание» в диалоге «Свойства документа». К этому добавилась вкладка «Прилипание» в диалоге настройки программы, где регулируются параметры другого нововведения — индикатора прилипания:

Индикатор прилипания

Индикатор работает со всеми рисующими инструментами, инструментом выделения, инструментом правки узлов и инструментом градиентной заливки. Таким образом, добавлено множество новых целей прилипания:

  • обтравочные контуры и маски;
  • срединные точки сегментов линий и краев площадок (BB);
  • края страницы;
  • пересечения любых типов контуров;
  • острые и сглаженные точки;
  • любая ручка при создании фигур;
  • ручки скругления прямоугольников;
  • одиночные точки.

Если прилипание кажется слишком чувствительным, достаточно установить на этой вкладке задержку побольше. Сделать отключаемым текст подсказки, что к чему прилипает, к сожалению, не додумались. Зато можно указать принцип, по которому программа принимает решение, к которой из возможных точек нужно прилипать.

Динамические контурные эффекты

Группировка эффектов

В 2008 году небольшая группа студентов лионского Политеха, принявшего в 2006 году первую конференцию Libre Graphics Meeting, под руководством Йохана Энгелена усовершенствовала им же созданные динамические контурные эффекты. В рамках этого проекта была реализована возможность применения нескольких эффектов к объекту или группе и написано несколько новых эффектов.

Ниже приведён уже много где засветившийся скриншот иллюстрации, сделанной Энди Фитцсаймоном, где использована группа из двух динамических контурных эффектов: кривой Спиро и контура вдоль контура:

Шрифтовый дизайн и Спиро

Сразу же следует отметить, что порядок применения LPE имеет значение.

Узлодержцы

Это шуточное условное название новой функции в LPE, калька от английского термина «knotholders». Суть заключается в том, что прямо на холсте размещаются активные точки, смена положения которых меняет те или иные параметры динамического контурного эффекта. Когда курсор находится над узлодержцем, в статусной строке отображается комментарий, поясняющий, какой именно параметр редактируется. Технология используется в нескольких новых контурных эффектах.

Новые эффекты

Кривые Спиро на самом деле являются вариацией на тему старых добрых эйлеровых спиралей (известных также под именем «клотоиды») в исполнении Рафа Левьена (отсюда и название «Спиро»). Суть технологии состоит в том, что кривизна контура определяется исключительно положением его узлов, у которых нет контрольных точек, и их типом. Благодаря отвечающему за это решателю получить естественные плавные изгибы без горбов невероятно просто, поэтому природные темы среди пользующихся кривыми Спиро очень популярны:

Кривые Спиро в исполнении AndyFitz

Хронологически Inkscape — четвёртая по счёту программа, использующая кривые Спиро. Её опередили 1) простой онлайновый (JS) редактор кривых, созданный для тестирования технологии, 2) созданный самим Рафом ppedit (Gtk+ плюс Cairo), в котором он нарисовал гарнитуру Inconsolata, и 3) свободный редактор шрифтов FontForge. Основная функциональность реализована в библиотеке libspiro. Сейчас эта библиотека используется в FontForge, Inkscape и, только не смейтесь, GEGL. Мы готовим подробную публикацию о кривых Спиро, следите за новостями.

Внутренняя штриховка. В какой-то степени схож с иллюстраторовским эффектом «Каракули» (Scribble) и содержит безумное количество изменяемых параметров, в том числе четыре узлодержца, контролирующих частоту и направление штриховки, а также глобальное направление и силу изгиба. Можно без труда косить под рисующих детей:

Внутренняя штриховка

Карандашный набросок. Имитирует нарисованные от руки линии, рисуемые вдоль исходного контура:

Пример использования карандашного наброска

Было бы интересно сразу рисовать карандашом, использующим этот LPE.

Деформация по огибающей. Позволяет изгибать объект или группу объектов по четырем контурам. Можно, к примеру, создать металлическую решётку и растянуть её за края.

Пример использования деформации по огибающим

Фон Кох. Позволяет создавать фрактальные изображения с контролируемым числом поколений. Хотите — применяйте к текстовым объектам (предварительно оконтурив их):

Размножающийся текст

Хотите — к звёздам с закруглёнными краями:

Звёздочки

Кельтский узел. Создаёт так называемые кельтские узлы из контура, который сам себя пересекает, причём вы можете управлять видом пересечений. По умолчанию (1) более поздняя часть контура проходит внизу, первый одиночный щелчок меняет это (2), а следующий щелчок по узлу убирает визуализацию (3).

Три варианта переключателя

Перетаскивание в ту или иную сторону переносит переключатель к ближайшему пересечению:

Перетаскивание переключателя

Вы можете контролировать, каким образом рассчитывается интервал между линиями, а также менять размер переключателя. Этот эффект может быть полезен для созданий иллюстраций в стиле Эшера:

Почти Эшер

Интерполяция субконтуров. Выполняет постепенное преобразование одной фигуры в другую в заданное количество шагов по невидимой редактируемой кривой. Вы берёте два объекта, комбинируете их (Ctrl+K):

Исходные объекты

Применяете эффект и можете редактировать вид кривой траектории, по которой рисуются промежуточные стадии, количество которых указывается пользователем:

Искривлённый контур траектории

С этой кривой можно обходиться как с самой обычной: гнуть в разные стороны, добавлять новые узлы, менять их тип. Одновременно с этим можно менять форму частей исходного субконтура — промежуточные стадии тут же будут автоматически скорректированы.

Эффект интерполяции субконтуров, пожалуй, как никакой другой выявляет слабую сторону динамических контурных эффектов: конечный рисунок всегда является одним контуром, имеющим один стиль. Получить постепенную смену цвета заливки не получится уже хотя бы потому, что комбинированные контуры всегда имеют один общий стиль: для этого придётся по-прежнему использовать эффект «Расширения > Создание из контура > Интерполяция…».

Конструирование сетки. Создает сетку по трем первым узлам контура, причем второй из узлов является началом координат:

Сетка

При перемещении любого из исходных трёх узлов сетка перерисовывается:

Наклонённая сетка

Линейка. Рисует вдоль контура отметки линейки в заданной единице измерения:

Линейка

Фильтры SVG

Появился новый режим отображения документа — «Без фильтров». Переключение между тремя режимами по Ctrl+KP5 выполняется циклически.

Добавлено новое меню верхнего уровня «Фильтры», в котором живет огромное количество предустановленных фильтров (218 в 18 категориях), команда вызова редактора фильтров SVG и команда снятия фильтра с объекта или группы. Вы можете добавить туда свои собственные фильтры, сохранив их в документе SVG и поместив этот документ в локальную папку filters (~/.config/inkscape/filters в Linux).

У каждого элемента filter в таком документе должны быть следующие атрибуты:

inkscape:label — видимое в меню название фильтра
inkscape:menu — название вложенного меню, через которое фильтр доступен
inkscape:menu-tooltip — всплывающая подсказка, поясняющая действие фильтра

Вот пример кода такого фильтра:

<filter inkscape:label="Ripple" id="filter2888" inkscape:menu="Distort" 
inkscape:menu-tooltip="Horizontal rippling of edges">
<feTurbulence numOctaves="1" baseFrequency="0.001904761904761905 
0.10666666666666667" id="feTurbulence2890" />
<feColorMatrix values="2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.5 0.5" 
id="feColorMatrix2894" />
<feDisplacementMap yChannelSelector="A" xChannelSelector="R" 
scale="14.317180616740089" in="SourceGraphic" id="feDisplacementMap2892" />
</filter>

Почти все новые фильтры созданы Иваном Луэтом (Ivan Louette), который умудрился ещё и проиллюстрировать каждый их них в новой официальной документации к программе.

Расширения

Новые расширения замечательно группируются. Все перечислять не будем, только самые основные.

Мечта дизайнера и полиграфиста:

  • Расширение «Отрисовка > Метки для печати» создаёт метки для печати и цветовые полосы.
  • Расширение «Отрисовка > Макет коробки» помогает создавать макеты складывающихся коробок.
  • Расширение «Отрисовка > Календарь» рисует календарь для заданного года с вводимыми вручную названиями месяцев и изменяемыми цветами заливки всех объектов.
  • Расширение «Отрисовка > Создать направляющие» создаёт направляющие, делящие холст по нужным пропорциям; есть предустановки.
  • Расширение «Текст > Преобразовать в брайлев текст» преобразует буквы латинского алфавита в символы азбуки Брайля.

Мечта математика:

  • Расширение «Отрисовка > Трёхмерный многогранник» в реальности является замаскированным фильтром импорта файлов сцен OBJ. Именно в этом формате хранятся описания усеченных тетраэдров и больших звездчатых додэкаэдров. Желающие могут указать собственный файл OBJ, экспортированный, к примеру, из Blender.
  • Расширение «Отрисовка > Геометрия треугольника» в русской версии программы названо по имени раздела геометрии, изучающего треугольники, поскольку позволяет из трёх первых узлов выбранного контура нарисовать не только треугольник, но и массу дополнительных геометрических объектов, таких так ортоцентрические и эксцентрические треугольники, угловые возвышения и биссектрисы, точки Жергонна и Нагеля и т.д. и т.п.

Мечта контрол-фрика: новое расширение «Расстановка > Поменять вертикальный порядок…» меняет вертикальный порядок выделенных объектов по сложным заданным правилам.

Мечта нерда от дизайна: расширение «Отрисовка > Алфавитный суп», основанное на старом сценарии Мэтта Крисхольма, составляет буквы введенной пользователем фразы из примитивов, образующих глифы. Работает пока что только с латиницей.

Импорт и экспорт

Импорт PS/EPS

Вместо pstoedit для импорта файлов PostScript и EPS теперь используется Ghostscript, а именно — входящая в состав этого пакета утилита ps2pdf. Это, между прочим, означает, что как и в случае с просто PDF вы можете указать нужную страницу многостраничного файла PS и увидеть её миниатюру.

Импорт PDF

Появилась (отключаемая) возможность автоматически искать замену отсутствующему в системе шрифту, который использован в документе. Такое решение скорее следует считать временным до тех пор, пока программа не научится загружать встроенные в PDF шрифты и превращать их в шрифты SVG.

Появилась возможность превращать PDF/AI в SVG из командной строки. Всё чрезвычайно предсказуемо:

inkscape file.pdf --export-plain-svg=file.svg

В этом случае будет использована первая страница документа PDF.

Экспорт PDF, PostScript и EPS

Новые фильтры экспорта, основанные на Cairo, умеют транслировать обтравочные контуры, текстурные заливки и символы, выходящие за пределы ASCII. При экспорте можно указать разрешение для растрируемых объектов, в том числе при экспорте из командной строки (аргументом —export-dpi=ЗНАЧЕНИЕdpi).

Импорт и экспорт на основе UniConvertor

К импортируемым при помощи UniConvertor форматам прибавились:

  • Файлы Corel DRAW Compressed Exchange (CCX)
  • Файлы Corel DRAW Presentation Exchange (CMX)
  • Файлы шаблонов Corel DRAW 7-X4 (CDT)
  • Файлы sK1 (SK1)
  • Файлы AutoCAD Plot (PLT)
  • Computer Graphics Metafiles (CGM)
  • Windows Metafiles (WMF)

А также экспортировать:

  • Windows Metafiles (WMF)
  • Файлы sK1 (SK1)
  • Файлы AutoCAD Plot (PLT)

Совершенно нелишне напомнить: текстовая модель из sK1 в UniConvertor пока что не перенесена, поэтому текст во всех этих форматах (плюс CDR) не поддерживается. Все вопросы к авторам UniConvertor :)

HPGL

Это еще один (в дополнение к PLT) поддерживаемый Inkscape формат для вывода на плоттеры и режущие устройства. Пока только экспорт.

Импорт и экспорт DXF

Экспорт в DXF заметно ускорен, добавлена поддержка ПО для режущих плоттеров RoboMaster. Добавлена поддержка полилиний и полисплайнов. Добавлен фильтр импорта DXF, поддерживающий линии, кривые Безье, эллипсы, дуги кругов и текст (кириллица отлично поддерживается).

JavaFX

Вслед за экспортом в Microsoft XAML в 0.46 Inkscape научился сохранять рисунки в формат JavaFX (.fx).

PNG

Если исходный файл SVG содержит метаданные (Dublin Core), эти метаданные будут включены в экспортируемый файл PNG. Поддерживаемые поля: Автор, Авторские права, Дата создания, Описание и Название.

Работа с буфером обмена

В прежние времена Inkscape работал с буфером обмена, будем уж честными, чёрт-те как: если текст нормально копировался и вставлялся, то копирование и вставка объектов работала только между документами, открытыми/созданными из одной и той же запущенной копии программы. Что уж говорить о переносе из программы в программу.

После атаки, тщательно спланированной Дьедериком ван Лиерупом, буферный бастион героически пал: теперь объекты не только вставляются в документы, открытые в другой копии, но и, ужас-ужас, вставляются в другие программы. Работает это и в Linux, и в Windows (впрочем, уже есть жалобы на перенос кириллицы из Visio в Inkscape).

К примеру, теперь вы можете нарисовать кривую Безье, скопировать ее (Ctrl+C), а в палитре «Контуры» GIMP выбрать команду «Вставить контур» или даже просто нажать Ctrl+V. Разумеется, заливка и обводка будут потеряны, но тут уже вопросы к команде GIMP, которая пока не завершила работу над векторными слоями.

Документация и книги

Между выходом 0.46 и 0.47 произошло знаменательное событие: познакомившиеся на конференции Open Translation Tools 2007 участники проектов FLOSS manuals и Inkscape летом 2008 года сели и вместе написали первую версию руководства, сразу на английском и французском. К ним достаточно быстро прибавилась неполная русскоязычная версия, в создании которой активно поучаствовало несуществующее по мнению некоторых сообщество linuxgraphiсs.ru.

После парижского спринта кроме русской команды появилось ещё несколько национальных команд и, что немаловажно, активные авторы англоязычной документации, которая теперь берётся за основу для перевода (на первой стадии французская версия руководства как более полная служила основой для английской). Версия на английском языке, описывающая 0.46, может быть как скачана в виде файла PDF, так и куплена на lulu.com как обычная бумажная книга. Работа над книгой по 0.47 и её русской версией пока что не завершена.

Кроме того, выпущено три новых книги:

  1. «A Book of Inkscape» Дмитрия Кирсанова
  2. «Inkscape efficace: Réussir ses dessins vectoriels» Седрика Жеми
  3. «Inkscape 0,46 — 0,47 — Apprenez, pratiquez, créez» Элизы де Кастро Герра

Все три книги описывают возможности новой версии, равно как и третье издание книги Тавмжонга Баха «Inkscape: Guide to a Vector Drawing Program». Между прочим, в ночь релиза 0.47 Тав вторично стал отцом — в семье появилась ещё одна дочь :)

Выводы, прогнозы

Вкладывая столько усилий в работу над программой, авторы Inkscape в каком-то смысле сами себе усложняют жизнь. По количеству нововведений каждая новая версия программы уже давно обгоняет трёх своих основных коммерческих конкурентов, поэтому каждый раз от них ждут очень многого.

Сложно не заметить определённую шероховатость последних двух выпущенных версий программы. Частично это связано с тем, что состав основной команды разработчиков последние два-три года меняется и пока что не устоялся.

Кроме того, привязанность программы к стандарту SVG в известной степени тормозит её развитие. К примеру, весной этого года был написан патч, добавляющий поддержку конических градиентов. Патч не был принят по двум причинам. Во-первых, расширение SVG было выполнено несогласованно по отношению к имеющимся типам заливки. Во-вторых, в патче не была реализована обратная совместимость со стандартом, позволяющая просматривать документ где-либо кроме Inkscape. Чуть позднее Яспер ван де Гронде придумал, как добиться отрисовки конических градиентов при помощи фильтров SVG, но поскольку первый недочёт так и не был исправлен, этот паровоз не поехал.

Другой пример — избыточная низкоуровневость реализации фильтров SVG, не позволяющая отделять один применённый фильтр от другого или задавать параметры фильтра более человеческим языком.

Поэтому хотелось бы видеть в следующих версиях программы больше абстракции от кишок SVG, в частности:

  • более оторванное от кривых Безье рисование кривых Спиро;
  • возможность создавать общую библиотеку кистей, градиентов, фильтров и пр.;
  • визуализацию формы и размера кисти Каллиграфического пера.

Вместе с тем, хотелось бы получить более удобный встроенный редактор дерева SVG, а ведь его не трогали уже лет пять. Скажем, подсветка синтаксиса и возможность вставлять и отлаживать сценарии на JavaScript очень не помешали бы.

Но всё это, как вы понимаете, личные предпочтения авторов обзора, которые никто не обязан разделять. Посему вкратце о том, что имеет существенно больший шанс оказаться в следующей версии программы.

Как несложно заметить, существующего плана разработки никто особенно не придерживается. С достаточной определённостью можно сказать следующее: основной задачей сейчас является скорейший выпуск новой версии 0.48. Предполагаемые нововведения можно условно разделить на две группы.

Если вы читали обзоры предыдущих версий программы, то наверняка знаете, что по нечаянно сложившейся традиции в каждую версию Inkscape не попадает какая-то интересная функция, которая была добавлена слишком поздно и/или просто не была достаточно оттестирована.

Непопадыши версии 0.47:

  • Новый инструмент Аэрограф. Был разработан весной 2009 года группой французских студентов из уже знакомого вам лионского Политеха. Основан на спецификации Pajarico и развит до невероятных высот. Если вы владеете французским, можете почитать подробнейший иллюстрированный отчет по проекту. Работа была завершена вовремя по академическим ориентирам, но слишком поздно относительно цикла разработки новой версии.
  • Новый инструмент Геометрические построения. Предназначен для решения таких задач как быстрое построение биссектрисы или рисование окружности по трём точкам. Был создан в рамках Google Summer of Code 2008 талантливым немецким студентом Максимилианом Альбертом. К сожалению, общая готовность инструмента оказалась недостаточно высока. Это вдвойне печально, поскольку это первый интерактивный инструмент Inkscape, в основе которого лежат динамические контурные эффекты. В связи с этим почти все специально написанные для него эффекты были отключены (при помощи простой правки исходного кода это исправляется). Если Максимилиан успеет, инструмент появится в 0.48. Но тут уж без гарантий.
  • Несколько динамических контурных эффектов. Помимо тех, что были созданы для отключенного инструмента геометрических построений, было создано ещё несколько отключенных эффектов, в частности, деформация по сетке (lattice deformation) и логические операции (boolops). Пока что они не выдержали проверку на стабильность.
  • Новый диалог настройки дополнительных устройств ввода. Был обещан в прошлогоднем интервью с разработчиками, но оказался неготов к массовому использованию. Есть надежда на то, что Джон Круз в 0.48 его всё же доделает, а иначе зачем он щеголял на LGM2009 свежекупленным модным Intuos4? :)
  • Автоматическая палитра цветовых образцов. Ещё одно детище Джона Круза, создающее палитру из используемых в документе цветов и отключенное по причине недоработанности.

По всей видимости, к ним в 0.48 присоединятся четыре проекта, разработанных в рамках Google Summer of Code 2009:

  • Улучшения в реализации управления цветом. Фелипе Санчес добавил в диалог «Заливка и обводка» поддержку управления цветом и пометку цветов, выходящих за пределы цветового охвата. Внесены изменения в принцип внутреннего сохранения цветов.
  • API для написания сценариев через D-BUS. Благодаря Сорену Бергу вы сможете писать сценарии, используя инструментарий Inkscape.
  • Одновременное редактирование нескольких контуров. Эта работа Кржиштофа Косинского обрадует всех, кто давно хотел иметь возможность изменять несколько контуров сразу или объединять их по оконечным узлам.
  • Улучшения в работе инструмента соединительных линий. Аркадий Кракан реализовал функцию добавления и удаления соединительных точек, а также существенно улучшил отрисовку совпадающих соединительных линий.

Таков приблизительный план на версию 0.48. После её выпуска вероятнее всего будет еще один долгий (около года) цикл разработки версии 0.49. Не исключена возможность смены принципа нумерации версий.

Ну а пока разработчики переводят дух после марафона длительностью в год и восемь месяцев, сходите посмотреть галерею скриншотов. Есть мнение, что при всех нововведениях её объём скоро подрастёт.


Авторы: Александр Прокудин, Константин Роткевич
Основа: официальный список изменений в версии 0.47
Лицензия: GNU FDL 1.1
А также: использованы иллюстрации, созданные Энди Фитцсаймоном

Оставьте первый комментарий

Оставить комментарий

Ваш электронный адрес не будет опубликован.


*


Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.