Отображать шрифт, у которого нет курсива, как обычно, плохая идея.Тем не менее, я могу понять, что в некоторых случаях это необходимо применять в любом случае.
Единственное решение, которое мне приходит в голову сейчас, - это создание собственного шрифта с матрицей стриженных шрифтов:
CGAffineTransform matrix = CGAffineTransformMake(1, tan(degreesToRadians(0)), tan(degreesToRadians(20)), 1, 0, 0);
CTFontRef myfont = CTFontCreateWithName(CFSTR("Helvetica"), 48, &matrix);
Вам придется поиграть с матрицей и посмотреть, что принесет наилучшие результаты. (Пожалуйста, не думайте, что это фальшивый код из моей головы и интернета.)