Методы делегата запуска getAscent и getDescent фактически вызваны (это работает в моем собственном коде). Конечно, имеет смысл, что это не меняет базовую линию (и, таким образом, не меняет способ отображения текста относительно другого текста в строке), поскольку подъем и спуск относительно базовой линии.
Было бы удобно иметь, возможно, getBaselineOffset, но, к сожалению, этого не существует.
Я предлагаю использовать обратные вызовы делегата запуска, чтобы зарезервировать место для текста с различной базовой линией, а затем во втором проходе нарисовать другой текст с другой базовой линией.