--- break.c.bak	2006-07-27 15:44:06.000000000 +0800
+++ break.c	2006-07-27 15:59:00.000000000 +0800
@@ -677,6 +677,18 @@
                * it was preceded earlier, so here we know it wasn't,
                * don't break
                */
+	      if (prev_wc != 0)
+	        {
+		  int prev_script, current_script;
+		  prev_script = pango_script_for_unichar (prev_wc);
+		  current_script = pango_script_for_unichar (wc);
+		  if (prev_script != current_script)
+		    {
+		      attrs[i].is_cursor_position = TRUE;
+		      break;
+		    }
+		}
+	      
               attrs[i].is_cursor_position = FALSE;
               break;
 
