diff -urNad gpaint-0.3.3~/src/text.c gpaint-0.3.3/src/text.c
--- gpaint-0.3.3~/src/text.c	2009-06-30 15:11:40.000000000 -0400
+++ gpaint-0.3.3/src/text.c	2009-06-30 15:12:58.000000000 -0400
@@ -235,7 +235,10 @@
     }
     else if (keyevent->string)
     {
-        g_string_append(text->textbuf, keyevent->string);
+        if (isprint(keyevent->string[0])) /* not UTF-8 aware */
+        {
+            g_string_append(text->textbuf, keyevent->string);
+        }
     }
     else if ((keyevent->keyval >= GDK_space) && (keyevent->keyval < GDK_Shift_L))
     {
