SWIFT: преобразование текста в CGPATH - круговые глифы неправильноIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 SWIFT: преобразование текста в CGPATH - круговые глифы неправильно

Сообщение Anonymous »

Я пытаюсь преобразовать строку в cgpath в Swift с помощью Coretext. Подход работает для большинства символов, но для букв с круглыми краями, такими как «o», 'p', 'e', ​​путь неправильно отображается. Изогнутые части кажутся искаженными или отсутствующими.import CoreText
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>
📷 Прикрепите изображение, показывающее неверное рендеринг < /p>
то, что я пробовал: < /strong>
Удаление преобразования .scaledby (x: 1, y: -1) (вызывает перевернутый текст).
Проверка, если CtfontcreatePathforglyp он возвращает путь).
Использование разных шрифтов, чтобы проверить, является ли это проблемой, специфичной для шрифта. Сгенерированный путь должен точно соответствовать тексту, включая плавные кривые для таких букв, как 'o', 'p' и 'e'. < /p>
Вопрос: < /strong>
Что может вызвать неправильное рендеринг круглых глифов? /п>

Подробнее здесь: https://stackoverflow.com/questions/793 ... g-properly
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «IOS»