import UIKit
func textToPath(text: String, font: UIFont) -> CGPath? {
let attributedString = NSAttributedString(string: text, attributes: [.font: font])
let line = CTLineCreateWithAttributedString(attributedString)
let runArray = CTLineGetGlyphRuns(line) as NSArray
let path = CGMutablePath()
for run in runArray {
let run = run as! CTRun
let count = CTRunGetGlyphCount(run)
for index in 0..
Я применяю преобразование, чтобы инвертировать ось Y, чтобы путь соответствовал системе координат, но проблема сохраняется. Ниже приведено изображение, показывающее неправильное рендеринг 'O', 'p' и 'e': < /p>
то, что я пробовал: < /strong>
Удаление преобразования .scaledby (x: 1, y: -1) (вызывает перевернутый текст).
Проверка, если CtfontcreatePathforglyp он возвращает путь).
Использование разных шрифтов, чтобы проверить, является ли это проблемой, специфичной для шрифта. Сгенерированный путь должен точно соответствовать тексту, включая плавные кривые для таких букв, как 'o', 'p' и 'e'. < /p>
Вопрос: < /strong>
Что может вызвать неправильное рендеринг круглых глифов? /п>
Подробнее здесь: https://stackoverflow.com/questions/793 ... g-properly