--- scribus-1.3.4/configure.in.in.hyphen 2007-05-05 22:14:33 +0400 +++ scribus-1.3.4/configure.in.in 2008-01-22 10:26:44 +0300 @@ -474,6 +474,10 @@ LIBDL2="" AC_CHECK_LIB(c, dlopen, [LIBDL2="-lc"],[LIBDL2=""]) AC_SUBST(LIBDL2) +AC_CHECK_LIB(hyphen, hnj_hyphen_hyphenate2, [HYPHEN_LIB=-lhyphen], + [ AC_MSG_ERROR(hyphen library not found or too old.)], []) +AC_SUBST(HYPHEN_LIB) + dnl generate the config header AM_CONFIG_HEADER(config.h) dnl at the distribution this done --- scribus-1.3.4/scribus/Makefile.am.hyphen 2007-02-27 15:55:43 +0300 +++ scribus-1.3.4/scribus/Makefile.am 2008-01-22 10:27:31 +0300 @@ -111,7 +111,6 @@ scribus_SOURCES = \ hruler.cpp \ hyask.cpp \ hyphenator.cpp \ - hyphen.c \ hysettings.cpp \ imageinfodialog.cpp \ insertaframebase.ui \ @@ -732,7 +731,7 @@ uninstall-local: -rm -f $(prefix)/include/scribus/vruler.h -rm -f $(prefix)/include/scribus/werktoolb.h -scribus_LDADD = $(LIBCAIRO_LIBS) $(LIBJPEG) $(LIBART_LIBS) $(LIBFREETYPE_LIBS) $(LIBFONTCONFIG_LIBS) $(LIBCUPS) $(LIBLCMS) $(LIBDL) $(LIBDL2) $(LIBTIFF) -lm $(LIB_QT) $(LIB_X11) $(LIBSOCKET) $(renderer_libs) desaxe/libdesaxe.la text/libtext.la styles/libstyles.la fonts/libfonts.la $(COREFOUNDATION_LIBS) +scribus_LDADD = $(LIBCAIRO_LIBS) $(LIBJPEG) $(LIBART_LIBS) $(LIBFREETYPE_LIBS) $(LIBFONTCONFIG_LIBS) $(LIBCUPS) $(LIBLCMS) $(LIBDL) $(LIBDL2) $(LIBTIFF) -lm $(LIB_QT) $(LIB_X11) $(LIBSOCKET) $(renderer_libs) desaxe/libdesaxe.la text/libtext.la styles/libstyles.la fonts/libfonts.la $(COREFOUNDATION_LIBS) $(HYPHEN_LIB) AM_LDFLAGS = -export-dynamic $(LIBFREETYPE_LIBS) # set the include path for X, qt and KDE @@ -741,7 +740,7 @@ INCLUDES= $(LIBCAIRO_CFLAGS) $(LIBART_CF scribus_METASOURCES = AUTO # the library search path. -scribus_LDFLAGS = $(all_libraries) +scribus_LDFLAGS = -rdynamic $(all_libraries) # them while "make clean", use CLEANFILES DISTCLEANFILES = $(scribus_METASOURCES) @@ -756,7 +755,8 @@ AM_CPPFLAGS = \ -DTEMPLATEDIR=\"$(datadir)/scribus/templates/\" \ -DLIBDIR=\"$(libdir)/scribus/\" \ -DPLUGINDIR=\"$(libdir)/scribus/plugins/\" \ - -DSHAREDIR=\"$(datadir)/scribus/\" + -DSHAREDIR=\"$(datadir)/scribus/\" \ + -DHYPHENDIR=\"$(datadir)/hyphen/\" AM_CXXFLAGS = \ $(GCC_CXX_VISIBILITY_FLAGS) --- scribus-1.3.4/scribus/hyphenator.cpp.hyphen 2007-01-06 22:49:50 +0300 +++ scribus-1.3.4/scribus/hyphenator.cpp 2008-01-22 10:26:44 +0300 @@ -49,7 +49,7 @@ Hyphenator::Hyphenator(QWidget* parent, AutoCheck(doc->AutoCheck) { //FIXME:av pick up language from charstyle - QString pfad = ScPaths::instance().libDir(); + QString pfad = ScPaths::instance().hyphenDir(); if (ScCore->primaryMainWindow()->Sprachen.contains(doc->Language)) Language = doc->Language; else @@ -57,7 +57,7 @@ Hyphenator::Hyphenator(QWidget* parent, Language = PrefsManager::instance()->appPrefs.Language; doc->Language = Language; } - pfad += "dicts/" + ScCore->primaryMainWindow()->Sprachen[Language]; + pfad += ScCore->primaryMainWindow()->Sprachen[Language]; QFile f(pfad); if (f.open(IO_ReadOnly)) { @@ -94,12 +94,12 @@ void Hyphenator::NewDict(const QString& Language = name; char *filename = NULL; - QString pfad = ScPaths::instance().libDir(); + QString pfad = ScPaths::instance().hyphenDir(); if (hdict != NULL) hnj_hyphen_free(hdict); - pfad += "dicts/" + ScCore->primaryMainWindow()->Sprachen[Language]; + pfad += ScCore->primaryMainWindow()->Sprachen[Language]; QFile f(pfad); if (f.open(IO_ReadOnly)) { --- scribus-1.3.4/scribus/hyphenator.h.hyphen 2006-11-11 02:56:35 +0300 +++ scribus-1.3.4/scribus/hyphenator.h 2008-01-22 10:26:44 +0300 @@ -11,7 +11,7 @@ for which a new license (GPL+exception) #include #include "scribusapi.h" -#include "hyphen.h" +#include class ScribusDoc; class ScribusMainWindow; class PageItem; --- scribus-1.3.4/scribus/scpaths.cpp.hyphen 2007-02-23 02:48:55 +0300 +++ scribus-1.3.4/scribus/scpaths.cpp 2008-01-22 10:26:44 +0300 @@ -56,7 +56,8 @@ ScPaths::ScPaths() : m_sampleScriptDir(SAMPLESDIR), m_scriptDir(SCRIPTSDIR), m_templateDir(TEMPLATEDIR), - m_shareDir(SHAREDIR) + m_shareDir(SHAREDIR), + m_hyphenDir(HYPHENDIR) { // On MacOS/X, override the compile-time settings with a location // obtained from the system. @@ -192,6 +193,11 @@ const QString& ScPaths::shareDir() cons return m_shareDir; } +const QString& ScPaths::hyphenDir() const +{ + return m_hyphenDir; +} + QStringList ScPaths::getSystemFontDirs(void) { QStringList fontDirs; --- scribus-1.3.4/scribus/scpaths.h.hyphen 2006-11-23 02:58:20 +0300 +++ scribus-1.3.4/scribus/scpaths.h 2008-01-22 10:26:44 +0300 @@ -50,7 +50,7 @@ public: const QString& templateDir() const; /** @brief Return path to the Scribus share directory */ const QString& shareDir() const; - + const QString& hyphenDir() const; /** @brief Return paths to system font directories*/ static QStringList getSystemFontDirs(void); /** @brief Return paths to system icc profiles directories*/ @@ -88,5 +88,6 @@ protected: QString m_scriptDir; QString m_templateDir; QString m_shareDir; + QString m_hyphenDir; }; #endif --- scribus-1.3.4/scribus/scribus.cpp.hyphen 2007-05-25 11:52:37 +0400 +++ scribus-1.3.4/scribus/scribus.cpp 2008-01-22 10:26:44 +0300 @@ -8702,8 +8702,8 @@ void ScribusMainWindow::initHyphenator() //Build our list of hyphenation dictionaries we have in the install dir //Grab the language abbreviation from it, get the full language text //Insert the name as key and a new string list into the map - QString hyphDirName = QDir::convertSeparators(ScPaths::instance().libDir() + "dicts/"); - QDir hyphDir(hyphDirName, "*.dic", QDir::Name, QDir::Files | QDir::NoSymLinks); + QString hyphDirName = QDir::convertSeparators(ScPaths::instance().hyphenDir()); + QDir hyphDir(hyphDirName, "*.dic", QDir::Name, QDir::Files); if ((hyphDir.exists()) && (hyphDir.count() != 0)) { LanguageManager langmgr;