Рендеринг CoreText в неправильной форме - PullRequest
5 голосов
/ 01 марта 2011

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

На подобные вопросы не ответили полностью:

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

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

Edit # 2: Теперь это выглядит прилично, поскольку поддерживает базовую перенос слов и избегает рендеринга очень коротких линий. Мой вопрос, должно быть, был слишком расплывчатым. Спасибо за поиск.

Редактировать # 3: Аморя отмечает, что CTFramesetter теперь принимает любые CGPath.

1 Ответ

6 голосов
/ 11 октября 2011

Я написал сообщение в блоге о выполнении переноса текста с помощью Core Text:

http://blog.amyworrall.com/post/11098565269/text-wrap-with-core-text

Эта функция является новой в iOS 4.3 и MacOS X Lion.Теперь вы можете, во-первых, рисовать внутри непрямоугольных путей, а во-вторых, проходить по другим путям, чтобы маскировать поток (т. Е. Быть отверстиями, которые вы оборачиваете).

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