diff -Nurw gcin-1.5.5~pre9.orig/win-gtab.cpp gcin-1.5.5~pre9/win-gtab.cpp
--- gcin-1.5.5~pre9.orig/win-gtab.cpp	2010-07-02 10:53:45.000000000 +0800
+++ gcin-1.5.5~pre9/win-gtab.cpp	2010-07-14 16:33:16.685162555 +0800
@@ -32,6 +32,10 @@
 void move_win_gtab(int x, int y), toggle_win_sym();
 int win_gtab_max_key_press;
 
+unich_t eng_full_str[]=_L("英/全");
+unich_t cht_full_str[]=_L("全");
+unich_t cht_halt_str[]=_L("半");
+
 static void adj_gtab_win_pos()
 {
   if (win_size_exceed(gwin_gtab))
@@ -436,7 +440,7 @@
   hbox_row2 = gtk_hbox_new (FALSE, 0);
   gtk_container_add (GTK_CONTAINER (vbox_top), hbox_row2);
 
-  label_full = gtk_label_new(_(_L("全")));
+  label_full = gtk_label_new(_(cht_full_str));
 
   gtk_box_pack_start (GTK_BOX (hbox_row2), label_full, FALSE, FALSE, 0);
 
@@ -658,17 +662,17 @@
     gtk_widget_hide(box_gtab_im_name);
 }
 
-
-unich_t eng_full_str[]=_L("英/全");
-
 char *get_full_str()
 {
   switch (current_CS->im_state) {
+    case GCIN_STATE_CHINESE:
+      if (current_CS->b_half_full_char)
+        return _(cht_full_str);
+      break;
     case GCIN_STATE_ENG_FULL:
       return _(eng_full_str);
-    default:
-      return "?";
   }
+  return _(cht_halt_str);
 }
 
 void win_gtab_disp_half_full()
@@ -677,11 +681,10 @@
     return;
 
   if (label_full) {
-    if (current_CS->im_state == GCIN_STATE_CHINESE && current_CS->b_half_full_char) {
-      gtk_widget_show(label_full);
-    } else {
+    if (current_CS->im_state == GCIN_STATE_CHINESE && (!current_CS->b_half_full_char))
       gtk_widget_hide(label_full);
-    }
+    else
+      gtk_widget_show(label_full);
   }
 
   if (label_gtab)
diff -Nurw gcin-1.5.5~pre9.orig/win-pho.cpp gcin-1.5.5~pre9/win-pho.cpp
--- gcin-1.5.5~pre9.orig/win-pho.cpp	2010-04-07 09:46:12.000000000 +0800
+++ gcin-1.5.5~pre9/win-pho.cpp	2010-07-14 16:32:52.267966957 +0800
@@ -280,10 +280,10 @@
 {
   gtk_label_set_text(GTK_LABEL(label_pho), get_full_str());
 
-  if (current_CS->im_state == GCIN_STATE_CHINESE && current_CS->b_half_full_char) {
-    gtk_widget_show(label_full);
-  } else
+  if (current_CS->im_state == GCIN_STATE_CHINESE && (!current_CS->b_half_full_char))
     gtk_widget_hide(label_full);
+  else
+    gtk_widget_show(label_full);
 
   minimize_win_pho();
 }
