Ah ok, I think I finally understand now- apologies! So if the user is trying to load a system font (perhaps for reasons of localisation?) then we should only ever give back the default system font on failure to load? Yes... This makes sense because the default system font might support the character set that the user is looking for. 

What was confusing me about this code was why it was trying the same failed operation twice but I think I understand the rationale behind it now. The only change that needs to be made I think is perhaps not to do the failed operation twice (when loading a system font) and go straight instead to the default system font.

Do the following additional changes below make sense?