From d0c4a33992dd78dfa72214b788f92f0adaea52f4 Mon Sep 17 00:00:00 2001 From: Uwe Date: Fri, 16 Sep 2022 03:09:24 +0200 Subject: [PATCH] [Part] fix bold italic measurement text - bold and italic font did not work for measurement text, see https://github.com/FreeCAD/FreeCAD/pull/7148#issuecomment-1247989284 --- src/Mod/Part/Gui/TaskDimension.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/Mod/Part/Gui/TaskDimension.cpp b/src/Mod/Part/Gui/TaskDimension.cpp index e73df5fb99..5f8a4777e4 100644 --- a/src/Mod/Part/Gui/TaskDimension.cpp +++ b/src/Mod/Part/Gui/TaskDimension.cpp @@ -227,9 +227,17 @@ void PartGui::dumpLinearResults(const BRepExtrema_DistShapeShape &measure) auto PartGui::getDimensionsFontName() { ParameterGrp::handle group = App::GetApplication().GetUserParameter().GetGroup("BaseApp/Preferences/Mod/Part"); - std::string fontName = group->GetASCII("DimensionsFontName", "defaultFont") - + (group->GetBool("DimensionsFontStyleBold", false) ? " :Bold" : "") - + (group->GetBool("DimensionsFontStyleItalic", false) ? " :Italic" : ""); + std::string fontName = group->GetASCII("DimensionsFontName", "defaultFont"); + // if there is only italic, we must output ":Italic", otherwise ":Bold Italic" + if (group->GetBool("DimensionsFontStyleBold")) { + fontName = fontName + " :Bold"; + if (group->GetBool("DimensionsFontStyleItalic")) + fontName = fontName + " Italic"; + } + else { + if (group->GetBool("DimensionsFontStyleItalic")) + fontName = fontName + " :Italic"; + } return fontName; }