On Thu, 2 Aug 2001, Cristian Ionescu-Idbohrn wrote: >Date: Thu, 2 Aug 2001 01:14:13 +0200 (CEST) >From: Cristian Ionescu-Idbohrn <[EMAIL PROTECTED]> >To: debian-x@lists.debian.org >Content-Type: TEXT/PLAIN; charset=US-ASCII >Subject: adobe-helvetica-iso8859-1 shows empty character sized rectangles > >Greetings, > >I got this warning/error yesterday, during the latest upgrade: > >Setting up xfonts-75dpi (4.1.0-1) ... >Running update-fonts-dir in 75dpi font directory... >/usr/bin/X11/mkfontdir: unable to process font >/usr/lib/X11/fonts/75dpi/helvBO12.pcf.gz, skipping done. >Running update-fonts-alias in 75dpi font directory...done. > > >Before 4.1.0 upgrade: > >/usr/X11R6/lib/X11/fonts/100dpi/helvBO12.pcf.gz >/usr/X11R6/lib/X11/fonts/75dpi/helvBO12.pcf.gz >/usr/X11R6/lib/X11/fonts/latin2/100dpi/helvBO12.pcf.gz >/usr/X11R6/lib/X11/fonts/latin2/75dpi/helvBO12.pcf.gz > >After 4.1.0 upgrade: > >/usr/X11R6/lib/X11/fonts/100dpi/helvBO12.pcf.gz >/usr/X11R6/lib/X11/fonts/100dpi/helvBO12-ISO8859-1.pcf.gz >/usr/X11R6/lib/X11/fonts/75dpi/helvBO12.pcf.gz >/usr/X11R6/lib/X11/fonts/75dpi/helvBO12-ISO8859-1.pcf.gz
The attached patch should fix this. ---------------------------------------------------------------------- Mike A. Harris Shipping/mailing address: OS Systems Engineer 190 Pittsburgh Ave., Sault Ste. Marie, XFree86 maintainer Ontario, Canada, P6C 5B3 Red Hat Inc. Phone: (705)949-2136 http://www.redhat.com ftp://people.redhat.com/mharris ----------------------------------------------------------------------
BufFilePut is called (through FontFilePutc macro) with some (shr-ed or not) ints. int may be equal -1 (e.g. 0xFFFFFFFF or 0xFFxxxxxx >> 24). -1 has special meaning for BufFileRawFlush (just flush instead of write char and flush), so any FF values on buffer boundary disappeared... --- XFree86-4.1.0/xc/lib/font/include/bufio.h.orig Wed Jan 17 20:43:31 2001 +++ XFree86-4.1.0/xc/lib/font/include/bufio.h Mon Jul 2 13:25:41 2001 @@ -74,7 +74,7 @@ extern void BufFileFree ( BufFilePtr ); #define BufFileGet(f) ((f)->left-- ? *(f)->bufp++ : ((f)->eof = (*(f)->input) (f))) -#define BufFilePut(c,f) (--(f)->left ? *(f)->bufp++ = (c) : (*(f)->output) (c,f)) +#define BufFilePut(c,f) (--(f)->left ? *(f)->bufp++ = ((unsigned char)(c)) : (*(f)->output) ((unsigned char)(c),f)) #define BufFileSkip(f,c) ((f)->eof = (*(f)->skip) (f, c)) #ifndef TRUE