diff -rupN --exclude=.svn --exclude='*.log' --exclude=Makefile --exclude='*.m4' --exclude='*.in' --exclude=autom4te.cache --exclude='config*' --exclude='*.Po' --exclude='*.sh' lcd4linux/drv_dpf.c lcd4linux.1/drv_dpf.c
--- lcd4linux/drv_dpf.c	2011-11-14 14:41:40.859787820 +0100
+++ lcd4linux.1/drv_dpf.c	2011-11-13 14:42:58.650315817 +0100
@@ -160,12 +160,26 @@ static int drv_dpf_start2(const char *se
 	}
 
 	/* Fixme: provider other fonts someday... */
-	if (XRES != 6 && YRES != 8) {
+	/* Overridden - we have scaled the textout drawing */
+/*	if (XRES != 6 && YRES != 8) {
 		error("%s: bad Font '%s' from %s (only 6x8 at the moment)",
 			Name, s, cfg_source());
 		return -1;
+	} */
+
+	/* we dont want fonts below 6 width */
+	if (XRES <6) {
+		error("%s: bad Font '%s' width '%d' using minimum of 6)",
+			Name,s,XRES);
+		XRES = 6;
 	}
 
+        /* we dont want fonts below 8 height */
+        if (YRES <8) {
+                error("%s: bad Font '%s' height '%d' using minimum of 8)",
+                        Name,s,YRES);
+                YRES = 8;
+        }
 
 	/* open communication with the display */
 	if (drv_dpf_open(section) < 0) {
diff -rupN --exclude=.svn --exclude='*.log' --exclude=Makefile --exclude='*.m4' --exclude='*.in' --exclude=autom4te.cache --exclude='config*' --exclude='*.Po' --exclude='*.sh' lcd4linux/drv_generic_graphic.c lcd4linux.1/drv_generic_graphic.c
--- lcd4linux/drv_generic_graphic.c	2011-11-14 14:41:40.614375417 +0100
+++ lcd4linux.1/drv_generic_graphic.c	2011-11-14 14:58:29.303285793 +0100
@@ -259,15 +259,18 @@ static void drv_generic_graphic_render(c
 	}
 
 	for (y = 0; y < YRES; y++) {
-	    int mask = 1 << XRES;
+
 	    for (x = 0; x < XRES; x++) {
-		mask >>= 1;
-		if (chr[y] & mask)
-		    drv_generic_graphic_FB[layer][(r + y) * LCOLS + c + x] = fg;
-		else
-		    drv_generic_graphic_FB[layer][(r + y) * LCOLS + c + x] = bg;
+		int mask = 1 << 6;
+		mask >>= ((x*6)/(XRES))+1;
+                if (chr[(y*8)/(YRES)] & mask)
+                    drv_generic_graphic_FB[layer][(r + y ) * LCOLS + c + x] = fg;
+                else
+                    drv_generic_graphic_FB[layer][(r + y ) * LCOLS + c + x] = bg;
+
 	    }
 	}
+
 	c += XRES;
 	txt++;
     }
