Commit {c0845abd897f} to 3.4 (master) uses font's filepath without
checking if it exists, therefore crashing on embedded fonts since
they do not have a filepath (loaded from memory).
blf_font_new_ex checks to see if we have static details about a font, so that Face loading can be skipped. Unfortunately an embedded font being loaded from memory will not have a filepath so this requires checking that this exists.
This changes the code slightly for better readability with a face_needed Boolean.
Note that this breaking commit is recent, to 3.4 master. There will be a separate problem(s) causing a similar bad result reported in T99872 for earlier versions of Blender. This is why the description includes "Master".