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/