diff -Naur alevt-1.6.2/alevt.1x.in alevt-1.6.2-doublefont/alevt.1x.in --- alevt-1.6.2/alevt.1x.in 2009-05-30 18:38:27.000000000 +0300 +++ alevt-1.6.2-doublefont/alevt.1x.in 2009-05-30 16:42:15.000000000 +0300 @@ -67,6 +67,9 @@ in the selected set are replaced by similar looking symbols. (default: latin-1) .TP +.BR \-doublefont / \-df +Instructs alevt to use double sized fonts. +.TP .B \-\-help Show summary of options. .TP diff -Naur alevt-1.6.2/exp-gfx.c alevt-1.6.2-doublefont/exp-gfx.c --- alevt-1.6.2/exp-gfx.c 2009-05-30 18:38:27.000000000 +0300 +++ alevt-1.6.2-doublefont/exp-gfx.c 2009-05-30 16:42:15.000000000 +0300 @@ -21,7 +21,16 @@ int sep) { int x,y; - unsigned char* src= (latin1==LATIN1 ? font1_bits : font2_bits); + unsigned char* src = double_font ? + ( (latin1==LATIN1) ? font1_bits : + ( (latin1==LATIN2) ? font2_bits : + ( (latin1==KOI8) ? font3_bits : + ( (latin1==GREEK) ? font4_bits : /* fallback */ font1_bits) ) ) ) + : + ( (latin1==LATIN1) ? font1d_bits : + ( (latin1==LATIN2) ? font2d_bits : + ( (latin1==KOI8) ? font3d_bits : + ( (latin1==GREEK) ? font4d_bits : /* fallback */ font1d_bits) ) ) ); int dest_x=_x*CW; int dest_y=_y*CH; diff -Naur alevt-1.6.2/font.c alevt-1.6.2-doublefont/font.c --- alevt-1.6.2/font.c 2009-05-30 18:38:27.000000000 +0300 +++ alevt-1.6.2-doublefont/font.c 2009-05-30 16:42:15.000000000 +0300 @@ -4,4 +4,13 @@ #include "font3.xbm" #include "font4.xbm" +#include "font1d.xbm" +#include "font2d.xbm" +#include "font3d.xbm" +#include "font4d.xbm" +int CW; +int CH; +int double_font = 0; +int font_width; +int font_height; diff -Naur alevt-1.6.2/font.h alevt-1.6.2-doublefont/font.h --- alevt-1.6.2/font.h 2009-05-30 18:38:27.000000000 +0300 +++ alevt-1.6.2-doublefont/font.h 2009-05-30 16:42:15.000000000 +0300 @@ -1,20 +1,31 @@ #ifndef FONT_H #define FONT_H -#include "fontsize.h" /* the #defines from font?.xbm */ +// #include "fontsize.h" /* the #defines from font?.xbm */ -#if font1_width != font2_width || font1_height != font2_height -#error different font sizes. -#endif +//#if font1_width != font2_width || font1_height != font2_height +//#error different font sizes. +//#endif extern unsigned char font1_bits[]; extern unsigned char font2_bits[]; extern unsigned char font3_bits[]; extern unsigned char font4_bits[]; -#define font_width font1_width -#define font_height font1_height -#define CW (font_width/32) /* pixel width of a character */ -#define CH (font_height/8) /* pixel height of a character */ +extern unsigned char font1d_bits[]; +extern unsigned char font2d_bits[]; +extern unsigned char font3d_bits[]; +extern unsigned char font4d_bits[]; + +//#define font_width font1_width +//#define font_height font1_height +//#define CW (font_width/32) /* pixel width of a character */ +//#define CH (font_height/8) /* pixel height of a character */ + +extern int CW; +extern int CH; +extern int double_font; +extern int font_width; +extern int font_height; #endif diff -Naur alevt-1.6.2/main.c alevt-1.6.2-doublefont/main.c --- alevt-1.6.2/main.c 2009-05-30 18:38:27.000000000 +0300 +++ alevt-1.6.2-doublefont/main.c 2009-05-30 17:10:16.000000000 +0300 @@ -24,6 +24,12 @@ static int erc = 1; static int newbttv = -1; +/* Double font size related variables */ +extern int double_font; +extern int font_width; +extern int font_height; +extern int CW; +extern int CH; static void usage(FILE *fp, int exitval) @@ -44,6 +50,7 @@ " -[no]erc\t\t\t\t\tenabled\n" " -[no]bell\t\t\t\t\tenabled\n" " -charset latin-1/2/russian/iso8859-7\tlatin-1\n" + " -doublefont\n" "\n" " Order is important! Each page number\n" " opens a new window with the previously\n" @@ -127,6 +134,7 @@ { "-bell", "-b", 0 }, { "-nobell", "-nb", 0 }, { "-charset", "-latin", 1 }, + { "-doublefont", "-df", 0 }, }; int i; @@ -164,7 +172,13 @@ int opt, ind; char *arg; -setlocale (LC_CTYPE, ""); + setlocale (LC_CTYPE, ""); + + font_width = 288; + font_height = 128; + + CW = (font_width/32); + CH = (font_height/8); setprgname(argv[0]); @@ -242,6 +256,13 @@ else fatal("bad charset (not latin-1/2/russian/iso8859-7)"); break; + case 19: // Doublefont + double_font = 1; + font_width = 576; + font_height = 256; + CW = (font_width/32); + CH = (font_height/8); + break; case 12: // debug debug++; break; diff -Naur alevt-1.6.2/Makefile alevt-1.6.2-doublefont/Makefile --- alevt-1.6.2/Makefile 2009-05-30 18:38:27.000000000 +0300 +++ alevt-1.6.2-doublefont/Makefile 2009-05-30 16:42:15.000000000 +0300 @@ -33,9 +33,10 @@ alevt-cap: $(COBJS) $(CC) $(OPT) $(COBJS) -o alevt-cap $(EXPLIBS) -font.o: font1.xbm font2.xbm font3.xbm font4.xbm -fontsize.h: font1.xbm font2.xbm font3.xbm font4.xbm +font.o: font1.xbm font2.xbm font3.xbm font4.xbm font1d.xbm font2d.xbm font3d.xbm font4d.xbm +fontsize.h: font1.xbm font2.xbm font3.xbm font4.xbm font1d.xbm font2d.xbm font3d.xbm font4d.xbm fgrep -h "#define" font1.xbm font2.xbm font3.xbm font4.xbm >fontsize.h + fgrep -h "#define" font1d.xbm font2d.xbm font3d.xbm font4d.xbm >> fontsize.h font1.xbm: bdf2xbm $(FONT)-latin-1.bdf ./bdf2xbm font1 <$(FONT)-latin-1.bdf >font1.xbm @@ -49,6 +50,18 @@ font4.xbm: bdf2xbm vtxt-iso8859-7.bdf ./bdf2xbm font4 font4.xbm +font1d.xbm: font1.xbm + /usr/bin/convert -filter Point -resize 200% font1.xbm font1d.xbm + +font2d.xbm: font2.xbm + /usr/bin/convert -filter Point -resize 200% font2.xbm font2d.xbm + +font3d.xbm: font3.xbm + /usr/bin/convert -filter Point -resize 200% font3.xbm font3d.xbm + +font4d.xbm: font4.xbm + /usr/bin/convert -filter Point -resize 200% font4.xbm font4d.xbm + bdf2xbm: bdf2xbm.c $(HOSTCC) bdf2xbm.c -o bdf2xbm @@ -62,7 +75,7 @@ sed s/VERSION/$(VER)/g alevt-cap.1 clean: - rm -f *.o page*.txt a.out core bdf2xbm font?.xbm fontsize.h Makefile.bak + rm -f *.o page*.txt a.out core bdf2xbm font?.xbm font?d.xbm fontsize.h Makefile.bak rm -f alevt alevt-date alevt-cap rm -f alevt.1x alevt-date.1 alevt-cap.1 rm -f contrib/a.out ttext-*.* diff -Naur alevt-1.6.2/xio.c alevt-1.6.2-doublefont/xio.c --- alevt-1.6.2/xio.c 2009-05-30 18:38:27.000000000 +0300 +++ alevt-1.6.2-doublefont/xio.c 2009-05-30 16:42:15.000000000 +0300 @@ -130,12 +130,22 @@ int i; unsigned char *font_bits; - switch(latin1) { - case LATIN1: font_bits=font1_bits; break; - case LATIN2: font_bits=font2_bits; break; - case KOI8: font_bits=font3_bits; break; - case GREEK: font_bits=font4_bits; break; - default: font_bits=font1_bits; break; + if(!double_font) { + switch(latin1) { + case LATIN1: font_bits=font1_bits; break; + case LATIN2: font_bits=font2_bits; break; + case KOI8: font_bits=font3_bits; break; + case GREEK: font_bits=font4_bits; break; + default: font_bits=font1_bits; break; + } + } else { + switch(latin1) { + case LATIN1: font_bits=font1d_bits; break; + case LATIN2: font_bits=font2d_bits; break; + case KOI8: font_bits=font3d_bits; break; + case GREEK: font_bits=font4d_bits; break; + default: font_bits=font1d_bits; break; + } } xio->font[0] = XCreateBitmapFromData(xio->dpy, xio->root,