That is true, the font could be a system font. The reason I removed these statements: 

fntName = _isValidFontName(pFontName) ? fntName : @"MarkerFelt-Wide";
font = [UIFont fontWithName:fntName size:nSize];

And replaced with just:
font = [UIFont fontWithName: @"MarkerFelt-Wide" size:nSize];

Was because it would cause the code to attempt to load the same font again if '_isValidFontName(pFontName)' returned true, or in other words if the font was a system font. Since it failed to load the first time it would almost certainly fail to load again on the second attempt- therefore I figured it would not make much sense in re-trying this failed operation again. Instead, the code was changed to go straight to loading the fallback 'MarkerFelt-Wide' font when an error occurred.

Was there a reason why the failed font load was being re-attempted a second time when the font was a system font?