Resolves: tdf#154680 don't mark an empty fontname as italic for "unknown"

its used for 'ambigious' rather than 'unknown'

Change-Id: I1aeb2f825c5e611e0a943a6ce5f3ab58658701bf
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150136
Tested-by: Jenkins
Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com>
diff --git a/svx/source/tbxctrls/tbcontrl.cxx b/svx/source/tbxctrls/tbcontrl.cxx
index b1f54a3..034a466 100644
--- a/svx/source/tbxctrls/tbcontrl.cxx
+++ b/svx/source/tbxctrls/tbcontrl.cxx
@@ -350,6 +350,8 @@ protected:
                                         ".uno:CharEndPreviewFontName",
                                         aArgs );
    }

    bool            CheckFontIsAvailable(std::u16string_view fontname);
    void            CheckAndMarkUnknownFont();

public:
@@ -1752,16 +1754,21 @@ void SvxFontNameBox_Base::FillList()
    m_xWidget->select_entry_region(nStartPos, nEndPos);
}

bool SvxFontNameBox_Base::CheckFontIsAvailable(std::u16string_view fontname)
{
    lcl_GetDocFontList(&pFontList, this);
    return pFontList && pFontList->IsAvailable(fontname);
}

void SvxFontNameBox_Base::CheckAndMarkUnknownFont()
{
    if (mbCheckingUnknownFont) //tdf#117537 block rentry
        return;
    mbCheckingUnknownFont = true;
    OUString fontname = m_xWidget->get_active_text();
    lcl_GetDocFontList( &pFontList, this );
    // If the font is unknown, show it in italic.
    // tdf#154680 If a font is set and that font is unknown, show it in italic.
    vcl::Font font = m_xWidget->get_entry_font();
    if( pFontList != nullptr && pFontList->IsAvailable( fontname ))
    if (fontname.isEmpty() || CheckFontIsAvailable(fontname))
    {
        if( font.GetItalic() != ITALIC_NONE )
        {