Re: utf8 patch for mc, slang 2 version
- From: Bart Oldeman <bartoldeman users sourceforge net>
- To: Arkadiusz Miskiewicz <arekm pld-linux org>
- Cc: mc-devel gnome org
- Subject: Re: utf8 patch for mc, slang 2 version
- Date: Tue, 20 Sep 2005 08:14:15 +1200 (NZST)
On Mon, 19 Sep 2005, Arkadiusz Miskiewicz wrote:
There are few patches adding UTF-8 support to mc available but they require
modified slang1 library. There is already stable slang-2 version with native
UTF-8 support.
Does anyone know mc utf8 patch that uses slang-2 ?
No, but it's not too hard too change the existing patch.
Basically you'd need to apply Fedora's patch, and then (sorry no proper 
patch here but it's not a big deal)
in slint.c, use
  SLtt_get_terminfo()
+#if SLANG_VERSION >= 20000
+ SLutf8_enable (-1);
+#endif
in help.c, use
#if defined(UTF8) && SLANG_VERSION < 20000
                       SLsmg_draw_object (h->y + line + 2, h->x + col + 2, acs_map [c]);
#else
                       SLsmg_draw_object (h->y + line + 2, h->x + col + 2, c);
#endif /* UTF8 */
and then (possibly global.h isn't the best place though):
--- mc/src/util.c       2005-09-18 22:36:30.000000000 +1200
+++ mc-utf8/src/util.c  2005-08-26 13:04:45.000000000 +1200
@@ -48,6 +51,14 @@
 static const char app_text [] = "Midnight-Commander";
 int easy_patterns = 1;
+#if SLANG_VERSION >= 20000
+void SLsmg_write_nwchars(wchar_t *s, size_t n)
+{
+  while(n--)
+    SLsmg_write_char(*s++);
+}
+#endif
+
 extern void str_replace(char *s, char from, char to)
 {
     for (; *s != '\0'; s++) {
@@ -78,9 +89,40 @@
--- mc/src/global.h	2005-08-27 15:51:32.000000000 +1200
+++ mc-utf8/src/global.h	2005-07-13 01:15:40.000000000 +1200
@@ -146,6 +146,13 @@
 #   define N_(String) (String)
 #endif /* !ENABLE_NLS */
+#include <slang.h>
+#if SLANG_VERSION >= 20000
+#define UTF8 1
+#define SLsmg_Is_Unicode SLsmg_is_utf8_mode()
+void SLsmg_write_nwchars(wchar_t *s, size_t n);
+#endif
+
 #include "fs.h"
 #include "util.h"
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]