Я рисую черный текст на сером фоне с помощью CoreText. Кажется, что система автоматически выполняет смешивание глифов, я бы хотел отключить это поведение, если это возможно, но я не уверен, как это сделать.
это увеличенный скриншот верхней части буквы L. это смешивание, которое я хотел бы отключить
Код отрисовки выглядит так:
let para = NSMutableParagraphStyle()
para.alignment = .center
let attrString = NSAttributedString(string: Configuration.trainString,
attributes: [
.font:UIFont.boldSystemFont(ofSize: size.height*0.8),
.paragraphStyle:para
])
let framesetter = CTFramesetterCreateWithAttributedString(attrString as CFAttributedString)
let frame = CTFramesetterCreateFrame(framesetter, CFRangeMake(0, attrString.length), path, nil)
CTFrameDraw(frame, ctx)
let cgImage = ctx.makeImage()
return cgImage
есть ли способ сделать это, все еще используя CoreText?
EDIT: возможно это связано, однако я считаю, что этот вопрос все еще актуален. на этот вопрос можно ответить явно с помощью кода, тогда как раньше код не предоставлялся. Я уже округляю путь, используемый фреймсеттером, до интегралов (как и размер шрифта)
полное содержание кода, который будет работать на игровой площадке Swift, размещено ЗДЕСЬ