diff -Naur crengine/CMakeLists.txt crengine_patched/CMakeLists.txt --- crengine/CMakeLists.txt Fri Nov 1 13:16:34 2013 +++ crengine_patched/CMakeLists.txt Fri Nov 1 12:48:40 2013 @@ -170,6 +170,10 @@ if ( NOT ${GUI} STREQUAL FB2PROPS ) if (NOT MAC) +if (DEFINED USE_QT_PNG) + SET(PNG_INCLUDE_DIR ${QT_INCLUDE_DIR}/../src/3rdparty/libpng) + message("Using QT LIBPNG ${USE_QT_PNG} include dir: ${PNG_INCLUDE_DIR}") +else() if (NOT WIN32 AND NOT CR3_PNG) FIND_PACKAGE(PNG) endif (NOT WIN32 AND NOT CR3_PNG) @@ -182,7 +186,12 @@ SET(PNG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libpng) SET(PNG_LIBRARIES png) endif (NOT PNG_FOUND) +endif(DEFINED USE_QT_PNG) +if (DEFINED USE_QT_JPEG) + SET(JPEG_INCLUDE_DIR ${QT_INCLUDE_DIR}/../src/3rdparty/libjpeg) + message("Using QT LIBJPEG ${USE_QT_JPEG} include dir: ${JPEG_INCLUDE_DIR}") +else() if (NOT WIN32 AND NOT CR3_JPEG) FIND_PACKAGE(JPEG) endif (NOT WIN32 AND NOT CR3_JPEG) @@ -192,7 +201,12 @@ SET(JPEG_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/libjpeg) SET(JPEG_LIBRARIES jpeg) endif (NOT JPEG_FOUND) +endif(DEFINED USE_QT_JPEG) +if (DEFINED USE_QT_FREETYPE) + SET(FREETYPE_INCLUDE_DIRS ${QT_INCLUDE_DIR}/../src/3rdparty/freetype/include) + message("Using QT FREETYPE ${USE_QT_FREETYPE} include dir: ${FREETYPE_INCLUDE_DIRS}") +else() if (NOT WIN32 AND NOT CR3_FREETYPE) FIND_PACKAGE(Freetype) endif (NOT WIN32 AND NOT CR3_FREETYPE) @@ -202,6 +216,7 @@ SET(FREETYPE_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/freetype/include) SET(FREETYPE_LIBRARIES freetype) endif (NOT FREETYPE_FOUND) +endif(DEFINED USE_QT_FREETYPE) endif (NOT MAC) #if (ENABLE_CHM) diff -Naur crengine/cr3qt/src/cr3widget.cpp crengine_patched/cr3qt/src/cr3widget.cpp --- crengine/cr3qt/src/cr3widget.cpp Fri Nov 1 13:16:35 2013 +++ crengine_patched/cr3qt/src/cr3widget.cpp Fri Nov 1 12:49:28 2013 @@ -70,8 +70,6 @@ ".0..0.XXXX.XXXX.XXXX.XXXX.0.", ".0..0.XXXX.XXXX.XXXX.XXXX.0.", ".0..0.XXXX.XXXX.XXXX.XXXX.0.", - ".0..0.XXXX.XXXX.XXXX.XXXX.0.", - ".0..0.XXXX.XXXX.XXXX.XXXX.0.", ".0000.XXXX.XXXX.XXXX.XXXX.0.", "....0.XXXX.XXXX.XXXX.XXXX.0.", " .0.....................0.", diff -Naur crengine/cr3qt/src/main.cpp crengine_patched/cr3qt/src/main.cpp --- crengine/cr3qt/src/main.cpp Fri Nov 1 13:16:35 2013 +++ crengine_patched/cr3qt/src/main.cpp Fri Nov 1 12:48:40 2013 @@ -348,7 +348,8 @@ lString16 fontdir( sysdir ); fontdir << "\\Fonts\\"; lString8 fontdir8( UnicodeToUtf8(fontdir) ); - const char * fontnames[] = { +#ifndef _USE_ALL_SYSTEM_FONTS + const char *fontnames[] = { "arial.ttf", "ariali.ttf", "arialb.ttf", @@ -389,6 +390,22 @@ "georgiaz.ttf", NULL }; +#else + QDir qFontDir(fontdir8.c_str()); + QStringList qFontFilter; + qFontFilter << "*.ttf" << "*.otf" << "*.pfa" << "*.pfb"; + QStringList qFiles = qFontDir.entryList(qFontFilter); + + // Copy QStringList to char ** + // (c) http://www.dzone.com/snippets/copy-qstringlist-char-and + char **fontnames; + fontnames = new char*[qFiles.size() + 1]; + for (int i = 0; i < qFiles.size(); i++) { + fontnames[i] = new char[strlen(qFiles.at(i).toStdString().c_str())+1]; + memcpy(fontnames[i], qFiles.at(i).toStdString().c_str(), strlen(qFiles.at(i).toStdString().c_str())+1); + } + fontnames[qFiles.size()] = ((char)NULL); +#endif for ( int fi = 0; fontnames[fi]; fi++ ) { fontMan->RegisterFont( fontdir8 + fontnames[fi] ); } diff -Naur crengine/cr3qt/src/settings.ui crengine_patched/cr3qt/src/settings.ui --- crengine/cr3qt/src/settings.ui Fri Nov 1 13:16:35 2013 +++ crengine_patched/cr3qt/src/settings.ui Fri Nov 1 13:23:15 2013 @@ -1495,7 +1495,7 @@ - Enable documetn internal styles + Enable document internal styles diff -Naur crengine/crengine/src/wordfmt.cpp crengine_patched/crengine/src/wordfmt.cpp --- crengine/crengine/src/wordfmt.cpp Fri Nov 1 13:16:35 2013 +++ crengine_patched/crengine/src/wordfmt.cpp Fri Nov 1 12:48:40 2013 @@ -20,7 +20,7 @@ #endif #include "../include/wordfmt.h" -#ifdef _WIN32 +#if defined _WIN32 && !defined __MINGW32__ extern "C" { int strcasecmp(const char *s1, const char *s2) { return stricmp(s1,s2);