--- encoding.c.orig	Mon Sep  8 22:25:23 2003
+++ encoding.c	Wed Sep  1 14:04:18 2004
@@ -846,6 +846,30 @@
 
 #ifdef DW_CHARS
 int
+isb5full(c)
+  int c;
+{
+  return
+    (c >= 0x00a7 && c <= 0x00a8) ||
+    /*(c >= 0x014b && c <= 0x0153) ||*/
+    /*(c >= 0x0250 && c <= 0x02d9) ||*/
+    (c >= 0x02c9 && c <= 0x02d9) ||
+    (c >= 0x0391 && c <= 0x03c9) ||
+    /*(c >= 0x0401 && c <= 0x0451) ||*/
+    (c >= 0x2013 && c <= 0x247c) ||
+    (c == 0x2500 || c == 0x2502 || c == 0x250c || c == 0x2510 || c == 0x2514) || 
+    (c == 0x2518 || c == 0x251c || c == 0x2524 || c == 0x252c || c == 0x2534) ||
+    (c == 0x253c) ||
+    (c >= 0x2550 && c <= 0x2574) ||
+    (c >= 0x2581 && c <= 0x258f) ||
+    (c >= 0x2593 && c <= 0x2642) ||
+    (c == 0x273d) ||
+    (c == 0x300a || c == 0x300b) ||
+    (c >= 0xf6ee && c <= 0xf6ef) ||
+    (c >= 0xf7e5 && c <= 0xf816);
+}
+
+int
 utf8_isdouble(c)
 int c;
 {
@@ -860,7 +884,7 @@
       (c >= 0xfe30 && c <= 0xfe6f) || /* CJK Compatibility Forms */
       (c >= 0xff00 && c <= 0xff5f) || /* Fullwidth Forms */
       (c >= 0xffe0 && c <= 0xffe6) ||
-      (c >= 0x20000 && c <= 0x2ffff)));
+      (c >= 0x20000 && c <= 0x2ffff))) || isb5full(c);
 }
 #endif
 
