There are two issues:
1. text2brep never returns FALSE for unknown font, because historically font manager returns the following 2 fallbacks:
// Requested family name not found -> search for any font family with given aspect and height
// The last resort: trying to use ANY font available in the system
so that error will occur ONLY if font manager is completely empty.
Without any warning.
2. Modern Linux distributions might ignore X11 fonts registration (probably in attempt to go for Wayland, etc.),
so that the list of registered fonts detected by OCCT is very poor on not customized system (Xubuntu 18.04):
Courier 10 Pitch regular /usr/share/fonts/X11/Type1/c0419bt_.pfb
Courier 10 Pitch italic /usr/share/fonts/X11/Type1/c0582bt_.pfb
Courier 10 Pitch bold /usr/share/fonts/X11/Type1/c0583bt_.pfb
Courier 10 Pitch bolditalic /usr/share/fonts/X11/Type1/c0611bt_.pfb
Bitstream Charter bold /usr/share/fonts/X11/Type1/c0632bt_.pfb
Bitstream Charter bolditalic /usr/share/fonts/X11/Type1/c0633bt_.pfb
Bitstream Charter regular /usr/share/fonts/X11/Type1/c0648bt_.pfb
Bitstream Charter italic /usr/share/fonts/X11/Type1/c0649bt_.pfb
while system actually has more fonts installed in standard folders.
It seems that problem 2 can be solved by relaxing conditions on Linux and reusing font searching code already used for macOS and Android.
The problem 1 is more difficult to fix, because if fallbacks will be removed from Font_FontMgr::FindFont(), then it should be moved to other places calling Font_FontMgr::FindFont() or otherwise text will not be displayed at all. Font_FontMgr::FindFont() can be extended with extra flag defining if fallback should be provided or not, but this would look confusing.
Alternatively, we may just emit Error messages within Font_FontMgr::FindFont(), so that fallback will be still provided, but user will be able to see that something going wrong.