Article View: gnu.gcc.bug
Article #2047Re: GCC 1.31 Sun4, Sys4-3.2 & X.V11R3
From: Keith McNeill
Date: Mon, 05 Dec 1988 16:44
Date: Mon, 05 Dec 1988 16:44
4273 lines
49185 bytes
49185 bytes
#! /bin/sh
# This is a shell archive. Remove anything before this line, then unpack
# it by saving it into a file and typing "sh file". To overwrite existing
# files, type "sh file -c". You can also feed this as standard input via
# unshar, or by typing "sh <file", e.g.. If this archive is complete, you
# will see the following message at the end:
# "End of shell archive."
# Contents: bdftosnf.part.i
# Wrapped by mcneill@eplrx7 on Mon Dec 5 11:42:29 1988
PATH=/bin:/usr/bin:/usr/ucb ; export PATH
if test -f 'bdftosnf.part.i' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'bdftosnf.part.i'\"
else
echo shar: Extracting \"'bdftosnf.part.i'\" \(39316 characters\)
sed "s/^X//" >'bdftosnf.part.i' <<'END_OF_FILE'
X# 1 "bdftosnf.c"
X
X
X# 1 "/usr/include/stdio.h"
X
X
X
X
X
Xextern struct _iobuf {
X int _cnt;
X unsigned char *_ptr;
X unsigned char *_base;
X int _bufsiz;
X short _flag;
X char _file;
X} _iob[];
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xextern struct _iobuf *fopen();
Xextern struct _iobuf *fdopen();
Xextern struct _iobuf *freopen();
Xextern struct _iobuf *popen();
Xextern struct _iobuf *tmpfile();
Xextern long ftell();
Xextern char *fgets();
Xextern char *gets();
X
X
X
Xextern char *ctermid();
Xextern char *cuserid();
Xextern char *tempnam();
Xextern char *tmpnam();
X
X
X
X
X
X
X# 3 "bdftosnf.c"
X
X# 1 "../.././X11/Xos.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "/usr/include/sys/types.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xextern int setjmp();
X#pragma unknown_control_flow(setjmp)
X
X# 1 "/usr/include/sys/sysmacros.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 18 "/usr/include/sys/types.h"
X
X
Xtypedef unsigned char u_char;
Xtypedef unsigned short u_short;
Xtypedef unsigned int u_int;
Xtypedef unsigned long u_long;
Xtypedef unsigned short ushort;
Xtypedef unsigned int uint;
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _physadr { int r[1]; } *physadr;
Xtypedef struct label_t {
X int val[2];
X} label_t;
X
Xtypedef struct _quad { long val[2]; } quad;
Xtypedef long daddr_t;
Xtypedef char * caddr_t;
Xtypedef u_long ino_t;
Xtypedef long swblk_t;
Xtypedef int size_t;
Xtypedef long time_t;
Xtypedef short dev_t;
Xtypedef int off_t;
Xtypedef long key_t;
X
Xtypedef struct fd_set { int fds_bits[1]; } fd_set;
X
X
X# 37 "../.././X11/Xos.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "/usr/include/strings.h"
X
X
X
X
X
X
Xchar *strcat();
Xchar *strncat();
Xint strcmp();
Xint strncmp();
Xchar *strcpy();
Xchar *strncpy();
Xint strlen();
Xchar *index();
Xchar *rindex();
X# 68 "../.././X11/Xos.h"
X
X
X
X
X
X
X
X
X
X
X
X# 1 "/usr/include/sys/file.h"
X
X
X
X
X
X# 1 "/usr/include/sys/fcntl.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xstruct flock {
X short l_type;
X short l_whence;
X long l_start;
X long l_len;
X short l_pid;
X short l_xxx;
X};
X
X
X# 6 "/usr/include/sys/file.h"
X
X
X# 33 "/usr/include/sys/file.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 80 "/usr/include/sys/file.h"
X
X
X
X# 79 "../.././X11/Xos.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "/usr/include/sys/time.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xstruct timeval {
X long tv_sec;
X long tv_usec;
X};
X
Xstruct timezone {
X int tz_minuteswest;
X int tz_dsttime;
X};
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xstruct itimerval {
X struct timeval it_interval;
X struct timeval it_value;
X};
X
X
X# 1 "/usr/include/time.h"
X
X
X
X
X
Xstruct tm {
X int tm_sec;
X int tm_min;
X int tm_hour;
X int tm_mday;
X int tm_mon;
X int tm_year;
X int tm_wday;
X int tm_yday;
X int tm_isdst;
X};
X
Xextern struct tm *gmtime(), *localtime();
Xextern char *asctime(), *ctime();
X# 62 "/usr/include/sys/time.h"
X
X
X
X
X# 96 "../.././X11/Xos.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 4 "bdftosnf.c"
X
X# 1 "/usr/include/errno.h"
X
X
X
X
X
X
X# 1 "/usr/include/sys/errno.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 7 "/usr/include/errno.h"
X
Xextern int errno;
X# 5 "bdftosnf.c"
X
X# 1 "/usr/include/ctype.h"
X
X
X
X
X
X
X
X
X
X
X
Xextern char _ctype_[];
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 6 "bdftosnf.c"
X
X extern char *malloc(), *realloc();
X
X# 1 "../.././server/include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xextern unsigned long globalSerialNumber;
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef unsigned char *pointer;
Xtypedef int Bool;
Xtypedef unsigned long PIXEL;
Xtypedef unsigned long ATOM;
X
X
X
X
X
X
X# 1 "../.././server/include/os.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../.././server/include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 117 "../.././server/include/misc.h"
X
X# 29 "../.././server/include/os.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef pointer FID;
Xtypedef struct _FontPathRec *FontPathPtr;
Xtypedef struct _NewClientRec *NewClientPtr;
X
X
X
X
X
X
X
X
X
X
X# 69 "../.././server/include/os.h"
X
X
X
X
X
X
X
X
X
Xchar *alloca();
X
X
X
X
X
X# 92 "../.././server/include/os.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xchar *ReadRequestFromClient();
Xchar *strcat();
Xchar *strncat();
Xchar *strcpy();
Xchar *strncpy();
XBool CloseDownConnection();
XFontPathPtr GetFontPath();
XFontPathPtr ExpandFontNamePattern();
XFID FiOpenForRead();
Xvoid CreateWellKnownSockets();
Xvoid SetDefaultFontPath();
Xvoid FreeFontRecord();
Xvoid SetFontPath();
Xvoid ErrorF();
Xvoid Error();
Xvoid FatalError();
Xvoid ProcessCommandLine();
Xvoid Xfree();
Xvoid FlushAllOutput();
Xvoid FlushIfCriticalOutputPending();
Xunsigned long *Xalloc();
Xunsigned long *Xrealloc();
Xlong GetTimeInMillis();
X
X
X# 58 "../.././server/include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _DDXPoint *DDXPointPtr;
Xtypedef struct _Box *BoxPtr;
X
X
X# 9 "bdftosnf.c"
X
X# 1 "../.././X11/X.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef unsigned long XID;
X
Xtypedef XID Window;
Xtypedef XID Drawable;
Xtypedef XID Font;
Xtypedef XID Pixmap;
Xtypedef XID Cursor;
Xtypedef XID Colormap;
Xtypedef XID GContext;
Xtypedef XID KeySym;
X
Xtypedef unsigned long Mask;
X
Xtypedef unsigned long Atom;
X
Xtypedef unsigned long VisualID;
X
Xtypedef unsigned long Time;
X
Xtypedef unsigned char KeyCode;
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 311 "../.././X11/X.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 10 "bdftosnf.c"
X
X# 1 "../.././X11/Xproto.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../.././X11/Xmd.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef long INT32;
Xtypedef short INT16;
Xtypedef char INT8;
X
Xtypedef unsigned long CARD32;
Xtypedef unsigned short CARD16;
Xtypedef unsigned char CARD8;
X
Xtypedef unsigned long BITS32;
Xtypedef unsigned short BITS16;
Xtypedef unsigned char BYTE;
X
Xtypedef unsigned char BOOL;
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 53 "../.././X11/Xproto.h"
X
X# 1 "../.././X11/Xprotostr.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../.././X11/Xmd.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 139 "../.././X11/Xmd.h"
X
X# 28 "../.././X11/Xprotostr.h"
X
X
X
X
Xtypedef struct _xSegment {
X INT16 x1 , y1 , x2 , y2 ;
X} xSegment;
X
X
X
Xtypedef struct _xPoint {
X INT16 x , y ;
X} xPoint;
X
Xtypedef struct _xRectangle {
X INT16 x , y ;
X CARD16 width , height ;
X} xRectangle;
X
X
X
Xtypedef struct _xArc {
X INT16 x , y ;
X CARD16 width , height ;
X INT16 angle1 , angle2 ;
X} xArc;
X
X
X# 54 "../.././X11/Xproto.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef CARD16 KeyButMask;
X
X
X
X
X
X
Xtypedef struct {
X CARD8 byteOrder;
X BYTE pad;
X CARD16 majorVersion , minorVersion ;
X CARD16 nbytesAuthProto ;
X CARD16 nbytesAuthString ;
X CARD16 pad2;
X} xConnClientPrefix;
X
Xtypedef struct {
X BOOL success;
X BYTE lengthReason;
X CARD16 majorVersion ,
X minorVersion ;
X CARD16 length ;
X} xConnSetupPrefix;
X
X
Xtypedef struct {
X CARD32 release ;
X CARD32 ridBase ,
X ridMask ;
X CARD32 motionBufferSize ;
X CARD16 nbytesVendor ;
X CARD16 maxRequestSize ;
X CARD8 numRoots;
X CARD8 numFormats;
X CARD8 imageByteOrder;
X CARD8 bitmapBitOrder;
X CARD8 bitmapScanlineUnit,
X bitmapScanlinePad;
X CARD8 minKeyCode, maxKeyCode;
X CARD32 pad2 ;
X} xConnSetup;
X
Xtypedef struct {
X CARD8 depth;
X CARD8 bitsPerPixel;
X CARD8 scanLinePad;
X CARD8 pad1;
X CARD32 pad2 ;
X} xPixmapFormat;
X
X
X
Xtypedef struct {
X CARD8 depth;
X CARD8 pad1;
X CARD16 nVisuals ;
X CARD32 pad2 ;
X } xDepth;
X
Xtypedef struct {
X CARD32 visualID ;
X CARD8 class;
X CARD8 bitsPerRGB;
X CARD16 colormapEntries ;
X CARD32 redMask , greenMask , blueMask ;
X CARD32 pad ;
X } xVisualType;
X
Xtypedef struct {
X CARD32 windowId ;
X CARD32 defaultColormap ;
X CARD32 whitePixel , blackPixel ;
X CARD32 currentInputMask ;
X CARD16 pixWidth , pixHeight ;
X CARD16 mmWidth , mmHeight ;
X CARD16 minInstalledMaps , maxInstalledMaps ;
X CARD32 rootVisualID ;
X CARD8 backingStore;
X BOOL saveUnders;
X CARD8 rootDepth;
X CARD8 nDepths;
X} xWindowRoot;
X
X
X
X
X
X
X
X
X
Xtypedef struct {
X CARD32 time ;
X INT16 x , y ;
X} xTimecoord;
X
Xtypedef struct {
X CARD8 family;
X BYTE pad;
X CARD16 length ;
X} xHostEntry;
X
Xtypedef struct {
X INT16 leftSideBearing ,
X rightSideBearing ,
X characterWidth ,
X ascent ,
X descent ;
X CARD16 attributes ;
X} xCharInfo;
X
Xtypedef struct {
X CARD32 name ;
X CARD32 value ;
X} xFontProp;
X
X
X
X
Xtypedef struct {
X CARD8 len;
X
X INT8 delta;
X} xTextElt;
X
X
Xtypedef struct {
X CARD32 pixel ;
X CARD16 red , green , blue ;
X CARD8 flags;
X CARD8 pad;
X} xColorItem;
X
X
Xtypedef struct {
X CARD16 red , green , blue , pad ;
X} xrgb;
X
Xtypedef CARD8 KEYCODE;
X
X
X
X
X
X
X
X# 937 "../.././X11/Xproto.h"
X
X
X
X
X
X
X
X
X
X
Xtypedef struct {
X BYTE type;
X BYTE errorCode;
X CARD16 sequenceNumber ;
X CARD32 resourceID ;
X CARD16 minorCode ;
X CARD8 majorCode;
X BYTE pad1;
X CARD32 pad3 ;
X CARD32 pad4 ;
X CARD32 pad5 ;
X CARD32 pad6 ;
X CARD32 pad7 ;
X} xError;
X
X
X
X
X
X
X# 1196 "../.././X11/Xproto.h"
X
X
X
X
X
X
X
X
X
X# 1250 "../.././X11/Xproto.h"
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 data;
X CARD16 length ;
X
X} xReq;
X
X
X
X
X
X
X
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 id ;
X } xResourceReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 depth;
X CARD16 length ;
X CARD32 wid , parent ;
X INT16 x , y ;
X CARD16 width , height , borderWidth ;
X CARD16 class ;
X CARD32 visual ;
X CARD32 mask ;
X} xCreateWindowReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 window ;
X CARD32 valueMask ;
X} xChangeWindowAttributesReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE mode;
X CARD16 length ;
X CARD32 window ;
X} xChangeSaveSetReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 window , parent ;
X INT16 x , y ;
X} xReparentWindowReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 pad;
X CARD16 length ;
X CARD32 window ;
X CARD16 mask ;
X CARD16 pad2 ;
X} xConfigureWindowReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 direction;
X CARD16 length ;
X CARD32 window ;
X} xCirculateWindowReq;
X
Xtypedef struct {
X CARD8 reqType;
X BOOL onlyIfExists;
X CARD16 length ;
X CARD16 nbytes ;
X CARD16 pad ;
X} xInternAtomReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 mode;
X CARD16 length ;
X CARD32 window ;
X CARD32 property , type ;
X CARD8 format;
X BYTE pad[3];
X CARD32 nUnits ;
X} xChangePropertyReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 window ;
X CARD32 property ;
X} xDeletePropertyReq;
X
Xtypedef struct {
X CARD8 reqType;
X BOOL delete;
X CARD16 length ;
X CARD32 window ;
X CARD32 property , type ;
X CARD32 longOffset ;
X CARD32 longLength ;
X} xGetPropertyReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 window ;
X CARD32 selection ;
X CARD32 time ;
X} xSetSelectionOwnerReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 requestor ;
X CARD32 selection , target , property ;
X CARD32 time ;
X } xConvertSelectionReq;
X
X# 1404 "../.././X11/Xproto.h"
X
X
Xtypedef struct {
X CARD8 reqType;
X BOOL ownerEvents;
X CARD16 length ;
X CARD32 grabWindow ;
X CARD16 eventMask ;
X BYTE pointerMode, keyboardMode;
X CARD32 confineTo ;
X CARD32 cursor ;
X CARD32 time ;
X} xGrabPointerReq;
X
Xtypedef struct {
X CARD8 reqType;
X BOOL ownerEvents;
X CARD16 length ;
X CARD32 grabWindow ;
X CARD16 eventMask ;
X BYTE pointerMode, keyboardMode;
X CARD32 confineTo ;
X CARD32 cursor ;
X CARD8 button;
X BYTE pad;
X CARD16 modifiers ;
X} xGrabButtonReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 button;
X CARD16 length ;
X CARD32 grabWindow ;
X CARD16 modifiers ;
X CARD16 pad ;
X} xUngrabButtonReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 cursor ;
X CARD32 time ;
X CARD16 eventMask ;
X CARD16 pad2 ;
X} xChangeActivePointerGrabReq;
X
Xtypedef struct {
X CARD8 reqType;
X BOOL ownerEvents;
X CARD16 length ;
X CARD32 grabWindow ;
X CARD32 time ;
X BYTE pointerMode, keyboardMode;
X CARD16 pad ;
X} xGrabKeyboardReq;
X
Xtypedef struct {
X CARD8 reqType;
X BOOL ownerEvents;
X CARD16 length ;
X CARD32 grabWindow ;
X CARD16 modifiers ;
X CARD8 key;
X BYTE pointerMode, keyboardMode;
X BYTE pad1, pad2, pad3;
X} xGrabKeyReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 key;
X CARD16 length ;
X CARD32 grabWindow ;
X CARD16 modifiers ;
X CARD16 pad ;
X} xUngrabKeyReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 mode;
X CARD16 length ;
X CARD32 time ;
X} xAllowEventsReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 window ;
X CARD32 start , stop ;
X} xGetMotionEventsReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 srcWid , dstWid ;
X INT16 srcX , srcY ;
X} xTranslateCoordsReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 srcWid , dstWid ;
X INT16 srcX , srcY ;
X CARD16 srcWidth , srcHeight ;
X INT16 dstX , dstY ;
X} xWarpPointerReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 revertTo;
X CARD16 length ;
X CARD32 focus ;
X CARD32 time ;
X} xSetInputFocusReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 fid ;
X CARD16 nbytes ;
X BYTE pad1, pad2;
X} xOpenFontReq;
X
Xtypedef struct {
X CARD8 reqType;
X BOOL oddLength;
X CARD16 length ;
X CARD32 fid ;
X } xQueryTextExtentsReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD16 maxNames ;
X CARD16 nbytes ;
X} xListFontsReq;
X
Xtypedef xListFontsReq xListFontsWithInfoReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD16 nFonts ;
X BYTE pad1, pad2;
X} xSetFontPathReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 depth;
X CARD16 length ;
X CARD32 pid ;
X CARD32 drawable ;
X CARD16 width , height ;
X} xCreatePixmapReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 gc ;
X CARD32 drawable ;
X CARD32 mask ;
X} xCreateGCReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 gc ;
X CARD32 mask ;
X} xChangeGCReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 srcGC , dstGC ;
X CARD32 mask ;
X} xCopyGCReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 gc ;
X CARD16 dashOffset ;
X CARD16 nDashes ;
X} xSetDashesReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE ordering;
X CARD16 length ;
X CARD32 gc ;
X INT16 xOrigin , yOrigin ;
X} xSetClipRectanglesReq;
X
Xtypedef struct {
X CARD8 reqType;
X BOOL exposures;
X CARD16 length ;
X CARD32 window ;
X INT16 x , y ;
X CARD16 width , height ;
X} xClearAreaReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 srcDrawable , dstDrawable ;
X CARD32 gc ;
X INT16 srcX , srcY , dstX , dstY ;
X CARD16 width , height ;
X} xCopyAreaReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 srcDrawable , dstDrawable ;
X CARD32 gc ;
X INT16 srcX , srcY , dstX , dstY ;
X CARD16 width , height ;
X CARD32 bitPlane ;
X} xCopyPlaneReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE coordMode;
X CARD16 length ;
X CARD32 drawable ;
X CARD32 gc ;
X} xPolyPointReq;
X
Xtypedef xPolyPointReq xPolyLineReq;
X
X
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 drawable ;
X CARD32 gc ;
X} xPolySegmentReq;
X
Xtypedef xPolySegmentReq xPolyArcReq;
Xtypedef xPolySegmentReq xPolyRectangleReq;
Xtypedef xPolySegmentReq xPolyFillRectangleReq;
Xtypedef xPolySegmentReq xPolyFillArcReq;
X
Xtypedef struct _FillPolyReq {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 drawable ;
X CARD32 gc ;
X BYTE shape;
X BYTE coordMode;
X CARD16 pad1 ;
X} xFillPolyReq;
X
X
Xtypedef struct _PutImageReq {
X CARD8 reqType;
X CARD8 format;
X CARD16 length ;
X CARD32 drawable ;
X CARD32 gc ;
X CARD16 width , height ;
X INT16 dstX , dstY ;
X CARD8 leftPad;
X CARD8 depth;
X CARD16 pad ;
X} xPutImageReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 format;
X CARD16 length ;
X CARD32 drawable ;
X INT16 x , y ;
X CARD16 width , height ;
X CARD32 planeMask ;
X} xGetImageReq;
X
X
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 pad;
X CARD16 length ;
X CARD32 drawable ;
X CARD32 gc ;
X INT16 x , y ;
X} xPolyTextReq;
X
Xtypedef xPolyTextReq xPolyText8Req;
Xtypedef xPolyTextReq xPolyText16Req;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE nChars;
X CARD16 length ;
X CARD32 drawable ;
X CARD32 gc ;
X INT16 x , y ;
X} xImageTextReq;
X
Xtypedef xImageTextReq xImageText8Req;
Xtypedef xImageTextReq xImageText16Req;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE alloc;
X CARD16 length ;
X CARD32 mid ;
X CARD32 window ;
X CARD32 visual ;
X} xCreateColormapReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 mid ;
X CARD32 srcCmap ;
X} xCopyColormapAndFreeReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 cmap ;
X CARD16 red , green , blue ;
X CARD16 pad2 ;
X} xAllocColorReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 cmap ;
X CARD16 nbytes ;
X BYTE pad1, pad2;
X} xAllocNamedColorReq;
X
Xtypedef struct {
X CARD8 reqType;
X BOOL contiguous;
X CARD16 length ;
X CARD32 cmap ;
X CARD16 colors , planes ;
X} xAllocColorCellsReq;
X
Xtypedef struct {
X CARD8 reqType;
X BOOL contiguous;
X CARD16 length ;
X CARD32 cmap ;
X CARD16 colors , red , green , blue ;
X} xAllocColorPlanesReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 cmap ;
X CARD32 planeMask ;
X} xFreeColorsReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 cmap ;
X} xStoreColorsReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 flags;
X CARD16 length ;
X CARD32 cmap ;
X CARD32 pixel ;
X CARD16 nbytes ;
X BYTE pad1, pad2;
X } xStoreNamedColorReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 cmap ;
X} xQueryColorsReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 cmap ;
X CARD16 nbytes ;
X BYTE pad1, pad2;
X} xLookupColorReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 cid ;
X CARD32 source , mask ;
X CARD16 foreRed , foreGreen , foreBlue ;
X CARD16 backRed , backGreen , backBlue ;
X CARD16 x , y ;
X} xCreateCursorReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 cid ;
X CARD32 source , mask ;
X CARD16 sourceChar , maskChar ;
X CARD16 foreRed , foreGreen , foreBlue ;
X CARD16 backRed , backGreen , backBlue ;
X} xCreateGlyphCursorReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 cursor ;
X CARD16 foreRed , foreGreen , foreBlue ;
X CARD16 backRed , backGreen , backBlue ;
X} xRecolorCursorReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 class;
X CARD16 length ;
X CARD32 drawable ;
X CARD16 width , height ;
X} xQueryBestSizeReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD16 nbytes ;
X BYTE pad1, pad2;
X} xQueryExtensionReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 numKeyPerModifier;
X CARD16 length ;
X} xSetModifierMappingReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 nElts;
X CARD16 length ;
X} xSetPointerMappingReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD8 firstKeyCode;
X CARD8 count;
X CARD16 pad1 ;
X} xGetKeyboardMappingReq;
X
Xtypedef struct {
X CARD8 reqType;
X CARD8 keyCodes;
X CARD16 length ;
X CARD8 firstKeyCode;
X CARD8 keySymsPerKeyCode;
X CARD16 pad1 ;
X} xChangeKeyboardMappingReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 mask ;
X} xChangeKeyboardControlReq;
X
Xtypedef struct {
X CARD8 reqType;
X INT8 percent;
X CARD16 length ;
X} xBellReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X INT16 accelNum , accelDenum ;
X INT16 threshold ;
X BOOL doAccel, doThresh;
X} xChangePointerControlReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X INT16 timeout , interval ;
X BYTE preferBlank, allowExpose;
X CARD16 pad2 ;
X} xSetScreenSaverReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE mode;
X CARD16 length ;
X CARD8 hostFamily;
X BYTE pad;
X CARD16 hostLength ;
X} xChangeHostsReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X } xListHostsReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE mode;
X CARD16 length ;
X } xChangeModeReq;
X
Xtypedef xChangeModeReq xSetAccessControlReq;
Xtypedef xChangeModeReq xSetCloseDownModeReq;
Xtypedef xChangeModeReq xForceScreenSaverReq;
X
Xtypedef struct {
X CARD8 reqType;
X BYTE pad;
X CARD16 length ;
X CARD32 window ;
X CARD16 nAtoms ;
X INT16 nPositions ;
X } xRotatePropertiesReq;
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 11 "bdftosnf.c"
X
X# 1 "../.././server/include/fontstruct.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../.././server/include/font.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../.././server/include/servermd.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 143 "../.././server/include/servermd.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _PaddingInfo {
X int padRoundUp;
X int padPixelsLog2;
X int padBytesLog2;
X} PaddingInfo;
Xextern PaddingInfo PixmapWidthPaddingInfo[];
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 27 "../.././server/include/font.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _FontProp *FontPropPtr;
Xtypedef struct _CharInfo *CharInfoPtr;
Xtypedef struct _FontInfo *FontInfoPtr;
Xtypedef unsigned int DrawDirection;
Xtypedef struct _ExtentInfo *ExtentInfoPtr;
X
X
X
X# 26 "../.././server/include/fontstruct.h"
X
X# 1 "../.././server/include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 117 "../.././server/include/misc.h"
X
X# 27 "../.././server/include/fontstruct.h"
X
X
Xtypedef struct _CharInfo {
X xCharInfo metrics;
X unsigned byteOffset:24;
X Bool exists:1;
X unsigned pad:7;
X} CharInfoRec;
X
Xtypedef struct _FontInfo {
X unsigned int version1;
X unsigned int allExist;
X unsigned int drawDirection;
X unsigned int noOverlap;
X
X
X
X unsigned int constantMetrics;
X unsigned int terminalFont;
X
X
X
X
X
X
X unsigned int linear:1;
X unsigned int constantWidth:1;
X
X
X unsigned int inkInside:1;
X
X
X
X
X
X unsigned int inkMetrics:1;
X
X
X unsigned int padding:28;
X unsigned int firstCol;
X unsigned int lastCol;
X unsigned int firstRow;
X unsigned int lastRow;
X unsigned int nProps;
X unsigned int lenStrings;
X unsigned int chDefault;
X int fontDescent;
X int fontAscent;
X CharInfoRec minbounds;
X CharInfoRec maxbounds;
X unsigned int pixDepth;
X unsigned int glyphSets;
X
X unsigned int version2;
X} FontInfoRec;
X
Xtypedef struct _ExtentInfo {
X DrawDirection drawDirection;
X int fontAscent;
X int fontDescent;
X int overallAscent;
X int overallDescent;
X int overallWidth;
X int overallLeft;
X int overallRight;
X} ExtentInfoRec;
X
X
X
X# 12 "bdftosnf.c"
X
X# 1 "../.././server/include/snfstruct.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 1 "../.././server/include/font.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 90 "../.././server/include/font.h"
X
X# 26 "../.././server/include/snfstruct.h"
X
X# 1 "../.././server/include/misc.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 117 "../.././server/include/misc.h"
X
X# 27 "../.././server/include/snfstruct.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _FontProp {
X CARD32 name;
X INT32 value;
X Bool indirect;
X} FontPropRec;
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 13 "bdftosnf.c"
X
X# 1 "../.././server/include/font.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 90 "../.././server/include/font.h"
X
X# 14 "bdftosnf.c"
X
X
X# 1 "bdftosnf.h"
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Xtypedef struct _GlyphMap {
X char *bits;
X int h;
X int w;
X int widthBytes;
X} GlyphMap;
X
X
X
X
X
X
Xtypedef struct _TempFont {
X FontInfoPtr pFI;
X CharInfoPtr pCI;
X unsigned char *pGlyphs;
X FontPropPtr pFP;
X CharInfoPtr pInkCI;
X CharInfoPtr pInkMin;
X CharInfoPtr pInkMax;
X} TempFont;
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X# 109 "bdftosnf.h"
X
X
X
X
X
X
X
X
X
X
X# 16 "bdftosnf.c"
X
X
X
X
X
Xextern char *gets(), *index();
Xextern void bitorderinvert(), twobyteinvert(), fourbyteinvert();
X
Xstatic char *myname;
Xstatic char *currentFile = 0;
X
Xint linenum = 0;
Xint badbitswarn = 0;
Xint ignoredcharwarn = 0;
Xint makeTEfonts = 0;
Xint inhibitInk = 0;
X
Xint glyphPad = 4 ;
Xint bitorder = 1 ;
Xint scanunit = 1 ;
Xint byteorder = 1 ;
X
X
X
X
X
X
X
XFontPropPtr fontProp = (FontPropPtr)0;
XFontPropPtr pointSizeProp = (FontPropPtr)0;
XFontPropPtr resolutionProp = (FontPropPtr)0;
XFontPropPtr xHeightProp = (FontPropPtr)0;
XFontPropPtr weightProp = (FontPropPtr)0;
XFontPropPtr quadWidthProp = (FontPropPtr)0;
X
X
XBOOL haveFontAscent = 0;
XBOOL haveFontDescent = 0;
X
X
Xstatic char **strings = 0;
X
Xchar *
Xpname(i)
X unsigned i;
X{
X return strings[i];
X}
X
X
Xmain(argc, argv)
X int argc;
X char * argv[];
X{
X TempFont font;
X FontInfoRec fi;
X CharInfoPtr cinfos[256];
X int bytesGlAlloced = 1024;
X
X unsigned char *pGl = (unsigned char *)malloc((unsigned)bytesGlAlloced);
X int bytesGlUsed = 0;
X int nGl = 0;
X int nchars;
X float pointSize;
X int xRes, yRes;
X char linebuf[1024];
X char namebuf[100];
X char secondbuf[1024];
X char thirdbuf[1024];
X char fontName[100];
X unsigned int attributes;
X int digitWidths = 0, digitCount = 0, ex = 0;
X int char_row, char_col;
X int i;
X CharInfoRec emptyCharInfo;
X
X myname = argv[0];
X argc--, argv++;
X while (argc--) {
X if (argv[0][0] == '-') {
X switch (argv[0][1]) {
X case 'p':
X switch (argv[0][2]) {
X case '1':
X case '2':
X case '4':
X case '8':
X if (argv[0][3] != '\0')
X goto usage;
X glyphPad = argv[0][2] - '0';
X break;
X default:
X goto usage;
X }
X break;
X
X case 'u':
X switch (argv[0][2]) {
X case '1':
X case '2':
X case '4':
X if (argv[0][3] != '\0')
X goto usage;
X scanunit = argv[0][2] - '0';
X break;
X default:
X goto usage;
X }
X break;
X
X case 'm':
X if (argv[0][2] != '\0')
X goto usage;
X bitorder = 1;
X break;
X
X case 'l':
X if (argv[0][2] != '\0')
X goto usage;
X bitorder = 0;
X break;
X
X case 'M':
X if (argv[0][2] != '\0')
X goto usage;
X byteorder = 1;
X break;
X
X case 'L':
X if (argv[0][2] != '\0')
X goto usage;
X byteorder = 0;
X break;
X
X case 'w':
X if (argv[0][2] != '\0')
X goto usage;
X badbitswarn = 1;
X break;
X
X case 'W':
X if (argv[0][2] != '\0')
X goto usage;
X ignoredcharwarn = 1;
X break;
X
X case 't':
X if (argv[0][2] != '\0')
X goto usage;
X makeTEfonts = 1;
X break;
X
X case 'i':
X if (argv[0][2] != '\0')
X goto usage;
X inhibitInk = 1;
X break;
X
X default:
X goto usage;
X break;
X }
X } else {
X if (currentFile)
X {
X usage:
X fprintf((&_iob[2]),
X "usage: %s [-p#] [-u#] [-m] [-l] [-M] [-L] [-w] [-W] [-t] [-i] [bdf file]\n",
X myname);
X fprintf((&_iob[2]),
X " where # for -p is 1, 2, 4, or 8\n");
X fprintf((&_iob[2]),
X " and # for -s is 1, 2, or 4\n");
X exit(1);
X }
X currentFile = argv[0];
X }
X argv++;
X }
X if (currentFile) {
X if (freopen(currentFile, "r", (&_iob[0])) == 0)
X fatal("could not open file\n");
X } else {
X currentFile = "(stdin)";
X }
X
X emptyCharInfo.metrics.leftSideBearing = 0;
X emptyCharInfo.metrics.rightSideBearing = 0;
X emptyCharInfo.metrics.ascent = 0;
X emptyCharInfo.metrics.descent = 0;
X emptyCharInfo.metrics.characterWidth = 0;
X emptyCharInfo.byteOffset = 0;
X emptyCharInfo.exists = 0;
X emptyCharInfo.metrics.attributes = 0;
X
X for (i = 0; i < 256; i++)
X cinfos[i] = (CharInfoPtr)0;
X
X font.pFI = &fi;
X fi.firstRow = 256;
X fi.lastRow = 0;
X fi.firstCol = 256;
X fi.lastCol = 0;
X fi.pixDepth = 1;
X fi.glyphSets = 1;
X fi.chDefault = 0;
X
X getline(linebuf);
X
X if ((sscanf(linebuf, "STARTFONT %s", namebuf) != 1) ||
X !streq(namebuf, "2.1"))
X fatal("bad 'STARTFONT'");
X getline(linebuf);
X
X if (sscanf(linebuf, "FONT %[^\n]", fontName) != 1)
X fatal("bad 'FONT'");
X getline(linebuf);
X
X if (!prefix(linebuf, "SIZE"))
X fatal("missing 'SIZE'");
X if ((sscanf(linebuf, "SIZE %f%d%d", &pointSize, &xRes, &yRes) != 3))
X fatal("bad 'SIZE'");
X if ((pointSize < 1) || (xRes < 1) || (yRes < 1))
X fatal("SIZE values must be > 0");
X if (xRes != yRes)
X fatal("x and y resolution must be equal");
X getline(linebuf);
X
X if (!prefix(linebuf, "FONTBOUNDINGBOX"))
X fatal("missing 'FONTBOUNDINGBOX'");
X getline(linebuf);
X
X if (prefix(linebuf, "STARTPROPERTIES")) {
X int nprops;
X FontPropPtr pfp;
X
X if (sscanf(linebuf, "STARTPROPERTIES %d", &nprops) != 1)
X fatal("bad 'STARTPROPERTIES'");
X fi.nProps = nprops;
X pfp = (FontPropPtr)malloc((unsigned)(nprops+6) *
X sizeof(FontPropRec));
X font.pFP = pfp;
X getline(linebuf);
X while((nprops-- > 0) && !prefix(linebuf, "ENDPROPERTIES")) {
X
X switch (sscanf(linebuf, "%s%s%s", namebuf, secondbuf, thirdbuf) ) {
X
X case 1:
X fatal("missing '%s' parameter value",namebuf);
X break;
X
X case 2:
X
X
X
X
X
X
X if( secondbuf[0] == '"'){
X pfp->indirect = 1;
X pfp->value = (INT32)remember(linebuf+strlen(namebuf));
X break;
X } else if( isinteger(secondbuf) ){
X pfp->indirect = 0;
X pfp->value = atoi(secondbuf);
X break;
X } else {
X fatal("invalid '%s' parameter value",namebuf);
X break;
X }
X
X case 3:
X
X
X
X
X
X if( secondbuf[0] == '"'){
X pfp->indirect = 1;
X pfp->value = (INT32)remember(linebuf+strlen(namebuf));
X break;
X } else {
X fatal("invalid '%s' parameter value",namebuf);
X break;
X }
X }
X pfp->name = (CARD32)remember(namebuf);
X if (specialproperty(pfp, &fi))
X pfp++;
X else
X fi.nProps--;
X getline(linebuf);
X }
X if (!prefix(linebuf, "ENDPROPERTIES"))
X fatal("missing 'ENDPROPERTIES'");
X if (!haveFontAscent || !haveFontDescent)
X fatal("must have 'FONT_ASCENT' and 'FONT_DESCENT' properties");
X if (nprops != -1)
X fatal("%d too few properties", nprops+1);
X if (!fontProp) {
X fi.nProps++;
X pfp->name = (CARD32)intern("FONT");
X pfp->value = (INT32)intern(fontName);
X pfp->indirect = 1;
X fontProp = pfp++;
X }
X if (!pointSizeProp) {
X fi.nProps++;
X pfp->name = (CARD32)intern("POINT_SIZE");
X pfp->value = (INT32)(pointSize*10.0);
X pfp->indirect = 0;
X pointSizeProp = pfp++;
X }
X if (!weightProp) {
X fi.nProps++;
X pfp->name = (CARD32)intern("WEIGHT");
X pfp->value = -1;
X pfp->indirect = 0;
X weightProp = pfp++;
X }
X if (!resolutionProp) {
X fi.nProps++;
X pfp->name = (CARD32)intern("RESOLUTION");
X pfp->value = (INT32)((xRes*100.0)/72.27);
X pfp->indirect = 0;
X resolutionProp = pfp++;
X }
X if (!xHeightProp) {
X fi.nProps++;
X pfp->name = (CARD32)intern("X_HEIGHT");
X pfp->value = -1;
X pfp->indirect = 0;
X xHeightProp = pfp++;
X }
X if (!quadWidthProp) {
X fi.nProps++;
X pfp->name = (CARD32)intern("QUAD_WIDTH");
X pfp->value = -1;
X pfp->indirect = 0;
X quadWidthProp = pfp++;
X }
X } else {
X fatal("missing 'STARTPROPERTIES'");
X }
X getline(linebuf);
X
X if (sscanf(linebuf, "CHARS %d", &nchars) != 1)
X fatal("bad 'CHARS'");
X if (nchars < 1)
X fatal("invalid number of CHARS");
X getline(linebuf);
X
X while ((nchars-- > 0) && prefix(linebuf, "STARTCHAR")) {
X int t;
X int ix;
X int wx;
X int wy;
X int bw;
X int bh;
X int bl;
X int bb;
X int enc, enc2;
X char *p;
X int bytesperrow, row, hexperrow, perrow, badbits;
X char charName[100];
X
X if (sscanf(linebuf, "STARTCHAR %s", charName) != 1)
X fatal("bad character name");
X
X getline( linebuf);
X if ((t=sscanf(linebuf, "ENCODING %d %d", &enc, &enc2)) < 1)
X fatal("bad 'ENCODING'");
X if ((enc < -1) || ((t == 2) && (enc2 < -1)))
X fatal("bad ENCODING value");
X if (t == 2 && enc == -1)
X enc = enc2;
X if (enc == -1) {
X if (ignoredcharwarn) warning("character '%s' ignored\n", charName);
X do {
X char *s = getline(linebuf);
X if (!s)
X fatal("Unexpected EOF");
X } while (!prefix(linebuf, "ENDCHAR"));
X getline(linebuf);
X continue;
X }
X if (enc > 0xFFFF)
X fatal("character '%s' has encoding(=%d) too large", charName, enc);
X char_row = (enc >> 8) & 0xFF;
X char_col = enc & 0xFF;
X fi.firstRow = ((fi.firstRow)>( char_row)?( char_row):(fi.firstRow));
X fi.lastRow = ((fi.lastRow)>( char_row)?(fi.lastRow):( char_row));
X fi.firstCol = ((fi.firstCol )>( char_col)?( char_col):(fi.firstCol ));
X fi.lastCol = ((fi.lastCol )>( char_col)?(fi.lastCol ):( char_col));
X if (!cinfos[char_row])
X {
X cinfos[char_row] =
X (CharInfoPtr)malloc(sizeof(CharInfoRec)*256);
X bzero((char *)cinfos[char_row], sizeof(CharInfoRec)*256);
X }
X
X getline( linebuf);
X if (sscanf( linebuf, "SWIDTH %d %d", &wx, &wy) != 2)
X fatal("bad 'SWIDTH'");
X if (wy != 0)
X fatal("SWIDTH y value must be zero");
X
X getline( linebuf);
X if (sscanf( linebuf, "DWIDTH %d %d", &wx, &wy) != 2)
X fatal("bad 'DWIDTH'");
X if (wy != 0)
X fatal("DWIDTH y value must be zero");
X
X getline( linebuf);
X if (sscanf( linebuf, "BBX %d %d %d %d", &bw, &bh, &bl, &bb) != 4)
X fatal("bad 'BBX'");
X if ((bh < 0) || (bw < 0))
X fatal("character '%s' has a negative sized bitmap, %dx%d",
X charName, bw, bh);
X
X getline( linebuf);
X if (prefix(linebuf, "ATTRIBUTES"))
X {
X for (p = linebuf + strlen("ATTRIBUTES ");
X (*p == ' ') || (*p == '\t');
X p ++)
X ;
X attributes = hexbyte(p)<< 8 + hexbyte(p+2);
X getline( linebuf);
X }
X else
X attributes = 0;
X if (!prefix(linebuf, "BITMAP"))
X fatal("missing 'BITMAP'");
X
X
X if ((strlen(charName) == 1)){
X if ((charName[0] >='0') && (charName[0] <= '9')) {
X digitWidths += wx;
X digitCount++;
X } else if (charName[0] == 'x') {
X ex = (bh+bb)<=0? bh : bh+bb ;
X }
X }
X
X cinfos[char_row][char_col].metrics.leftSideBearing = bl;
X cinfos[char_row][char_col].metrics.rightSideBearing = bl+bw;
X cinfos[char_row][char_col].metrics.ascent = bh+bb;
X cinfos[char_row][char_col].metrics.descent = -bb;
X cinfos[char_row][char_col].metrics.characterWidth = wx;
X cinfos[char_row][char_col].byteOffset = bytesGlUsed;
X cinfos[char_row][char_col].exists = 0;
X cinfos[char_row][char_col].metrics.attributes = attributes;
X
X badbits = 0;
X bytesperrow = ((glyphPad) == 1 ? (((bw)+7)>>3) :(glyphPad) == 2 ? ((((bw)+15)>>3)&~1) :(glyphPad) == 4 ? ((((bw)+31)>>3)&~3) :(glyphPad) == 8 ? ((((bw)+63)>>3)&~7) : 0);
X hexperrow = (bw + 7) >> 3;
X if (hexperrow == 0) hexperrow = 1;
X for (row=0; row < bh; row++) {
X getline(linebuf);
X p = linebuf;
X t = strlen(p);
X if (t & 1)
X fatal("odd number of characters in hex encoding");
X t >>= 1;
X if ((bytesGlUsed + bytesperrow) >= bytesGlAlloced) {
X bytesGlAlloced = (bytesGlUsed + bytesperrow) * 2;
X pGl = (unsigned char *)realloc((char *)pGl,
X (unsigned)bytesGlAlloced);
X }
X perrow = ((hexperrow)>( t)?( t):(hexperrow));
X for ( ix=0; ix < perrow; ix++, p+=2, bytesGlUsed++)
X {
X pGl[bytesGlUsed] = hexbyte(p);
X }
X if (perrow && (hexperrow <= t) && (bw & 7) &&
X (ix = (pGl[bytesGlUsed-1] & (0xff >> (bw & 7))))) {
X pGl[bytesGlUsed-1] &= ~ix;
X if (badbitswarn)
X badbits = 1;
X }
X if (badbitswarn) {
X for ( ix = perrow; ix < t; ix++, p+= 2) {
X if (hexbyte(p) != 0) {
X badbits = 1;
X break;
X }
X }
X }
X for ( ix=perrow; ix < bytesperrow; ix++, bytesGlUsed++)
X {
X pGl[bytesGlUsed] = 0;
X }
X
X
X
X bytesGlUsed = ((glyphPad) == 1 ? (((bytesGlUsed<<3)+7)>>3) :(glyphPad) == 2 ? ((((bytesGlUsed<<3)+15)>>3)&~1) :(glyphPad) == 4 ? ((((bytesGlUsed<<3)+31)>>3)&~3) :(glyphPad) == 8 ? ((((bytesGlUsed<<3)+63)>>3)&~7) : 0);
X }
X if (badbits)
X warning("character '%s' has bits outside bounding box ignored",
X charName);
X getline( linebuf);
X if (!prefix(linebuf, "ENDCHAR"))
X fatal("missing 'ENDCHAR'");
X nGl++;
X getline( linebuf);
X }
X
X if (nchars != -1)
X fatal("%d too few characters", nchars+1);
X if (prefix(linebuf, "STARTCHAR"))
X fatal("more characters than specified");
X if (!prefix(linebuf, "ENDFONT"))
X fatal("missing 'ENDFONT'");
X if (nchars != -1)
X fatal("%d too few characters", nchars+1);
X if (nGl == 0)
X fatal("No characters with valid encodings");
X
X fi.maxbounds.byteOffset = bytesGlUsed;
X font.pGlyphs = pGl;
X
X font.pCI = (CharInfoPtr)malloc(sizeof(CharInfoRec)*(((font.pFI)->lastCol - (font.pFI)->firstCol + 1) * ((font.pFI)->lastRow - (font.pFI)->firstRow + 1)));
X i = 0;
X for (char_row = fi.firstRow; char_row <= fi.lastRow; char_row++)
X {
X if (!cinfos[char_row])
X for (char_col = fi.firstCol ; char_col <= fi.lastCol ; char_col++)
X {
X font.pCI[i] = emptyCharInfo;
X i++;
X }
X else
X for (char_col = fi.firstCol ; char_col <= fi.lastCol ; char_col++)
X {
X font.pCI[i] = cinfos[char_row][char_col];
X i++;
X }
X }
X computeNaccelerators(&font, makeTEfonts, inhibitInk, glyphPad);
X
X
X if (xHeightProp && (xHeightProp->value == -1))
X xHeightProp->value = ex? ex : fi.minbounds.metrics.ascent;
X if (quadWidthProp && (quadWidthProp->value == -1))
X quadWidthProp->value = digitCount?
X (INT32)((float)digitWidths/(float)digitCount) :
X (fi.minbounds.metrics.characterWidth+fi.maxbounds.metrics.characterWidth)/2;
X if (weightProp && (weightProp->value == -1))
X weightProp->value = computeweight(&font);
X
X if (bitorder == 0)
X bitorderinvert(pGl, bytesGlUsed);
X if (bitorder != byteorder) {
X if (scanunit == 2)
X twobyteinvert(pGl, bytesGlUsed);
X else if (scanunit == 4)
X fourbyteinvert(pGl, bytesGlUsed);
X }
X
X WriteNFont((&_iob[1]), &font, pname);
X exit(0);
X}
X
END_OF_FILE
if test 39316 -ne `wc -c <'bdftosnf.part.i'`; then
echo shar: \"'bdftosnf.part.i'\" unpacked with wrong size!
fi
# end of 'bdftosnf.part.i'
fi
echo shar: End of shell archive.
exit 0
Technical Details
Message-ID:
<8812051644.AA08466@chip_and_dips.com>Path:
arc1-ca.pugleaf.net!utzoo!telly!ddsw1!mcdchg!rutgers!tut.cis.ohio-state.edu!UUNET.UU.NET!eplrx7!mcneillShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!telly!ddsw1!mcdchg!rutgers!tut.cis.ohio-state.edu!UUNET.UU.NET!eplrx7!mcneill From: eplrx7!mcneill@UUNET.UU.NET (Keith McNeill) Newsgroups: gnu.gcc.bug Subject: Re: GCC 1.31 Sun4, Sys4-3.2 & X.V11R3 Message-ID: <8812051644.AA08466@chip_and_dips.com> Date: 5 Dec 88 16:44:38 GMT Sender: daemon@tut.cis.ohio-state.edu Distribution: gnu Organization: GNUs Not Usenet Lines: 4273