» » Лишние узлы и незакрытые контуры

Лишние узлы и незакрытые контуры

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

Вот вам простой пример разорванного контура:

пример разорванного контура

 

FontLab отображает конечный узел незакрытого контура немного иначе

 

конечный узел незакрытого контура

 

В приведённом примере оба узла разорванного контура находятся друг над другом.

А вот вам пример посложнее, с более сложным контуром.

 

пример с более сложным контуром

 

Попробуете определить навскидку где здесь незамкнутый контур? :)
А если это будет отдельный узел, или несколько?

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

При генерации всплывает вот такое окно с предупреждением и вопросом о дальнейших действиях.

 

окно с предупреждением

 

Оставляем всё так как на скриншоте. Самое главное это отмеченный пункт: Highlight glyphs that contain open contours.

После отметки этого пункта в нашем файле .vfb, все знакоместа с проблемными контурами будут помечены красным цветом.

 

знакоместа с проблемными контурами

 

Идём в меню Tools > Options > Пункт Glyph window > раздел Outline drawing.
Проверяем, что бы не был отмечен пункт Fill open contours. Если он отмечен, отметку нужно снять и сохранить настройки.

 

Fill open contours

 

Далее, иду в один из проблемных символов и по двойному щелчку на символе открываю окно Glyph.
Попеременно нажимая и отпуская кнопку [~] я смотрю какой контур отображается, а какой нет:

 

контур

Тот контур который при нажатой клавише [~] не отображается - разомкнут.
Останется найти конечные узлы разомкнутого контура и соединить их.

Данный пример справедлив относительно контура, но если попадается лишний отдельный узел или несколько, то данный пример нам не поможет.

Боремся с бесхозными узлами

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

 

бесхозный узел

Перед началом работы нужно сделать маску, что бы мы смогли легко контролировать произошедшие изменения.
На клавиатуре жмём Ctrl+A и Ctrl+M.

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

Далее выполняем команду Ctrl+X - вырезать.
В результате у нас остаётся только маска, хотя не только маска... на маске расположен бесхозный узел:)

на маске расположен бесхозный узел

Выделяем и удаляем этот узел.
Нажатием Ctrl+V я возвращаю вырезанный контур на прежнее место.
Теперь нужно сохранить результат.

Вместо послесловия:

В FontLab есть и автоматические команды для борьбы с лишними узлами - Contour > Optimize (Ctrl+E) и команда для автоматического закрытия всех контуров - Contour > Close Open Contours.

Не использовал я их по двум причинам:

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

Удачи!

Понравились материалы сайта?

Вы всегда можете оказать поддержку проекту otlab.ru – поделитесь материалом в социальной сети, оставьте ссылку на интересный материал, отметьте «нравится» в понравившейся работе или оставьте свой комментарий!

Обнаружили ошибку? Выделите нужный фрагмент текста и нажмите Ctrl+Enter. В появившемся окне опишите проблему и отправьте уведомление Администратору.
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

 

№1  15 июня 2016 16:58 Shoorup Пользователь offline | Посетители

Подскажите с оптимизацией. Для чего она и в чем ее суть, на что влияет?

№2  28 июня 2016 13:48 denisbox Пользователь offline | Администраторы

Оптимизация контура производится на основе правила построения кривых. Убираются "лишние узлы" и расставляются точки в экстремальных участках кривой. Это напрямую влияет на качество шрифта.
 
 
Вообще это скорее отдельная тема для отдельной статьи. Постараюсь включить её в состав нового сайта который планируется вывесить в ноябре-декабре.

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.