Hello community, here is the log from the commit of package gfxboot checked in at Wed Sep 20 09:42:50 CEST 2006. -------- --- arch/i386/gfxboot/gfxboot.changes 2006-09-19 11:25:11.000000000 +0200 +++ gfxboot/gfxboot.changes 2006-09-19 17:52:45.000000000 +0200 @@ -1,0 +2,5 @@ +Tue Sep 19 17:52:33 CEST 2006 - snwint@suse.de + +- use 4 bit for antialiasing (not 3) + +------------------------------------------------------------------- Old: ---- gfxboot-3.3.2.tar.bz2 New: ---- gfxboot-3.3.3.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gfxboot.spec ++++++ --- /var/tmp/diff_new_pack.N2BAfS/_old 2006-09-20 09:42:33.000000000 +0200 +++ /var/tmp/diff_new_pack.N2BAfS/_new 2006-09-20 09:42:33.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package gfxboot (Version 3.3.2) +# spec file for package gfxboot (Version 3.3.3) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -17,10 +17,10 @@ Obsoletes: gfxboot-devel Autoreqprov: on Summary: Graphical Boot Logo for LILO and SYSLINUX -Version: 3.3.2 +Version: 3.3.3 Release: 1 BuildRoot: %{_tmppath}/%{name}-%{version}-build -Source: gfxboot-3.3.2.tar.bz2 +Source: gfxboot-3.3.3.tar.bz2 Source1: NLD.tar.bz2 Source2: SLES.tar.bz2 Source3: SuSE.tar.bz2 @@ -61,6 +61,8 @@ %changelog -n gfxboot * Tue Sep 19 2006 - snwint@suse.de +- use 4 bit for antialiasing (not 3) +* Tue Sep 19 2006 - snwint@suse.de - fix Estonian support * Tue Sep 19 2006 - ro@suse.de - correct filelist ++++++ NLD.tar.bz2 ++++++ ++++++ SLES.tar.bz2 ++++++ ++++++ SuSE.tar.bz2 ++++++ ++++ 41039 lines of diff (skipped) ++++++ Zen.tar.bz2 ++++++ ++++++ gfxboot-3.3.2.tar.bz2 -> gfxboot-3.3.3.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/gfxboot-3.3.2/Changelog new/gfxboot-3.3.3/Changelog --- old/gfxboot-3.3.2/Changelog 2006-09-19 11:22:55.000000000 +0200 +++ new/gfxboot-3.3.3/Changelog 2006-09-19 17:45:15.000000000 +0200 @@ -1,3 +1,6 @@ +19/9/2006: v3.3.3 + - use 4 bit for antialiasing (not 3) + 19/9/2006: v3.3.2 - fix Estonian support diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/gfxboot-3.3.2/VERSION new/gfxboot-3.3.3/VERSION --- old/gfxboot-3.3.2/VERSION 2006-09-19 11:22:35.000000000 +0200 +++ new/gfxboot-3.3.3/VERSION 2006-09-19 17:37:06.000000000 +0200 @@ -1 +1 @@ -3.3.2 +3.3.3 diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/gfxboot-3.3.2/bincode.asm new/gfxboot-3.3.3/bincode.asm --- old/gfxboot-3.3.2/bincode.asm 2006-09-14 12:44:58.000000000 +0200 +++ new/gfxboot-3.3.3/bincode.asm 2006-09-19 17:52:05.000000000 +0200 @@ -37,6 +37,16 @@ foh.size equ 11 +; char bitmap definitions +; must match values in mkblfont.c +cbm_gray_bits equ 4 +cbm_gray_bit_count equ 3 + +cbm_max_gray equ (1 << cbm_gray_bits) - 3 +cbm_rep_black equ cbm_max_gray + 1 +cbm_rep_white equ cbm_max_gray + 2 + + ; struct playlist pl_file equ 0 ; actually file index + 1 pl_loop equ 1 @@ -274,7 +284,12 @@ chr.x_advance dw 0 chr.type db 0 ; 0 = bitmap, 1: gray scale -chr.gray_values db 0, 255/5, (2 * 255)/5, (3 * 255)/5, (4 * 255)/5, (5 * 255)/5 +chr.gray_values +%assign i 0 +%rep cbm_max_gray + 1 + db (i * 255)/cbm_max_gray +%assign i i + 1 +%endrep utf8_buf times 8 db 0 @@ -12368,17 +12383,17 @@ mov ebx,[chr.data] mov esi,[chr.bitmap] - mov cl,3 char1_unpack_20: push ebp push edi + mov cl,cbm_gray_bits call get_u_bits pop edi pop ebp - cmp al,6 - jae char1_unpack_30 + cmp al,cbm_max_gray + ja char1_unpack_30 mov al,[chr.gray_values + eax] stosb dec ebp @@ -12386,13 +12401,14 @@ jmp char1_unpack_80 char1_unpack_30: mov dl,[chr.gray_values + 0] - cmp al,7 + cmp al,cbm_rep_white jnz char1_unpack_40 - mov dl,[chr.gray_values + 5] + mov dl,[chr.gray_values + cbm_max_gray] char1_unpack_40: push edx push ebp push edi + mov cl,cbm_gray_bit_count call get_u_bits pop edi pop ebp diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/gfxboot-3.3.2/mkblfont.c new/gfxboot-3.3.3/mkblfont.c --- old/gfxboot-3.3.2/mkblfont.c 2006-09-14 16:03:18.000000000 +0200 +++ new/gfxboot-3.3.3/mkblfont.c 2006-09-19 17:52:05.000000000 +0200 @@ -16,8 +16,15 @@ #define MAGIC 0xd2828e06 -// must be < 6 -#define MAX_GRAY 5 + +// 4 bits seem to be enough +#define GRAY_BITS 4 +// 3 gave smallest file for about 16x16 pixel fonts, but it doesn't really matter much +#define GRAY_BIT_COUNT 3 + +#define MAX_GRAY ((1 << GRAY_BITS) - 3) +#define REP_BLACK (MAX_GRAY + 1) +#define REP_WHITE (MAX_GRAY + 2) struct option options[] = { { "add", 1, NULL, 'a' }, @@ -637,9 +644,17 @@ printf("."); } else { - c = p[(j - y1) * cd->bitmap_width + i - x1] + '0'; - if(c == '0') c = ' '; - else if(c >= '0' + MAX_GRAY) c = '#'; + c = p[(j - y1) * cd->bitmap_width + i - x1]; + if(c == 0) { + c = ' '; + } + else if(c >= MAX_GRAY) { + c = '#'; + } + else { + c += '0'; + if(c > '9') c += 'a' - '9' - 1; + } printf("%c", c); } } @@ -1143,15 +1158,20 @@ void encode_cnt(unsigned char *buf, int *buf_ptr, int lc, int lc_cnt) { + if((lc_cnt - 2) >= (1 << GRAY_BIT_COUNT)) { + fprintf(stderr, "cnt %d too large\n", lc_cnt); + exit(1); + } + if(lc_cnt >= 2) { - *buf_ptr -= 3; - add_bits(buf, buf_ptr, 3, lc == 0 ? 6 : 7); - // printf("(%d)", lc == 0 ? 6 : 7); - add_bits(buf, buf_ptr, 3, lc_cnt - 2); + *buf_ptr -= GRAY_BITS; + add_bits(buf, buf_ptr, GRAY_BITS, lc == 0 ? REP_BLACK : REP_WHITE); + // printf("(%d)", lc == 0 ? REP_BLACK : REP_WHITE); + add_bits(buf, buf_ptr, GRAY_BIT_COUNT, lc_cnt - 2); // printf("(%d)", lc_cnt - 2); } else if(lc_cnt) { - add_bits(buf, buf_ptr, 3, lc); + add_bits(buf, buf_ptr, GRAY_BITS, lc); // printf("[%d]", lc); } } @@ -1228,7 +1248,7 @@ case 1: lc = -1; for(i = lc_cnt = 0; i < cd->bitmap_width * cd->bitmap_height; i++) { - if(cd->bitmap[i] == lc && (lc == 0 || lc == MAX_GRAY) && lc_cnt < 8) { + if(cd->bitmap[i] == lc && (lc == 0 || lc == MAX_GRAY) && lc_cnt < ((1 << GRAY_BIT_COUNT) + 1)) { lc_cnt++; } else { @@ -1237,7 +1257,7 @@ lc_cnt = 0; lc = -1; } - add_bits(buf, &buf_ptr, 3, cd->bitmap[i]); + add_bits(buf, &buf_ptr, GRAY_BITS, cd->bitmap[i]); // printf("[%d]", cd->bitmap[i]); } lc = cd->bitmap[i]; @@ -1334,14 +1354,14 @@ case 1: for(i = 0; i < bitmap_len;) { - lc = read_unsigned_bits(cd->data, &j, 3); + lc = read_unsigned_bits(cd->data, &j, GRAY_BITS); // printf("(%d)", lc); - if(lc < 6) { + if(lc <= MAX_GRAY) { cd->bitmap[i++] = lc; continue; } - lc = lc == 6 ? 0 : MAX_GRAY; - lc_cnt = read_unsigned_bits(cd->data, &j, 3) + 3; + lc = lc == REP_BLACK ? 0 : MAX_GRAY; + lc_cnt = read_unsigned_bits(cd->data, &j, GRAY_BIT_COUNT) + 3; // printf("(%d)", lc_cnt); while(i < bitmap_len && lc_cnt--) cd->bitmap[i++] = lc; } ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org