Я ищу способ регулировки веса обводки текста в программно нарисованном тексте MacOS Mojave с конфигурацией по умолчанию без сглаживания субпикселей.
Раньше вы могли настраивать алгоритм сглаживания субпикселей с помощью частногоAPI: CGContextSetFontSmoothingStyle
.Когда субпиксельное сглаживание отключено, этот API ничего не делает.В то время как недокументированный, он использовался webkit в общедоступном коде: https://opensource.apple.com/source/WebCore/WebCore-351.9/platform/graphics/mac/FontMac.mm.auto.html
Я знаю, что это возможно, потому что в Системных настройках> Общее есть «Использовать сглаживание шрифтов, когда доступно», которое дает когда субпиксельное сглаживание выключено.Но, похоже, это не влияет на текст, который я отображаю с помощью CTFontDrawGlyphs
или CGContextShowGlyphsAtPositions
.
. При разборке системных настроек, кажется, изменяется AppleFontSmoothing
пользовательское значение по умолчанию (https://imgur.com/a/WrMKRWa). Изменение этого пользователяпо умолчанию в моем приложении, кажется, не имеет никакого эффекта.