Мне нужно руководство по реализации представления, которое отображает NSAttributedString
внутри многоугольника с отверстиями, обтеканием и перекомпоновкой текста для соответствия геометрии. Проблема не в CoreText
, а в общей проблеме разделения неправильной формы на упорядоченную последовательность приземистых прямоугольников.
На аналогичные вопросы нет полного ответа:
Как заполнить фигуру с текстом в Javascript
CoreText CTFramesetter
не поддерживает рендеринг в CGPath
CoreText выполняет невероятный объем тяжелой работы, связанной с разметкой и отображением текста, поэтому я не могу не подозревать, что « м изобретая колесо. Для целей этого вопроса предположим, что я могу проверить подстроку, которая умещается в данном прямоугольнике, с учетом переноса слов и переноса слов.
Изменить: С тех пор я решил просто перемещаться слева направо. правильный рисунок настолько, насколько он умещается между границами. Это выглядит немного случайным, хотя я нарушаю естественные границы слов, поэтому я все равно был бы признателен за руководство о том, как другие приложения переносят текст.
Правка №2: Теперь он выглядит неплохо, поскольку поддерживает базовый перенос слов и избегает рендеринга очень коротких строк. Мой вопрос, должно быть, был слишком расплывчатым. Спасибо за внимание.
Редактировать № 3: Амория отмечает, что CTFramesetter
теперь принимает любой CGPath
.