Displaying a font that does not have italics as italics is usually a bad idea. However, I can understand that there are times when this should be enforced.
The only solution that comes to my mind right now is to create your own font with a modified font matrix:
CGAffineTransform matrix = CGAffineTransformMake(1, tan(degreesToRadians(0)), tan(degreesToRadians(20)), 1, 0, 0); CTFontRef myfont = CTFontCreateWithName(CFSTR("Helvetica"), 48, &matrix);
You will need to play with the matrix and see what will bring the best results. (Please, not that this is fake code from my head and the Internet.)
source share