Is it not true that the code would always use a system font when reaching the else {} because if even if _isValidFontName() returns true, the same font load which failed would be attempted again with 'UIFont fontWithName:fntName size:nSize];'? If that call failed once for the same value of 'fntName' then it would almost certainly fail again - causing the system font to be used even if the font name is determined to be ok.

I agree though, this code here is probably not the best. After working a little more with fonts and cocos builder CCB files I think I understand the nature of what is going on here a little better, and have a few additional changes to submit in order to make custom ttf fonts referenced from CocosBuilder CCB files work in a cross platform way. Going to close this pull request for now and submit a separate pull request instead with those changes.

Thanks for taking a look at this!