--- pango/pango-script.c.old	2009-05-21 15:10:01.000000000 +0200
+++ pango/pango-script.c	2009-07-20 12:47:42.000000000 +0200
@@ -79,6 +79,25 @@
 PangoScript
 pango_script_for_unichar (gunichar ch)
 {
+  switch (ch >> 8)
+    {
+    case 0x2F:
+      if (ch >= 0x2FF0 && ch <= 0x2FFF) /* We treat the Ideographic Description Characters block as han-characters */
+        return PANGO_SCRIPT_HAN;
+      break;
+    case 0x30:
+      if (ch == 0x30FC) /* KATAKANA-HIRAGANA PROLONGED SOUND MARK should not be rotated */
+        return PANGO_SCRIPT_LATIN; /* TODO Find a better way to do this */
+      break;
+    case 0xFF:
+      if (ch >= 0xFF01 && ch <= 0xFF60)  /* If it is a fullwidth alphanumeric character then we want to treat it as a han-character. */
+          return PANGO_SCRIPT_HAN;
+      else if (ch >= 0xFF61 && ch <= 0xFF9F) /* Halfwidth katakana should not be rotated. */
+        return PANGO_SCRIPT_LATIN; /* TODO Find a better way to do this */
+      else if (ch >= 0xFFE0 && ch <= 0xFFE6)  /* We also want to treat these symbols as han-characters */
+        return PANGO_SCRIPT_HAN;
+      break;
+    }
   return g_unichar_get_script (ch);
 }
 
