DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = lcd4linux
-PAK_VER = 3
+PAK_VER = 4
DEPS = "dpfhack libmpdclient"
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar Jxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/lcd4linux-scaletext-dpf.patch
cd $(DIR_APP) && ./configure --with-plugins=all,!qnaplog,!dbus --prefix=/usr
cd $(DIR_APP) && make
cd $(DIR_APP) && make install
--- /dev/null
+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++;
+ }