Re: [gnome-cyr] gnome2 - how configurable is it?



14 Июнь 2002 13:02, Вы написали:
> В Чтв, 13.06.2002, в 21:52, Сукиязов Сергей Александрович написал:
> > 13 Июнь 2002 21:25, Вы написали:
> > > В Чтв, 13.06.2002, в 17:29, Serge Pavlovsky написал:
> > > > а савфиш вообще хотят выкинуть в угоду метасити.
> > > > типа некому им заниматься... если бы лицемер хп силы тратил на
> > > > савфиш, а не на метасити...
> > >
> > > Ну так потратьте силы на савфиш Вы. А то говорить у нас все горазды, а
> > > где русский вклад в Гном?
> >
> > Могу предложить вариант патча который частично решает проблемы с русским.
> > Полностью решить мне не удалось :-((( ,  там всё намного серьёзнее. Всё
> > равно потребуется глубокая переработка sawfish :-(
>
> Очень хорошо, в багзиллу его или в какой-нибудь из листов. А ещё лучше
> как раз савфиш глубоко переработать. Или бросить силы на metacity :)
У меня нет времени этим заниматься. Мои патчи только демострируют суть 
проблемы. В результате - с русским (и с др. языками) проблем нет, но 
добавляется memory-leak :-((. 

Я могу кинуть сюда, может кто-нибудь до ума доведет ?
>
> Дмитрий
>
> ЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЪЮ·┴·Щл╚≥╗╔┼x%┼к`·┴·Щл╚Ч	Х≥ОХ╝m╤÷ЪЧf╒≈Ь'╒
>gЪ╒╦?≥╗╔≥╘Ъ√+-┼wХЧ	Х≥Оэ

-- 
С Уважением
Сукиязов Сергей
diff -Naur rep-gtk.orig/rep-types.c rep-gtk/rep-types.c
--- rep-gtk.orig/rep-types.c	Wed Feb 13 10:50:27 2002
+++ rep-gtk/rep-types.c	Tue May 28 19:25:03 2002
@@ -128,7 +128,19 @@
 char *
 sgtk_rep_to_string (repv obj)
 {
-    return rep_STRINGP (obj) ? rep_STR (obj) : (u_char *)"";
+/*    return rep_STRINGP (obj) ? rep_STR (obj) : (u_char *)""; */
+    static u_char *result = 0;
+    u_char *string;
+
+    if(!result) g_free(result);
+    string = rep_STRINGP (obj) ? rep_STR (obj) : (u_char *)"";
+    if (string[0]=='\0' || g_utf8_validate (string,-1,0)) 
+    {
+        result = 0;
+        return string;
+    }
+    result = g_locale_to_utf8 (string, -1, 0, 0, 0);
+    return result;
 }
 
 repv
@@ -137,6 +149,12 @@
     repv obj;
     if (x == 0)
 	return Qnil;
+    if (g_utf8_validate (x,-1,0)) 
+    {
+        u_char *tmp = g_locale_from_utf8 (x, -1, 0, 0, 0);
+        g_free(x);
+        x = tmp;
+    }
     obj = rep_string_dup (x);
     g_free (x);
     return obj;
@@ -148,7 +166,15 @@
     repv obj;
     if (x == 0)
 	return Qnil;
+    if (g_utf8_validate (x,-1,0)) 
+    {
+        u_char *tmp = g_locale_from_utf8 (x, -1, 0, 0, 0);
+        x = tmp;
+    }
+    else
+        x = g_strdup(x);
     obj = rep_string_dup (x);
+    g_free(x);
     return obj;
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]