diff --git a/src/Mod/TechDraw/App/DrawViewAnnotation.h b/src/Mod/TechDraw/App/DrawViewAnnotation.h
index 6a385a2cf3..88cacd9348 100644
--- a/src/Mod/TechDraw/App/DrawViewAnnotation.h
+++ b/src/Mod/TechDraw/App/DrawViewAnnotation.h
@@ -48,7 +48,7 @@ public:
virtual ~DrawViewAnnotation();
App::PropertyStringList Text;
- App::PropertyString Font;
+ App::PropertyFont Font;
App::PropertyColor TextColor;
App::PropertyInteger TextSize;
App::PropertyInteger LineSpace;
diff --git a/src/Mod/TechDraw/App/DrawViewDimension.cpp b/src/Mod/TechDraw/App/DrawViewDimension.cpp
index 6a08f760b5..9d8cc36425 100644
--- a/src/Mod/TechDraw/App/DrawViewDimension.cpp
+++ b/src/Mod/TechDraw/App/DrawViewDimension.cpp
@@ -186,6 +186,7 @@ App::DocumentObjectExecReturn *DrawViewDimension::execute(void)
}
//TODO: if MeasureType = Projected and the Projected shape changes, the Dimension may become invalid (see tilted Cube example)
+ requestPaint();
return App::DocumentObject::execute();;
}
diff --git a/src/Mod/TechDraw/App/DrawViewDimension.h b/src/Mod/TechDraw/App/DrawViewDimension.h
index 8330c09d9c..13f5a92e68 100644
--- a/src/Mod/TechDraw/App/DrawViewDimension.h
+++ b/src/Mod/TechDraw/App/DrawViewDimension.h
@@ -59,7 +59,7 @@ public:
App::PropertyEnumeration Type; //DistanceX,DistanceY,Diameter, etc
/// Properties for Visualisation
- App::PropertyString Font;
+ App::PropertyFont Font;
App::PropertyFloat Fontsize;
App::PropertyString FormatSpec;
App::PropertyFloat LineWidth;
diff --git a/src/Mod/TechDraw/App/DrawViewSpreadsheet.h b/src/Mod/TechDraw/App/DrawViewSpreadsheet.h
index 557727142f..5502cbb915 100644
--- a/src/Mod/TechDraw/App/DrawViewSpreadsheet.h
+++ b/src/Mod/TechDraw/App/DrawViewSpreadsheet.h
@@ -49,7 +49,7 @@ public:
App::PropertyLink Source;
App::PropertyString CellStart;
App::PropertyString CellEnd;
- App::PropertyString Font;
+ App::PropertyFont Font;
App::PropertyColor TextColor;
App::PropertyFloat LineWidth;
App::PropertyFloat TextSize;
diff --git a/src/Mod/TechDraw/Gui/AppTechDrawGui.cpp b/src/Mod/TechDraw/Gui/AppTechDrawGui.cpp
index 52e04317dd..f18bd3e27a 100644
--- a/src/Mod/TechDraw/Gui/AppTechDrawGui.cpp
+++ b/src/Mod/TechDraw/Gui/AppTechDrawGui.cpp
@@ -30,6 +30,7 @@
#include
#include
#include
+#include
#include
#include
@@ -66,6 +67,15 @@ void loadTechDrawResource()
// add resources and reloads the translators
Q_INIT_RESOURCE(TechDraw);
Gui::Translator::instance()->refresh();
+
+ // add osifont
+ std::string fontDir = App::Application::getResourceDir() + "Mod/TechDraw/Resources/fonts/";
+ QString fontFile = Base::Tools::fromStdString(fontDir + "osifont-lgpl3fe.ttf");
+ QFontDatabase fontDB;
+ int rc = fontDB.addApplicationFont(fontFile);
+ if (rc) {
+ Base::Console().Log("TechDraw failed to load osifont file: %d from: %s\n",rc,qPrintable(fontFile));
+ }
}
namespace TechDrawGui {
diff --git a/src/Mod/TechDraw/Gui/CMakeLists.txt b/src/Mod/TechDraw/Gui/CMakeLists.txt
index 38d2ab2470..a43f3baf3d 100644
--- a/src/Mod/TechDraw/Gui/CMakeLists.txt
+++ b/src/Mod/TechDraw/Gui/CMakeLists.txt
@@ -246,6 +246,15 @@ fc_copy_sources(TechDrawGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/Te
INSTALL(FILES ${TechDrawGuiIcon_SVG} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/TechDraw/Resources/icons")
+##install OSIFONT
+SET(TechDrawGuiFonts
+ Resources/fonts/osifont-lgpl3fe.ttf
+ Resources/fonts/osifont.license
+)
+fc_copy_sources(TechDrawGui "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_DATADIR}/Mod/TechDraw" ${TechDrawGuiFonts})
+INSTALL(FILES ${TechDrawGuiFonts} DESTINATION "${CMAKE_INSTALL_DATADIR}/Mod/TechDraw/Resources/fonts")
+
+
SET_BIN_DIR(TechDrawGui TechDrawGui /Mod/TechDraw)
SET_PYTHON_PREFIX_SUFFIX(TechDrawGui)
diff --git a/src/Mod/TechDraw/Gui/Resources/fonts/osifont.license b/src/Mod/TechDraw/Gui/Resources/fonts/osifont.license
new file mode 100644
index 0000000000..0ad149ca7d
--- /dev/null
+++ b/src/Mod/TechDraw/Gui/Resources/fonts/osifont.license
@@ -0,0 +1,9 @@
+osifont license:
+
+osifont-lgpl3fe.ttf is used under one or more of the following licenses:
+- GNU GPL licence version 3 with GPL font exception,
+- GNU GPL licence version 2 with GPL font exception,
+- GNU LGPL licence version 3 with GPL font exception.
+
+
+ https://github.com/hikikomori82/osifont/