Why jassert at juce_Font.cpp:224?

Why would the constructor of SharedFontInternal jassert that a Typeface name isn’t empty:

explicit SharedFontInternal (const Typeface::Ptr& face) noexcept
        : typeface (face),
          typefaceName (face->getName()),
          typefaceStyle (face->getStyle()),
          height (FontValues::defaultFontHeight)
    {
        jassert (typefaceName.isNotEmpty());
    }

When WindowsTypeface readily constructs typefaces with an empty name?

WindowsTypeface (const void* data, size_t dataSize)
        : Typeface (String(), String())
    {
      //...

I’m using Typeface::createSystemTypefaceFor() to set my default look-and-feel font, and now every time I boot up my app in debug mode I hit that jassert. Very inconvenient!

Still a valid question…

https://github.com/juce-framework/JUCE/blob/master/modules/juce_graphics/fonts/juce_Font.cpp#L230

It seems that some ttf’s I’m using don’t have a name which is causing this assert to be triggered all the time.