Path: 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 #! /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 '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