diff --git a/README.Win32 b/README.Win32 index 6d379daf9..a91ad5885 100644 --- a/README.Win32 +++ b/README.Win32 @@ -83,3 +83,7 @@ because it contains some Fortran code. project. 9. Build the file vcf2c.lib with "nmake -f makefile.vc" and add it to the MEFISTO2 project as additional library. The linker errors should now go away. + +* FreeType + +http://stackoverflow.com/questions/6207176/compiling-freetype-to-dll-as-opposed-to-static-library diff --git a/cMake/UseLibPack8x.cmake b/cMake/UseLibPack8x.cmake index 4b774a1d5..0d6961d6d 100644 --- a/cMake/UseLibPack8x.cmake +++ b/cMake/UseLibPack8x.cmake @@ -394,5 +394,19 @@ SET(EIGEN3_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/eigen3) set(EIGEN3_FOUND TRUE) - - +# FreeType +if(FREECAD_USE_FREETYPE) + set(FREETYPE_LIBRARIES + optimized ${FREECAD_LIBPACK_DIR}/lib/freetype.lib + debug ${FREECAD_LIBPACK_DIR}/lib/freetyped.lib + ) + set(FREETYPE_INCLUDE_DIRS + ${FREECAD_LIBPACK_DIR}/include/FreeType-2.4.12 + ) + set(FREETYPE_VERSION_STRING + "2.4.12" + ) + set(FREETYPE_FOUND + TRUE + ) +endif(FREECAD_USE_FREETYPE) diff --git a/cMake/UseLibPackCustom.cmake b/cMake/UseLibPackCustom.cmake index 3747af21f..986ca9fd4 100644 --- a/cMake/UseLibPackCustom.cmake +++ b/cMake/UseLibPackCustom.cmake @@ -323,72 +323,72 @@ set(NGLIB_DEBUG_LIBRARIES #set(OCC_INCLUDE_DIR C:/Projects/LibPack/oce-0.10.0/include/oce) #set(OCC_LIBRARY_DIR C:/Projects/LibPack/oce-0.10.0/Win64/lib) #set(OCC_LIBRARIES -# ${OCC_LIBRARY_DIR}/TKFillet.lib -# ${OCC_LIBRARY_DIR}/TKMesh.lib -# ${OCC_LIBRARY_DIR}/TKernel.lib -# ${OCC_LIBRARY_DIR}/TKG2d.lib -# ${OCC_LIBRARY_DIR}/TKG3d.lib -# ${OCC_LIBRARY_DIR}/TKMath.lib -# ${OCC_LIBRARY_DIR}/TKIGES.lib -# ${OCC_LIBRARY_DIR}/TKSTL.lib -# ${OCC_LIBRARY_DIR}/TKShHealing.lib -# ${OCC_LIBRARY_DIR}/TKXSBase.lib -# ${OCC_LIBRARY_DIR}/TKBool.lib -# ${OCC_LIBRARY_DIR}/TKBO.lib -# ${OCC_LIBRARY_DIR}/TKBRep.lib -# ${OCC_LIBRARY_DIR}/TKTopAlgo.lib -# ${OCC_LIBRARY_DIR}/TKGeomAlgo.lib -# ${OCC_LIBRARY_DIR}/TKGeomBase.lib -# ${OCC_LIBRARY_DIR}/TKOffset.lib -# ${OCC_LIBRARY_DIR}/TKPrim.lib -# ${OCC_LIBRARY_DIR}/TKSTEP.lib -# ${OCC_LIBRARY_DIR}/TKSTEPBase.lib -# ${OCC_LIBRARY_DIR}/TKSTEPAttr.lib -# ${OCC_LIBRARY_DIR}/TKHLR.lib -# ${OCC_LIBRARY_DIR}/TKFeat.lib +# ${OCC_LIBRARY_DIR}/TKFillet.lib +# ${OCC_LIBRARY_DIR}/TKMesh.lib +# ${OCC_LIBRARY_DIR}/TKernel.lib +# ${OCC_LIBRARY_DIR}/TKG2d.lib +# ${OCC_LIBRARY_DIR}/TKG3d.lib +# ${OCC_LIBRARY_DIR}/TKMath.lib +# ${OCC_LIBRARY_DIR}/TKIGES.lib +# ${OCC_LIBRARY_DIR}/TKSTL.lib +# ${OCC_LIBRARY_DIR}/TKShHealing.lib +# ${OCC_LIBRARY_DIR}/TKXSBase.lib +# ${OCC_LIBRARY_DIR}/TKBool.lib +# ${OCC_LIBRARY_DIR}/TKBO.lib +# ${OCC_LIBRARY_DIR}/TKBRep.lib +# ${OCC_LIBRARY_DIR}/TKTopAlgo.lib +# ${OCC_LIBRARY_DIR}/TKGeomAlgo.lib +# ${OCC_LIBRARY_DIR}/TKGeomBase.lib +# ${OCC_LIBRARY_DIR}/TKOffset.lib +# ${OCC_LIBRARY_DIR}/TKPrim.lib +# ${OCC_LIBRARY_DIR}/TKSTEP.lib +# ${OCC_LIBRARY_DIR}/TKSTEPBase.lib +# ${OCC_LIBRARY_DIR}/TKSTEPAttr.lib +# ${OCC_LIBRARY_DIR}/TKHLR.lib +# ${OCC_LIBRARY_DIR}/TKFeat.lib #) #set(OCC_OCAF_LIBRARIES -# ${OCC_LIBRARY_DIR}/TKCAF.lib -# ${OCC_LIBRARY_DIR}/TKXCAF.lib -# ${OCC_LIBRARY_DIR}/TKLCAF.lib -# ${OCC_LIBRARY_DIR}/TKXDESTEP.lib -# ${OCC_LIBRARY_DIR}/TKXDEIGES.lib +# ${OCC_LIBRARY_DIR}/TKCAF.lib +# ${OCC_LIBRARY_DIR}/TKXCAF.lib +# ${OCC_LIBRARY_DIR}/TKLCAF.lib +# ${OCC_LIBRARY_DIR}/TKXDESTEP.lib +# ${OCC_LIBRARY_DIR}/TKXDEIGES.lib #) set(OCC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/OpenCascade-6.3.0) set(OCC_LIBRARY_DIR ${FREECAD_LIBPACK_DIR}/lib) set(OCC_LIBRARIES - TKFillet - TKMesh - TKernel - TKG2d - TKG3d - TKMath - TKIGES - TKSTL - TKShHealing - TKXSBase - TKBool - TKBO - TKBRep - TKTopAlgo - TKGeomAlgo - TKGeomBase - TKOffset - TKPrim - TKSTEP - TKSTEPBase - TKSTEPAttr - TKHLR - TKFeat + TKFillet + TKMesh + TKernel + TKG2d + TKG3d + TKMath + TKIGES + TKSTL + TKShHealing + TKXSBase + TKBool + TKBO + TKBRep + TKTopAlgo + TKGeomAlgo + TKGeomBase + TKOffset + TKPrim + TKSTEP + TKSTEPBase + TKSTEPAttr + TKHLR + TKFeat ) set(OCC_OCAF_LIBRARIES - TKCAF - TKXCAF - TKLCAF - TKXDESTEP - TKXDEIGES - TKMeshVS - TKAdvTools + TKCAF + TKXCAF + TKLCAF + TKXDESTEP + TKXDEIGES + TKMeshVS + TKAdvTools ) set(OCC_FOUND TRUE) @@ -402,5 +402,19 @@ set(ODE_INCLUDE_DIRS ${FREECAD_LIBPACK_DIR}/include/ode-0.11.1) set(ODE_LIBRARIES ${FREECAD_LIBPACK_DIR}/lib/ode_double.lib) set(ODE_FOUND TRUE) - - +# FreeType +if(FREECAD_USE_FREETYPE) + set(FREETYPE_LIBRARIES + optimized ${FREECAD_LIBPACK_DIR}/lib/freetype.lib + debug ${FREECAD_LIBPACK_DIR}/lib/freetyped.lib + ) + set(FREETYPE_INCLUDE_DIRS + ${FREECAD_LIBPACK_DIR}/include/FreeType-2.4.12 + ) + set(FREETYPE_VERSION_STRING + "2.4.12" + ) + set(FREETYPE_FOUND + TRUE + ) +endif(FREECAD_USE_FREETYPE) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index 18b79ef2b..270a6a441 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -1699,13 +1699,6 @@ def makeShapeString(String,FontFile,Size = 100,Tracking = 0): into a Compound Shape''' # temporary code - import platform - if not (platform.system() == 'Linux'): -# if (platform.system() == 'Linux'): - FreeCAD.Console.PrintWarning("Sorry, ShapeString is not yet implemented for your platform.\n") - return (None) - # temporary code - obj = FreeCAD.ActiveDocument.addObject("Part::Part2DObjectPython","ShapeString") _ShapeString(obj) obj.String = String diff --git a/src/Mod/Draft/DraftTools.py b/src/Mod/Draft/DraftTools.py index 33fb5d6ca..89cd5df9d 100644 --- a/src/Mod/Draft/DraftTools.py +++ b/src/Mod/Draft/DraftTools.py @@ -1795,7 +1795,7 @@ class ShapeString(Creator): def GetResources(self): return {'Pixmap' : 'Draft_ShapeString', 'Accel' : "S, S", - 'MenuShapeString': QtCore.QT_TRANSLATE_NOOP("Draft_ShapeString", "ShapeString"), + 'MenuText': QtCore.QT_TRANSLATE_NOOP("Draft_ShapeString", "Shape from text..."), 'ToolTip': QtCore.QT_TRANSLATE_NOOP("Draft_ShapeString", "Creates text string in shapes.")} def Activated(self): @@ -1817,12 +1817,11 @@ class ShapeString(Creator): "creates object in the current doc" # print "debug: D_T ShapeString.createObject type(self.SString): " str(type(self.SString)) # temporary code - import platform - if not (platform.system() == 'Linux'): -# if (platform.system() == 'Linux'): - FreeCAD.Console.PrintWarning("Sorry, ShapeString is not yet fully implemented for your platform.\n") - self.finish() - return + #import platform + #if not (platform.system() == 'Linux'): + # FreeCAD.Console.PrintWarning("Sorry, ShapeString is not yet fully implemented for your platform.\n") + # self.finish() + # return # temporary code dquote = '"' diff --git a/src/Mod/Part/App/AppPartPy.cpp b/src/Mod/Part/App/AppPartPy.cpp index edd96dfaf..5973e0659 100644 --- a/src/Mod/Part/App/AppPartPy.cpp +++ b/src/Mod/Part/App/AppPartPy.cpp @@ -342,17 +342,17 @@ static PyObject * makeWireString(PyObject *self, PyObject *args) &track)) { Base::Console().Message("** makeWireString bad args.\n"); return NULL; - } + } if (PyString_Check(intext)) { PyObject *p = Base::PyAsUnicodeObject(PyString_AsString(intext)); if (!p) { Base::Console().Message("** makeWireString can't convert PyString.\n"); return NULL; - } + } pysize = PyUnicode_GetSize(p); unichars = PyUnicode_AS_UNICODE(p); - } + } else if (PyUnicode_Check(intext)) { pysize = PyUnicode_GetSize(intext); unichars = PyUnicode_AS_UNICODE(intext); @@ -376,7 +376,7 @@ static PyObject * makeWireString(PyObject *self, PyObject *args) return (CharList); } -#else +#else static PyObject * makeWireString(PyObject *self, PyObject *args) { diff --git a/src/Mod/Part/App/CMakeLists.txt b/src/Mod/Part/App/CMakeLists.txt index aaf1fb612..e337bebb9 100644 --- a/src/Mod/Part/App/CMakeLists.txt +++ b/src/Mod/Part/App/CMakeLists.txt @@ -4,9 +4,9 @@ else(MSVC) add_definitions(-DHAVE_LIMITS_H -DHAVE_CONFIG_H) endif(MSVC) -if(FREECAD_USE_FREETYPE) - add_definitions(-DFCUseFreeType) -endif(FREECAD_USE_FREETYPE) +if(FREETYPE_FOUND) + add_definitions(-DFCUseFreeType) +endif(FREETYPE_FOUND) include_directories( ${CMAKE_BINARY_DIR}/src @@ -28,12 +28,12 @@ set(Part_LIBS FreeCADApp ) -if(FREECAD_USE_FREETYPE) +if(FREETYPE_FOUND) set(Part_LIBS ${Part_LIBS} - ${FREETYPE_LIBRARY} + ${FREETYPE_LIBRARIES} ) -endif(FREECAD_USE_FREETYPE) +endif(FREETYPE_FOUND) generate_from_xml(ArcPy) generate_from_xml(ArcOfCirclePy) diff --git a/src/Mod/Part/App/FT2FC.cpp b/src/Mod/Part/App/FT2FC.cpp index cc3c7c3f3..f1986e3f7 100644 --- a/src/Mod/Part/App/FT2FC.cpp +++ b/src/Mod/Part/App/FT2FC.cpp @@ -330,11 +330,11 @@ FT_Vector getKerning(FT_Face FTFont, UNICHAR lc, UNICHAR rc) { if(error) { ErrorMsg << "FT_Get_Kerning failed: " << error; throw std::runtime_error(ErrorMsg.str()); - } + } retXY.x = ftKern.x; retXY.y = ftKern.y; return(retXY); - } +} // Make a TopoDS_Wire from a list of TopoDS_Edges TopoShapeWirePy* edgesToWire(std::vector Edges) { @@ -350,7 +350,7 @@ TopoShapeWirePy* edgesToWire(std::vector Edges) { TopoShapeWirePy* newwire = new TopoShapeWirePy(new TopoShape (occwire)); return(newwire); - } +} -#endif //#ifdef FCUseFreeType \ No newline at end of file +#endif //#ifdef FCUseFreeType