2013-08-01 1 views
2

Я хочу нарисовать буквы, используя UIBezierPath. Я нашел tutorial here. Однако это дает мне замкнутый путь, представляющий контур буквы, как показано ниже. Мне нужен путь, представляющий тело письма.Нарисуйте письмо без глифа, используя UIBezierPath

Как это можно сделать одной строкой, представляющей тело?

Character

+0

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

+0

@robmayoff, спасибо. Я редактировал свой вопрос. – John

+0

Вы имеете в виду это, а не трассировку линии * контур * глифа, вы хотите, чтобы линия, которая прослеживает тело глифа? –

ответ

0

Как вы уже нашли, Core Text может обеспечить только глифов контур. Просить «одиночную строку» для глифа немного двусмысленно; рассмотрите письмо i - какую именно строку он представляет? Более того, одна строка не может кодировать информацию различной ширины в глифе.

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

1

В общем, глифы в современных шрифтах не являются «линиями» в том смысле, о котором вы говорите. Они очертания. Чтобы понять, почему, подумайте о любом лице с засечками, например Times. Как бы засечки были выражены как одна линия?

Сказанное относится к специальным классам типов лиц, которые в обычном порядке называются «штырьковыми шрифтами», которые являются на основе линий и часто используются для гравировки с ЧПУ. Вот ресурс: CamBam Stick Fonts Возможно, это будет полезно для вас.

+1

Другой ресурс: http://paulbourke.net/dataformats/hershey/ –