mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-15 09:43:31 +00:00
345e85dd06
* Compatible with both MSVC and MinGW * dtl bugfix for recent DVI drivers * dvipost works for restricted users * new Aspell Windows port git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/branches/BRANCH_1_4_X@15083 a592a061-630c-0410-9148-cb99ea01b6c8
254 lines
6.5 KiB
Diff
254 lines
6.5 KiB
Diff
diff -riwbBuN -Xex aspell-0.60.4/Makefile.am aspell-0.60.4-modified/Makefile.am
|
|
--- aspell-0.60.4/Makefile.am Wed Oct 19 11:12:02 2005
|
|
+++ aspell-0.60.4-modified/Makefile.am Thu Jun 15 14:45:47 2006
|
|
@@ -32,6 +32,7 @@
|
|
endif
|
|
|
|
libaspell_la_SOURCES =\
|
|
+ common/aspell_win.cpp\
|
|
common/cache.cpp\
|
|
common/string.cpp\
|
|
common/getdata.cpp\
|
|
diff -riwbBuN -Xex aspell-0.60.4/common/aspell_win.cpp aspell-0.60.4-modified/common/aspell_win.cpp
|
|
--- aspell-0.60.4/common/aspell_win.cpp Thu Jan 1 01:00:00 1970
|
|
+++ aspell-0.60.4-modified/common/aspell_win.cpp Fri Jun 16 01:19:04 2006
|
|
@@ -0,0 +1,54 @@
|
|
+#ifdef _WIN32
|
|
+
|
|
+#include <windows.h>
|
|
+#include "string.hpp"
|
|
+
|
|
+namespace acommon {
|
|
+
|
|
+ String ReadRegString(HKEY hive, String key, String name)
|
|
+ {
|
|
+
|
|
+ // Reads a string from the Windows registry (used to get paths)
|
|
+
|
|
+ HKEY hKey;
|
|
+ unsigned long lType;
|
|
+ DWORD dwSize;
|
|
+ unsigned char* szValue = NULL;
|
|
+
|
|
+ if (::RegOpenKeyEx(hive, key.c_str(), 0, KEY_READ, &hKey) == ERROR_SUCCESS)
|
|
+ {
|
|
+ if(::RegQueryValueEx(hKey, name.c_str(), NULL, &lType, NULL, &dwSize) == ERROR_SUCCESS)
|
|
+ {
|
|
+ szValue = new unsigned char[dwSize + 1];
|
|
+ ::RegQueryValueEx(hKey, name.c_str(), NULL, &lType, szValue, &dwSize);
|
|
+ String RegistryReturn((char*)szValue);
|
|
+ delete[] szValue;
|
|
+ return RegistryReturn;
|
|
+ } else {
|
|
+ return "";
|
|
+ }
|
|
+ } else {
|
|
+ return "";
|
|
+ }
|
|
+
|
|
+ }
|
|
+
|
|
+ HKEY GetRegHive()
|
|
+ {
|
|
+
|
|
+ // Check whether Aspell is installed for the current user or for all users
|
|
+
|
|
+ String value;
|
|
+
|
|
+ if (ReadRegString(HKEY_LOCAL_MACHINE, "Software\\Aspell", "Dictionary Path") == "")
|
|
+ {
|
|
+ return HKEY_CURRENT_USER;
|
|
+ } else {
|
|
+ return HKEY_LOCAL_MACHINE;
|
|
+ }
|
|
+
|
|
+ }
|
|
+
|
|
+}
|
|
+
|
|
+#endif
|
|
diff -riwbBuN -Xex aspell-0.60.4/common/aspell_win.hpp aspell-0.60.4-modified/common/aspell_win.hpp
|
|
--- aspell-0.60.4/common/aspell_win.hpp Thu Jan 1 01:00:00 1970
|
|
+++ aspell-0.60.4-modified/common/aspell_win.hpp Thu Jun 15 15:33:58 2006
|
|
@@ -0,0 +1,18 @@
|
|
+#ifdef _WIN32
|
|
+
|
|
+#ifndef ASPELL_WIN__HPP
|
|
+#define ASPELL_WIN__HPP
|
|
+
|
|
+#include "string.hpp"
|
|
+#include <windows.h>
|
|
+
|
|
+namespace acommon {
|
|
+
|
|
+ extern HKEY GetRegHive();
|
|
+ extern String ReadRegString(HKEY type, String key, String name);
|
|
+
|
|
+}
|
|
+
|
|
+#endif
|
|
+
|
|
+#endif
|
|
diff -riwbBuN -Xex aspell-0.60.4/common/config.cpp aspell-0.60.4-modified/common/config.cpp
|
|
--- aspell-0.60.4/common/config.cpp Wed Jun 22 07:32:30 2005
|
|
+++ aspell-0.60.4-modified/common/config.cpp Wed Jun 14 20:44:29 2006
|
|
@@ -39,6 +39,7 @@
|
|
#include "string_list.hpp"
|
|
|
|
#include "gettext.h"
|
|
+#undef printf
|
|
|
|
#include "iostream.hpp"
|
|
|
|
diff -riwbBuN -Xex aspell-0.60.4/common/convert.cpp aspell-0.60.4-modified/common/convert.cpp
|
|
--- aspell-0.60.4/common/convert.cpp Thu Sep 29 05:20:04 2005
|
|
+++ aspell-0.60.4-modified/common/convert.cpp Sat May 27 12:08:02 2006
|
|
@@ -23,6 +23,7 @@
|
|
#include "iostream.hpp"
|
|
|
|
#include "gettext.h"
|
|
+#undef printf
|
|
|
|
namespace acommon {
|
|
|
|
diff -riwbBuN -Xex aspell-0.60.4/common/file_util.cpp aspell-0.60.4-modified/common/file_util.cpp
|
|
--- aspell-0.60.4/common/file_util.cpp Mon Nov 15 13:29:54 2004
|
|
+++ aspell-0.60.4-modified/common/file_util.cpp Sat May 27 12:08:02 2006
|
|
@@ -26,6 +26,7 @@
|
|
|
|
#ifdef WIN32
|
|
|
|
+# include "asc_ctype.hpp"
|
|
# include <io.h>
|
|
# define ACCESS _access
|
|
# include <windows.h>
|
|
diff -riwbBuN -Xex aspell-0.60.4/common/gettext_init.cpp aspell-0.60.4-modified/common/gettext_init.cpp
|
|
--- aspell-0.60.4/common/gettext_init.cpp Tue Nov 9 09:20:24 2004
|
|
+++ aspell-0.60.4-modified/common/gettext_init.cpp Thu Jun 15 15:31:02 2006
|
|
@@ -1,5 +1,13 @@
|
|
+#include "settings.h"
|
|
+#include "string.hpp"
|
|
+
|
|
+#ifdef _WIN32
|
|
+ #include <windows.h>
|
|
+ #include "aspell_win.hpp"
|
|
+#endif
|
|
|
|
#include "gettext.h"
|
|
+#undef printf
|
|
|
|
#if ENABLE_NLS
|
|
|
|
@@ -11,12 +19,24 @@
|
|
|
|
extern "C" void aspell_gettext_init()
|
|
{
|
|
- {
|
|
acommon::Lock l(&lock);
|
|
if (did_init) return;
|
|
did_init = true;
|
|
- }
|
|
+
|
|
+#ifdef _WIN32
|
|
+ // Registry key for Locale Path
|
|
+
|
|
+ acommon::String value;
|
|
+ HKEY hive;
|
|
+
|
|
+ hive = acommon::GetRegHive();
|
|
+ value = acommon::ReadRegString(hive, "Software\\Aspell", "Locale Path");
|
|
+ if (value == "") value = LOCALEDIR;
|
|
+
|
|
+ bindtextdomain("aspell", value.c_str());
|
|
+#else
|
|
bindtextdomain("aspell", LOCALEDIR);
|
|
+#endif
|
|
}
|
|
|
|
#else
|
|
diff -riwbBuN -Xex aspell-0.60.4/common/info.cpp aspell-0.60.4-modified/common/info.cpp
|
|
--- aspell-0.60.4/common/info.cpp Wed Nov 10 07:18:46 2004
|
|
+++ aspell-0.60.4-modified/common/info.cpp Fri Jun 16 01:20:52 2006
|
|
@@ -15,9 +15,11 @@
|
|
/* BSDi defines u_intXX_t types in machine/types.h */
|
|
#include <machine/types.h>
|
|
#endif
|
|
+
|
|
#ifdef WIN32
|
|
# include <windows.h>
|
|
# include <winbase.h>
|
|
+#include "aspell_win.hpp"
|
|
#endif
|
|
|
|
#include "iostream.hpp"
|
|
@@ -38,6 +40,7 @@
|
|
#include "string_map.hpp"
|
|
|
|
#include "gettext.h"
|
|
+#undef printf
|
|
|
|
namespace acommon {
|
|
|
|
@@ -492,8 +495,22 @@
|
|
void get_data_dirs (Config * config,
|
|
StringList & lst)
|
|
{
|
|
+ String dictpath;
|
|
+ HKEY hive;
|
|
+
|
|
lst.clear();
|
|
- lst.add(config->retrieve("data-dir"));
|
|
+
|
|
+ hive = GetRegHive();
|
|
+
|
|
+#ifdef _WIN32
|
|
+ // Registry key for dictionary path
|
|
+ dictpath = ReadRegString(hive, "Software\\Aspell", "Dictionary Path");;
|
|
+ if (dictpath == "") dictpath = config->retrieve("data-dir");
|
|
+#else
|
|
+ dictpath = config->retrieve("data-dir");
|
|
+#endif
|
|
+
|
|
+ lst.add(dictpath);
|
|
lst.add(config->retrieve("dict-dir"));
|
|
}
|
|
|
|
diff -riwbBuN -Xex aspell-0.60.4/common/posib_err.cpp aspell-0.60.4-modified/common/posib_err.cpp
|
|
--- aspell-0.60.4/common/posib_err.cpp Sun Nov 21 03:52:22 2004
|
|
+++ aspell-0.60.4-modified/common/posib_err.cpp Sat May 27 12:08:02 2006
|
|
@@ -13,6 +13,7 @@
|
|
#include "posib_err.hpp"
|
|
|
|
#include "gettext.h"
|
|
+#undef printf
|
|
|
|
|
|
namespace acommon {
|
|
diff -riwbBuN -Xex aspell-0.60.4/modules/speller/default/language.cpp aspell-0.60.4-modified/modules/speller/default/language.cpp
|
|
--- aspell-0.60.4/modules/speller/default/language.cpp Sun Feb 20 22:47:08 2005
|
|
+++ aspell-0.60.4-modified/modules/speller/default/language.cpp Wed Jun 14 19:55:47 2006
|
|
@@ -21,10 +21,11 @@
|
|
#include "file_util.hpp"
|
|
|
|
#ifdef ENABLE_NLS
|
|
-# include <langinfo.h>
|
|
+//#include <langinfo.h>
|
|
#endif
|
|
|
|
#include "gettext.h"
|
|
+#undef printf
|
|
|
|
namespace aspeller {
|
|
|
|
diff -riwbBuN -Xex aspell-0.60.4/prog/aspell.cpp aspell-0.60.4-modified/prog/aspell.cpp
|
|
--- aspell-0.60.4/prog/aspell.cpp Sun Jun 19 14:00:46 2005
|
|
+++ aspell-0.60.4-modified/prog/aspell.cpp Wed Jun 14 20:46:09 2006
|
|
@@ -60,6 +60,7 @@
|
|
#include "hash_fun.hpp"
|
|
|
|
#include "gettext.h"
|
|
+#undef printf
|
|
|
|
using namespace acommon;
|
|
|