Настройте сглаживание в macOS 10.14, программно

Я ищу способ отрегулировать вес обводки текста в программно нарисованном тексте MacOS Mojave с настройкой по умолчанию без субпиксельного сглаживания.

Раньше вы могли настраивать алгоритм сглаживания субпикселей с помощью частного API: CGContextSetFontSmoothingStyle, Когда субпиксельное сглаживание отключено, этот API ничего не делает. В то время как недокументированный, он использовался webkit в общедоступном коде: https://opensource.apple.com/source/WebCore/WebCore-351.9/platform/graphics/mac/FontMac.mm.auto.html

Я знаю, что это возможно, потому что System Prefs>General имеет "Использовать сглаживание шрифтов, когда доступно", которое имеет эффект, когда субпиксельное сглаживание отключено. Но, похоже, это не влияет на текст, который я отображаю CTFontDrawGlyphs или же CGContextShowGlyphsAtPositions,

Из разборки системных префов похоже меняется AppleFontSmoothing пользователь по умолчанию ( https://imgur.com/a/WrMKRWa). Изменение этого пользовательского значения по умолчанию в моем приложении не оказывает никакого влияния.

0 ответов

Другие вопросы по тегам