Don't try to play with the font names. With iOS7+, using the font descriptor you need no names:
// original font to modify
UIFont *font = [UIFont fontWithName:@"Georgia" size:15];
// adding bold and italic descriptor
UIFontDescriptor *fontDescriptor = [font.fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold | UIFontDescriptorTraitItalic];
// making the new font; size:0 means 'keep the size as is'
myLabel.font = [UIFont fontWithDescriptor:fontDescriptor size:0];
source
With iOS3.2+, you can try CoreText:
// original font to modify
UIFont *font = [UIFont fontWithName:@"Georgia" size:15];
// CoreText font equivalent
CTFontRef ctFont = CTFontCreateWithName((__bridge CFStringRef)font.fontName, font.pointSize, NULL);
// adding bold and italic
CTFontRef ctFont2 = CTFontCreateCopyWithSymbolicTraits(ctFont, 0.0, NULL, kCTFontBoldTrait | kCTFontItalicTrait, kCTFontBoldTrait | kCTFontItalicTrait);
CFRelease(ctFont);
// back to UIFont
UIFont *newfont = [UIFont fontWithName:CFBridgingRelease( CTFontCopyPostScriptName(ctFont2)) size:CTFontGetSize(ctFont2)];
CFRelease(ctFont2);