diff --git a/DesktopEditor/fontengine/FontFile.cpp b/DesktopEditor/fontengine/FontFile.cpp index 2536ba333d..586949b778 100644 --- a/DesktopEditor/fontengine/FontFile.cpp +++ b/DesktopEditor/fontengine/FontFile.cpp @@ -1850,6 +1850,10 @@ bool CFontFile::IsBold() if (!m_pFace) return false; + TT_OS2* pOS2 = (TT_OS2*)FT_Get_Sfnt_Table(m_pFace, ft_sfnt_os2); + if (pOS2 && pOS2->version != 0xFFFF && pOS2->usWeightClass >= 800) + return true; + return ((m_pFace->style_flags & FT_STYLE_FLAG_BOLD) != 0) ? true : false; } diff --git a/PdfWriter/PdfRenderer.cpp b/PdfWriter/PdfRenderer.cpp index 66754d9718..97e1333299 100644 --- a/PdfWriter/PdfRenderer.cpp +++ b/PdfWriter/PdfRenderer.cpp @@ -383,14 +383,16 @@ void CPdfRenderer::CCommandManager::Flush() oTextLine.Flush(pPage); lTextColor = pText->GetColor(); TColor oColor = lTextColor; - pPage->SetFillColor(oColor.r, oColor.g, oColor.b); + pPage->SetFillColor(oColor.r, oColor.g, oColor.b); + pPage->SetStrokeColor(oColor.r, oColor.g, oColor.b); } if (nTextAlpha != pText->GetAlpha()) { oTextLine.Flush(pPage); nTextAlpha = pText->GetAlpha(); - pPage->SetFillAlpha(nTextAlpha); + pPage->SetFillAlpha(nTextAlpha); + pPage->SetStrokeAlpha(nTextAlpha); } if (fabs(dTextSpace - pText->GetSpace()) > 0.001)