View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002794 | Scribus | OS-Win32 | public | 2005-11-05 01:14 | 2005-11-05 12:37 |
| Reporter | jghali | Assigned To | cbradney | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Platform | Windows | OS | Windows | OS Version | 2000 SP4 |
| Product Version | 1.3.2cvs | ||||
| Fixed in Version | 1.3.2cvs | ||||
| Summary | 0002794: Add a scribus font directory on win32 plus some scpaths cleanup | ||||
| Description | - add a specific scribus font directory in scribus_install_path/share/fonts to provide users some fonts especially those used in document templates while avoiding to mess with system fonts - remove some unuseful strdup in scpaths.cpp - handling of scribus font dir + use of getSystemFontDirs call in scfonts.cpp | ||||
| Tags | No tags attached. | ||||
| Attached Files | scribus_font_dir.diff (5,545 bytes)
Index: scfonts.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/scfonts.cpp,v
retrieving revision 1.15.2.37
diff -u -r1.15.2.37 scfonts.cpp
--- scfonts.cpp 14 Oct 2005 06:32:26 -0000 1.15.2.37
+++ scfonts.cpp 5 Nov 2005 00:27:14 -0000
@@ -41,6 +41,7 @@
#include <fontconfig/fontconfig.h>
#endif
+#include "scpaths.h"
#include "util.h"
#include FT_INTERNAL_STREAM_H
@@ -955,7 +956,7 @@
}
#else
-#ifndef QT_MAC
+#if !defined(QT_MAC) && !defined(_WIN32)
void SCFonts::AddXFontPath()
{
@@ -1113,19 +1114,20 @@
ReadCacheList(pf);
ScApp->setSplashStatus( QObject::tr("Searching for Fonts") );
AddUserPath(pf);
+ // Search the system paths
+ QStringList ftDirs = ScPaths::getSystemFontDirs();
+ for (unsigned int i = 0; i < ftDirs.count(); i++)
+ AddScalableFonts( ftDirs[i] );
+ // Search Scribus font path
+ if (QDir(ScPaths::instance().fontDir()).exists())
+ AddScalableFonts( ScPaths::instance().fontDir() );
// if fontconfig is there, it does all the work
#if HAVE_FONTCONFIG
+ // Search fontconfig paths
for(QStrListIterator fpi(FontPath) ; fpi.current() ; ++fpi)
AddScalableFonts(fpi.current());
AddFontconfigFonts();
#else
-// if FreeType thinks we are on Mac, let it search the default paths
-#if FT_MACINTOSH
- AddScalableFonts(QDir::homeDirPath() + "/Library/Fonts/");
- AddScalableFonts("/Library/Fonts/");
- AddScalableFonts("/Network/Library/Fonts/");
- AddScalableFonts("/System/Library/Fonts/");
-#endif
// on X11 look there:
#ifdef Q_WS_X11
AddXFontPath();
Index: scpaths.cpp
===================================================================
RCS file: /cvs/Scribus/scribus/Attic/scpaths.cpp,v
retrieving revision 1.1.2.9
diff -u -r1.1.2.9 scpaths.cpp
--- scpaths.cpp 7 Oct 2005 11:40:39 -0000 1.1.2.9
+++ scpaths.cpp 5 Nov 2005 01:05:47 -0000
@@ -78,14 +78,14 @@
}
qDebug(QString("scpaths: bundle at %1:").arg(pathPtr));
- m_shareDir = strdup(QString("%1/Contents/share/scribus/").arg(pathPtr));
- m_docDir = strdup(QString("%1/Contents/share/scribus/doc/").arg(pathPtr));
- m_iconDir = strdup(QString("%1/Contents/share/scribus/icons/").arg(pathPtr));
- m_sampleScriptDir = strdup(QString("%1/Contents/share/scribus/samples/").arg(pathPtr));
- m_scriptDir = strdup(QString("%1/Contents/share/scribus/scripts/").arg(pathPtr));
- m_templateDir = strdup(QString("%1/Contents/share/scribus/templates/").arg(pathPtr));
- m_libDir = strdup(QString("%1/Contents/lib/scribus/").arg(pathPtr));
- m_pluginDir = strdup(QString("%1/Contents/lib/scribus/plugins/").arg(pathPtr));
+ m_shareDir = QString("%1/Contents/share/scribus/").arg(pathPtr);
+ m_docDir = QString("%1/Contents/share/scribus/doc/").arg(pathPtr);
+ m_iconDir = QString("%1/Contents/share/scribus/icons/").arg(pathPtr);
+ m_sampleScriptDir = QString("%1/Contents/share/scribus/samples/").arg(pathPtr);
+ m_scriptDir = QString("%1/Contents/share/scribus/scripts/").arg(pathPtr);
+ m_templateDir = QString("%1/Contents/share/scribus/templates/").arg(pathPtr);
+ m_libDir = QString("%1/Contents/lib/scribus/").arg(pathPtr);
+ m_pluginDir = QString("%1/Contents/lib/scribus/plugins/").arg(pathPtr);
QApplication::setLibraryPaths(QString("%1/Contents/lib/qtplugins/").arg(pathPtr));
CFRelease(pluginRef);
CFRelease(macPath);
@@ -102,14 +102,15 @@
#elif defined(_WIN32)
QString appPath = qApp->applicationDirPath();
- m_shareDir = strdup(QString("%1/share/").arg(appPath));
- m_docDir = strdup(QString("%1/share/doc/").arg(appPath));
- m_iconDir = strdup(QString("%1/share/icons/").arg(appPath));
- m_sampleScriptDir = strdup(QString("%1/share/samples/").arg(appPath));
- m_scriptDir = strdup(QString("%1/share/scripts/").arg(appPath));
- m_templateDir = strdup(QString("%1/share/templates/").arg(appPath));
- m_libDir = strdup(QString("%1/libs/").arg(appPath));
- m_pluginDir = strdup(QString("%1/plugins/").arg(appPath));
+ m_shareDir = QString("%1/share/").arg(appPath);
+ m_docDir = QString("%1/share/doc/").arg(appPath);
+ m_fontDir = QString("%1/share/fonts/").arg(appPath);
+ m_iconDir = QString("%1/share/icons/").arg(appPath);
+ m_sampleScriptDir = QString("%1/share/samples/").arg(appPath);
+ m_scriptDir = QString("%1/share/scripts/").arg(appPath);
+ m_templateDir = QString("%1/share/templates/").arg(appPath);
+ m_libDir = QString("%1/libs/").arg(appPath);
+ m_pluginDir = QString("%1/plugins/").arg(appPath);
#endif
}
@@ -125,6 +126,11 @@
return m_iconDir;
}
+const QString& ScPaths::fontDir() const
+{
+ return m_fontDir;
+}
+
const QString& ScPaths::libDir() const
{
return m_libDir;
Index: scpaths.h
===================================================================
RCS file: /cvs/Scribus/scribus/Attic/scpaths.h,v
retrieving revision 1.1.2.5
diff -u -r1.1.2.5 scpaths.h
--- scpaths.h 3 Oct 2005 09:48:27 -0000 1.1.2.5
+++ scpaths.h 4 Nov 2005 23:24:16 -0000
@@ -24,6 +24,8 @@
const QString& docDir() const;
/** @brief Return path to icons directory*/
const QString& iconDir() const;
+ /** @brief Return path to the Scribus font directory */
+ const QString& fontDir() const;
/** @brief Return path to lib directory containing translations,
* keysets, etc. */
const QString& libDir() const;
@@ -58,6 +60,7 @@
// Members to hold system paths
QString m_docDir;
QString m_iconDir;
+ QString m_fontDir;
QString m_libDir;
QString m_pluginDir;
QString m_sampleScriptDir;
| ||||
| Patch | |||||
| related to | 0002219 | closed | On Win32, add the ability to locate special directories and sytem fonts folder |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2005-11-05 01:14 | jghali | New Issue | |
| 2005-11-05 01:14 | jghali | File Added: scribus_font_dir.diff | |
| 2005-11-05 01:15 | cbradney | Status | new => assigned |
| 2005-11-05 01:15 | cbradney | Assigned To | => cbradney |
| 2005-11-05 01:19 | cbradney | Status | assigned => resolved |
| 2005-11-05 01:19 | cbradney | Fixed in Version | => 1.3.2cvs |
| 2005-11-05 01:19 | cbradney | Resolution | open => fixed |
| 2005-11-05 12:37 | cbradney | Status | resolved => closed |
| 2005-11-05 13:01 | jghali | Relationship added | related to 0002219 |
| 2014-10-08 18:38 | Kunda | Category | Win32 => OS-Win32 |