rsalz@uunet.uu.net (Rich Salz) (01/21/89)
Submitted-by: Stephen A. Uhler <sau@bellcore.com> Posting-number: Volume 17, Issue 19 Archive-name: mgr/part19 #! /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 archive 18 (of 61)." # Contents: demo/icon/Makefile demo/icon/mclock.c # doc/usrman/croff/mktable.c font-16/Ucmr10x16b font-16/Ucmr10x16bI # font-16/Ucmr10x16bu font-32/Ucmr10x16b font-32/Ucmr10x16bI # font-32/Ucmr10x16bu misc/rotate.c src/data.c src/event.h src/kbd.c # Wrapped by rsalz@papaya.bbn.com on Thu Nov 17 21:05:20 1988 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'demo/icon/Makefile' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'demo/icon/Makefile'\" else echo shar: Extracting \"'demo/icon/Makefile'\" \(3557 characters\) sed "s/^X//" >'demo/icon/Makefile' <<'END_OF_FILE' X# Copyright (c) 1987 Bellcore X# All Rights Reserved X# Permission is granted to copy or use this program, EXCEPT that it X# may not be sold for profit, the copyright notice must be reproduced X# on copies, and credit should be given to Bellcore where it is due. X# BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. X X# $Header: Makefile,v 4.14 88/08/24 16:00:08 bianchi Exp $ X# $Source: /tmp/mgrsrc/demo/icon/RCS/Makefile,v $ X X# icon stuff X# X# walk,mclock,cycle courtesy S. D. Hawley X# XINCL = ../../lib X X# need pixrect if mgr is pixrect (or color) version X# zoom and snap don't work in color, see NOCOLOR= below X X XLIB = $(INCL)/libmgr.a XMGR = ../../src XBITDIR=../../lib XBITLIB = $(BITDIR)/blitlib.a $(OTHERLIB) XCFLAGS= -I$(INCL) -I$(BITDIR) X XCFILES= browse.c cycle.c cut.c iconmail.c iconmsgs.c icontoc.c mclock.c snap.c \ X walk.c window_print.c zoom.c set_colormap.c overlay.c invert_colormap.c XHFILES = mail_icons.h msgs_icons.h XOTHER = Makefile README XSTART=. XCPIO=icon.cpio XINSROOT=/usr/mgr XINSDIR=$(INSROOT)/bin X XSMALL= browse cycle cut iconmail iconmsgs mclock walk window_print X X#remove NOCOLOR modules for color versions XNOCOLOR=zoom snap X#NOCOLOR= XALL = $(SMALL) $(NOCOLOR) set_colormap overlay invert_colormap X Xall: $(ALL) X Xsmall: $(SMALL) X Xfast: $(CFILES) X cc -c $(CFLAGS) $(CFILES) X make all X Xconvert_icon: convert_icon.o $(LIB) X cc -o convert_icon convert_icon.o $(LIB) X Xtest2: test2.o $(LIB) X cc -o test2 test2.o $(LIB) X Xchess: chess.o $(LIB) X cc -o chess chess.o $(LIB) X Xcut: cut.o $(LIB) X cc -o cut cut.o $(LIB) X Xbrowse: browse.o $(LIB) X cc -o browse browse.o $(LIB) X Xwalk: walk.o $(LIB) X cc -o walk walk.o $(LIB) X Xiconmail.o: mail_icons.h X Xiconmail: iconmail.o $(LIB) X cc -o iconmail iconmail.o $(LIB) X Xiconmsgs.o: msgs_icons.h X Xiconmsgs: iconmsgs.o $(LIB) X cc -o iconmsgs iconmsgs.o $(LIB) X Xicontoc: icontoc.o $(LIB) $(MGR)/bitmaphead.o $(MGR)/bitmapread.o X cc -o icontoc icontoc.o $(LIB) \ X $(MGR)/bitmaphead.o $(MGR)/bitmapread.o $(BITLIB) X Xsnap: snap.o $(LIB) $(MGR)/bitmaphead.o $(MGR)/bitmapread.o X cc -o snap snap.o $(LIB) \ X $(MGR)/bitmaphead.o $(MGR)/bitmapread.o $(BITLIB) X Xoverlay: overlay.o $(LIB) X cc -o overlay overlay.o $(LIB) $(BITLIB) X Xzoom: zoom.o $(LIB) $(MGR)/bitmaphead.o $(MGR)/bitmapread.o X cc -o zoom zoom.o $(LIB) \ X $(MGR)/bitmaphead.o $(MGR)/bitmapread.o $(BITLIB) X Xmclock: mclock.o $(LIB) X cc -o mclock mclock.o $(LIB) X Xcycle: cycle.o $(LIB) X cc -o cycle cycle.o $(LIB) X Xwindow_print: window_print.o $(LIB) X cc -o window_print window_print.o $(LIB) X Xinvert_colormap: invert_colormap.o X cc -o invert_colormap invert_colormap.o -lpixrect X Xset_colormap: set_colormap.o X cc -o set_colormap set_colormap.o -lpixrect X Xtj3: tj3.o $(LIB) X cc -o tj3 tj3.o $(LIB) X Xtj2: tj2.o $(LIB) X cc -o tj2 tj2.o $(LIB) X Xtj: tj.o $(LIB) X cc -o tj tj.o $(LIB) X Xflip: flip.o X cc -o flip flip.o X Xrotate: rotate.o X cc -o rotate rotate.o X Xtjfilter: tjfilter.o X cc -o tjfilter tjfilter.o X Xget_header: get_header.o X cc -o get_header get_header.o X Xcpp_filter: cpp_filter.o X cc -o cpp_filter cpp_filter.o X X$(ALL): $(INCL)/term.h X Xinstall: all $(INSDIR) X cd $(INSDIR); rm -f $(ALL) X cp $(ALL) $(INSDIR) X Xsmallinstall: small $(INSDIR) X cd $(INSDIR); rm -f $(SMALL) X cp $(SMALL) $(INSDIR) X X$(INSDIR): X mkdir $@ X Xclean: X rm -f *.o core X Xclobber: X rm -f $(ALL) X Xlist: X @for i in ${CFILES} ${HFILES} ${OTHER}; do \ X echo "${START}/$$i"; \ X done X Xcpio: X make -s list | cpio -ocv > ${CPIO} END_OF_FILE # end of 'demo/icon/Makefile' fi if test -f 'demo/icon/mclock.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'demo/icon/mclock.c'\" else echo shar: Extracting \"'demo/icon/mclock.c'\" \(3712 characters\) sed "s/^X//" >'demo/icon/mclock.c' <<'END_OF_FILE' X/* Copyright (c) 1987 Bellcore X * All Rights Reserved X * Permission is granted to copy or use this program, EXCEPT that it X * may not be sold for profit, the copyright notice must be reproduced X * on copies, and credit should be given to Bellcore where it is due. X * BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. X */ X/* $Header: mclock.c,v 4.1 88/06/21 14:00:05 bianchi Exp $ X $Source: /tmp/mgrsrc/demo/icon/RCS/mclock.c,v $ X*/ Xstatic char RCSid_[] = "$Source: /tmp/mgrsrc/demo/icon/RCS/mclock.c,v $$Revision: 4.1 $"; X X/* by sdh */ X X#include <sys/time.h> X#include <stdio.h> X#include <signal.h> X#include "term.h" X X#define SCREEN 0 X#define MINS 1 X#define MASKMINS 13 X#define HRS 25 X#define MASKHRS 37 X#define FACE 49 X#define SCRATCH 50 X#define ICONPATH "mouse" X Xstatic char *_quit = "\034"; X Xint x, y, w, firstw, h, firsth, i, j, k; Xint hsize, vsize; X Xcleanup() X{ X m_clear(); X m_pop(); X exit(0); X} X Xclearit() X{ X m_clear(); X do_time(); X} X Xshapeit() X{ X int border; X X get_size(&x, &y, &hsize, &vsize); X get_param( (char *)0, (int *)0, (int *)0, &border ); X m_shapewindow(x, y, w + 2*border, h + 2*border); X} X X Xmain(argc,argv) Xchar **argv; X{ X register int s = 0; X int speed = 1; X char buf[101]; X X ckmgrterm( *argv ); X X m_setup(M_FLUSH); X m_push(P_BITMAP | P_EVENT | P_FLAGS | P_POSITION); X m_setmode(M_ABS); X X if (argc>1 && strcmp(argv[1],"-s")==0) X speed++; X X X signal(SIGINT,cleanup); X signal(SIGTERM,cleanup); X signal(SIGQUIT,clearit); X X m_setevent(RESHAPE,_quit); X m_setevent(REDRAW,_quit); X X m_ttyset(); /* no echo */ X fprintf(stderr,"Please wait..."); X fflush(stderr); X for (i = 0; i < 12; i++) { X /* load all the hands and their masks */ X sprintf(buf, "%s/mhand%d",ICONPATH, i); X m_bitfile(i+MINS, buf, &w, &h); X panic(); /* if the dimensions are wrong, panic and exit */ X sprintf(buf, "%s/mmhand%d",ICONPATH, i); X m_bitfile(i+MASKMINS, buf, &w, &h); X panic(); X sprintf(buf, "%s/hhand%d",ICONPATH, i); X m_bitfile(i+HRS, buf, &w, &h); X panic(); X sprintf(buf, "%s/mhhand%d",ICONPATH, i); X m_bitfile(i+MASKHRS, buf, &w, &h); X panic(); X } X sprintf(buf, "%s/mickface",ICONPATH); /* get the face */ X m_bitfile(FACE, buf, &w, &h); X panic(); X m_ttyreset();/* reset echo */ X shapeit(); X clearit(); X while(1) { X m_flush(); X do_time(); X sleep(15); /* update only every 15 seconds */ X } X} X Xdo_time() X{ X struct tm *tme, *localtime(); X long tmp, time(); X int hr, mn, mn1; X X tmp = time(0); X tme = localtime(&tmp); /* get the time */ X X mn = tme->tm_min; X hr = (tme->tm_hour > 11 ? tme->tm_hour - 12 : tme->tm_hour); X /* set hours to be 0-11 */ X mn1 = ( (mn/5) + (mn % 5 < 3 ? 0 : 1)); X /* adjust minutes so that 10:03 will read as 10:05 to help accuracy */ X if (mn > 33) hr++; X /* move hour hand when minute hand is on 7 so that 7:45 will look ok */ X mn1 %= 12; /* fix minutes to be 0-11 */ X hr %= 12; /* fix hours to be 0-11 */ X X m_func(B_COPY); X m_bitcopyto(0, 0, w, h, 0, 0, SCRATCH, FACE); /* copy face */ X m_func(B_AND); X m_bitcopyto(0, 0, w, h, 0, 0, SCRATCH, MASKHRS + hr); /* mask of hour */ X m_func(B_OR); X m_bitcopyto(0, 0, w, h, 0, 0, SCRATCH, HRS + hr); /* OR hour in */ X m_func(B_AND); X m_bitcopyto(0, 0, w, h, 0, 0, SCRATCH, MASKMINS + mn1); /* mask minutes */ X m_func(B_OR); X m_bitcopyto(0, 0, w, h, 0, 0, SCRATCH, MINS + mn1); /* OR in minute hand */ X m_func(B_COPY); X m_bitcopyto(0, 0, w, h, 0, 0, SCREEN, SCRATCH); /* put on screen */ X} X Xpanic() X{ X if( !firstw ) X firstw = w; X if( !firsth ) X firsth = h; X if( !w || !h || w != firstw || h != firsth ) { X m_ttyreset(); X fprintf(stderr, "%d %d\n", w, h ); X fprintf(stderr, "bitmap size mismatch: bitmaps may be bad.\n"); X exit(0); X } X} END_OF_FILE # end of 'demo/icon/mclock.c' fi if test -f 'doc/usrman/croff/mktable.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'doc/usrman/croff/mktable.c'\" else echo shar: Extracting \"'doc/usrman/croff/mktable.c'\" \(3609 characters\) sed "s/^X//" >'doc/usrman/croff/mktable.c' <<'END_OF_FILE' X/* Copyright (c) 1988 Bellcore X * All Rights Reserved X * Permission is granted to copy or use this program, EXCEPT that it X * may not be sold for profit, the copyright notice must be reproduced X * on copies, and credit should be given to Bellcore where it is due. X * BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. X */ X/* $Header: mktable.c,v 1.1 88/07/07 10:12:17 sau Exp $ X $Source: /tmp/mgrsrc/doc/usrman/croff/RCS/mktable.c,v $ X*/ Xstatic char RCSid_[] = "$Source: /tmp/mgrsrc/doc/usrman/croff/RCS/mktable.c,v $$Revision: 1.1 $"; X X/* make a compile time hash table (SAU) X * X * usage: mktable <name> <size> X * X */ X X#include <stdio.h> X#include "hash.h" X X#define SIZE 71 X#define MIN_SIZE 5 X Xchar key[80]; Xchar value[80]; X Xmain(argc,argv) Xint argc; Xchar **argv; X { X register int i,code, count = 0; X char *malloc(), *sprintf(); X TABLE **table; /* place to build hash table into */ X register TABLE *list, *next; X char *name; /* name of table */ X char *prog = *argv; X int len=0, size; X char tmp[80]; X X int r_flag = 0; /* reverse sense of keyword-value */ X int n_flag = 0; /* no values */ X X for(;argc>1 && *argv[1]=='-';argv++,argc--) X switch(argv[1][1]) { X case 'r': r_flag++; break; X case 'n': case '1': n_flag++; *value='\0'; break; X default : fprintf(stderr,"%s: flag %s ignored\n",prog,argv[1]); X } X X if (argc < 3) { X fprintf(stderr,"usage: %s [-r -n] <name> <number of buckets>\n",prog); X exit(1); X } X X name = argv[1]; X X if ((size = atoi(argv[2])) < MIN_SIZE) X size = SIZE; X X if ((table = (TABLE **) malloc(size * sizeof(TABLE))) == NULL) { X perror("Can't alloc space for table"); X exit(1); X } X X bzero(table,size*sizeof(TABLE)); X X /* build the hash table */ X X while(1) { X if (n_flag) X code = scanf("%s\n",key); X else if (r_flag) X code = scanf("%s %s\n",value,key); X else X code = scanf("%s %s\n",key,value); X X if (code == EOF) X break; X add_entry(table,size,key); X put_entry(table,size,key,value); X count++; X } X X /* print out data */ X X printf("/* hash table: %d items in %d buckets */\n\n",count,size); X printf("#include <stdio.h>\n"); X printf("#include \"hash.h\"\n\n"); X printf("#define SIZE_%s %d\n\n",name,size); X printf("struct table_entry %s_data[] = {\n",name); X X for(count=0,i=0;i<size;i++) { X for(code=0,list=table[i];list != (TABLE *) 0; list = next,count++) { X next = list->next; X printf(" {\"%s\", \"%s\", %d, 0x%x, %s},", X list->name, list->value, list->count, HASH_STATIC, X next ? sprintf(tmp,"&%s_data[%d]",name,count+1) : "NULL"); X if (code++ == 0) X printf(" /* %d */\n",i); X else X printf("\n"); X } X } X printf(" };\n\n"); X X /* print out hash table */ X X printf("/* hash table: %d items */\n\n",size); X printf("struct table_entry *%s[] = {\n ",name); X X for(len=2,code=count=i=0;i<size;i++) { X for(list=table[i]; list != (TABLE *) 0; list = list->next) { X count++; X code++; X } X if (code) { X sprintf(tmp," &%s_data[%d],",name,count-code); X code = 0; X } X else X sprintf(tmp," NULL,"); X X len += strlen(tmp); X X if (len > 78) { X printf("\n "); X len = 2 + strlen(tmp); X } X X printf("%s",tmp); X } X if (len) X printf("\n "); X printf(" };\n\n"); X } END_OF_FILE # end of 'doc/usrman/croff/mktable.c' fi if test -f 'font-16/Ucmr10x16b' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'font-16/Ucmr10x16b'\" else echo shar: Extracting \"'font-16/Ucmr10x16b'\" \(3570 characters\) sed "s/^X//" >'font-16/Ucmr10x16b' <<'END_OF_FILE' Xbegin 644 cmr10x16b.fnt XM%@H0!8 _S_AP'#_@ XM & , XM XM #_O\& ^!P?S_G\=P^'^_X XM<!P_X<!P V =P /@< #\ !P ;'\<P<!P!@P XM#!P' \#P!@_!X?P^!P #X </X'S\/\_P^/^/@?/^^!C/>/C^'P_ XM_'\_[_O>_[_G\/A@#X& P #P '@ !X #P!P#CP XM !\&#X _YS!@=P<'\=QS/^'#_/^' <..' <#X-@ '< &,' XM _ </\&S?/\/@< P& P^'P-AF X/@_'X<P^ & 8! XMW#@'!W#\=AS',?AW!P#AV' 8Q['<=SN'89Q_',<QC',<QG# 8 &!@ 8 < XM X [ < < X< \ & X!@'!W/^< 8'<'!C'<.# XM=AP?[_AP'#CC -@<!P?P !C!P / '#_!LVS^#L# 8 P& XM 8-@<'<=P.# ?QF',=P # # =QL!P=PS'<<!P&8=P< X?!P'<>Q XMW'<[AW&,?QS',8P^#X#@P# !@\ ' ' . .P ' ' ' XM !@ . 8!P_C_A@&!W!P8QW#@W8^/\_X<!PXX '\]X XM # #P !P_S_O@_@[!@. .'X& &'<'!W'<'@P' #!S'<' XM<!@ 8 8Q@<'<<QSG <#F'<' .'@<!W'\=QW.X=QP!P<P^'\/ ^ X, P 8?@ XM !P_!\!\/@\/X'Q^#P'A_!P]S^!P_ _'X?C_/\_[G/^_Y_#@& <-P_XP!@?P XM^'\=P<!P?Q_O^' <.. !_-V 8 ^ <&8-CX'P/@ XM #@#@\!@ #!W!P!P.#X/!\ P/AW!P' P/\# ,-\/AW' <Y\'PX!W!P#A XM\' =Q_'<=SN'8? <',/A_!P' <# & &-L .X=@_&X=@X#<=P< X? <'^=P XMV'89P_,8.!W',YP^'<;@X!@' /^_X8'\/A_'<' <'\_S_AP'#C@ XM W;-@ #_@ /@ '!F#8? ,!P X X_P8 P=P< 8'!N#8?@ XM,!X=P 8 8'#W#X?AP'.?!\. ?P< X?!P'<;QW'X[A\#X'!S#X?P<!P' XMP!@!@8 .'<<#N.<.!W'<' .'@'!_G<=QW.<.#@#@=QS.</ S X\ 8 \ # XM_C &!_#X8QW!@'!_'^_X<!PXX -VW8 !@ #P !P XMV!X'P_@ . .#P_P '\ 8'<' , 8;@''<' _#\ # ,!P]P^',<!SGP?# XM_'<' .'P<!_&\=QP.X? /!P<P>'<' <!P, , 8& /AW' [C_#@=QW!P#A XM\!P?YW'<=SG#@? X'</C_!P/@<#@& < _X8'X=P^ =P8!P/C_/^' <.. XM #=O> P !\ _X>!^;P #@#A^!@ &!W!P&! XMW/\!QW!P9P? 8/\& <-\/ASG,<YP' [AW!P#A^' ?QG'<<#N'X!P<','! XMW!X' X# # &!@ 'X=QP.XX X'<=P< X? <'^=QW'<YPX#X.QW#X_P<!P' XMX!@' /^ \'<9QC'<, <!P?[_AP'#C@ W9C ? XM &P_@_NX 8 P& 8!@ 8# -@<#,=P.'<=P<&<9P # # # &<<X XMS'<<!P&X=P<'X?AP'\9QW' _A^&,'!S!P=P^!P. P 8!@8 #O'<<#N. .! XMW'<' .'X'!SG<=QW.<.#'#L=P^/\'@,#@. 8!P #_@ &!W&<?QW#,' </\_X XM<!PXX '\8P 'P !P !L/X/[N # 8 & \ / XMP#X'!_&8#AV'X'!F'X' < 8 !@!P9AG'./AV',<!^'<'!^'<<QC&,=QP/X=Y XMW!P/@<&,9P<',, & 8& [QV#L;AS#@-QW!P#A^!P<YW#8=AG#@XP['<'# XM_#<& [#@& < _X !@/C_G\_Y_#X/A_O^' <.. !_#X XM !_ < ;!\&<;P 8, / #P8 <'\?P\!\/ \!P/ \!P' XM<#P_[_!P_#_/@/C_CX/#_O\][S#X^!_/N?@^!P'!C/^/A_#X P^!@_X '\? XM>#\/A\!\_X^ X_X^/^_X<'P/Q\/X'@_@PYS_A@?P?!@^ /^ XM _S_AP'#C@ & #F XM !P 8 P XM #P /^ ' . !P < XM 8 #_@ '^_X<!PXX XM !_ 8 XM8 XM =P ?@ < ' < _X XM #_/^' </^ XM , XM #X 'P XM /@#P ' /^ ?[_AP'#_@ XM XM XM # X!_@ X Xend END_OF_FILE # end of 'font-16/Ucmr10x16b' fi if test -f 'font-16/Ucmr10x16bI' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'font-16/Ucmr10x16bI'\" else echo shar: Extracting \"'font-16/Ucmr10x16bI'\" \(3571 characters\) sed "s/^X//" >'font-16/Ucmr10x16bI' <<'END_OF_FILE' Xbegin 644 cmr10x16bI.fnt XM%@H0!8 _______________ , >/X\ ?___________________________\ XM _____Y_____________________S_____________________________ XM____________________________________________________________ XM_______________________________________\ 0#Y_!^/@, 8#B/!X! ' XMC^/ 'C^/__)__B/___P?C__________\# ./__DX#C/C^/^?/_________ XM\^/X_#\/^? ^'@/!^/________\'__CP'X,#P# /!P!P?@P!!^<PAP<!X/ _ XM X# $ 0A $ 8#P>?\'Y___/_\/__X?_^'_\/^/\</___________________ XM______^#Y\'__ &,^?B/CX#B.,P!X\ P!X_CQQX_C\'R?_XC___YSX______ XM_____ P #CP#Y,@P#P?C_/Y__________/!X/R>9_'P? X'C/!____Y__G^ XM(\?X^(\#B>,XS@>(^/\>)X_G.$XCB,1XGF. XSC.<XSC.8\_G_Y^?__G__C_ XM__'__$__C_C_'C_#____________Y___________'^?X^(P!C_GXCX^<XCQ\ XMB>/@$ >/X\<<_R?C^/@/____^<^/__________P\ X\ ^3),!\3\_G_/Y_ XM_______GR?CXCB/Q\_@.9XSB/___\__\_B.3^/B/,XCC^/YGB/C_'@^/XCA. XM(XC$>(YS@.,XSG/!\'\?/\_^?#__X__X___Q__Q/_X____X_X___________ XM_^?__________Q_G^/ < >?Y^(^/G.(\?(G!P# 'C^/''___________X#"' XM___\_______\/ ./ , 0? ?$^?Q_QX'Y______YXCX^(XCX?/X_\^,XCX_ XMC^?__G_G.?CXCC.,8_C\9XCX_QX?C^(X#B.(Q'B./^/C/!X#P_!_'S_/_G@? XM_^/ ^#^#P?#P'X.!\/X> ^/",!^/ _ X'@< P# $8P! & \?Y_CR/ '/^?@/ XM!X#B/C^/@. 0!X_CQQ___________^ R)____G_______!P #CYGR<'X/P? XM_\?\?#^?_____\^(^/^/Q\'P^#_/P>(^/X_/P#\_SR#P>(X_C&#X/'^(^/\> XM#X_B. XCB,1XG@_CXSP> ^/X_C\_Y_YR3___Q'B? Y'B?'\CB/C_'@_CX!B/ XM)XGF/ SGQ^(XS&/!XCD?'^?X__P! 'GX#P> XCX_CX# , >/X\<?________ XM___(DR?__\ ?______P< X^9\G@_S^/__'_' /G______/B/C_GX^1\G@? XMS^'B/___G___GX\(\'@>/XQ@^#Q_@/C_'@^/XCD.(X'$>#\'X^,\'@/C^/X_ XM/^?^?G____QXCC\1QCQ^(XCX_QX?X^ 8CB.(QCQ\?\?B.,QCP_,_'#_G_#_\ XM <_Y^ \'G.(^?X^ X! 'C^/''___________R)(G___^?______\/ ./__ XM)^'X/ ?_Q_Q\/ /_X#__GXCX_S_GD?XXCX_ \#___\___S^/"/!XSC^,8/@\ XM XCX_QX/C^ Y#B./Q'@_P^/C/AXCX_C^/S_S_GY____P>(X_$< \?B.(^/\> XM#^/@&(XCB,8\?@_'XCP< ^/P?C\?Y_C__ 'GX'B/!__B/G^/P< P!X_CQQ__ XM_________\B0A____/______^#P #___ 'A^!D/_\?\>!^?_____Y^(^/Y^ XM(P#^.(^/F/@____GP#Y_CR#P>,8SC&/X_$>(^/\>!X_@.8XCC\1X'^/CXSX^ XM(^'X_'\_\_Y^?___X'B./Q''_'XCB/C_'@_CX!B.(XC&/'\'Q.(\' /C^/X_ XM'^?X__P!__#XCF.<XCS_C^/@$ >/X\<?___________(F<____________@\ XM ___Y/ ? 1'__G_/Y_G^?__G\_R?C\SB/QXCB/CYCF/___\__\__\_YCC' XM,XCC^/Y'B/CX'@>/X#F.(X_ >!YSX^,^/B/!^/Q_/_G^?G___\0XCC\1Q_Q^ XM(XCX_QX'X^,8CB.(QCQ\X\3B/!P#X?S\?Q_G^/_\ ?_Y^(YC@.(\SX_CP# ' XMC^/''___________X#G/___________X/ ./_^3P'P$1__\_G__Y_#__P_ XM/\'X^ YG\>)X'X^9X'X_C_G_^?^/F>8XQP>)XSC^!XCX^!XCC.<YSB./P'B& XM(^/P?CYSF/CXSS_Y_GY____$.)\3D>,\?R.(^/\>!^/C&(\GB>8\?'/$XCX\ XM \CY_$\?Y_C__ '_^?P< 8# & \'P> 0!X_CQQ___________^ \'_______ XM____^ P #C__D^#YCD/__GS____P__\/G_CX#@/#^#P_#^/P_#^/X______ XMC\/ $ ^/ \ P?P< <'P\ 0#"$,\'!^ P1@?!^/X^<P!P> \'_/!^? '_X#@_ XMA\#P>#^# '!_' '!P! 'CX/P.#P'X? ?/&, >?@/@^?!__P!____________ XM___ , >/X\<?___________________________\ _____Y__\9_______ XM_^/__G_____________________/________________________________ XM___\/_____________________P!____________X____Q________^/_C__ XM__________G________\ ?______________X! 'C^/''_______________ XM____^ _______ /__________________G________________________ XMG___________________________________________________________ XM_____________B/___@?________C_X____________C_________ '_____ XM_________\ P!X_CP!____________________________P #__________ XM________S___________________________________________________ XM______________________________________________\'___X/_______ XM_P?\/___________X_________P!_______________@$ >/X\ ?________ XM___________________\ _____________________________________ XM____________________________________________________________ XM___________________________________________________________\ X! ?__ X Xend END_OF_FILE # end of 'font-16/Ucmr10x16bI' fi if test -f 'font-16/Ucmr10x16bu' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'font-16/Ucmr10x16bu'\" else echo shar: Extracting \"'font-16/Ucmr10x16bu'\" \(3571 characters\) sed "s/^X//" >'font-16/Ucmr10x16bu' <<'END_OF_FILE' Xbegin 644 cmr10x16bu.fnt XM%@H0!8 _S_AP'#_@ XM & , XM XM #_O\& ^!P?S_G\=P^'^_X XM<!P_X<!P V =P /@< #\ !P ;'\<P<!P!@P XM#!P' \#P!@_!X?P^!P #X </X'S\/\_P^/^/@?/^^!C/>/C^'P_ XM_'\_[_O>_[_G\/A@#X& P #P '@ !X #P!P#CP XM !\&#X _YS!@=P<'\=QS/^'#_/^' <..' <#X-@ '< &,' XM _ </\&S?/\/@< P& P^'P-AF X/@_'X<P^ & 8! XMW#@'!W#\=AS',?AW!P#AV' 8Q['<=SN'89Q_',<QC',<QG# 8 &!@ 8 < XM X [ < < X< \ & X!@'!W/^< 8'<'!C'<.# XM=AP?[_AP'#CC -@<!P?P !C!P / '#_!LVS^#L# 8 P& XM 8-@<'<=P.# ?QF',=P # # =QL!P=PS'<<!P&8=P< X?!P'<>Q XMW'<[AW&,?QS',8P^#X#@P# !@\ ' ' . .P ' ' ' XM !@ . 8!P_C_A@&!W!P8QW#@W8^/\_X<!PXX '\]X XM # #P !P_S_O@_@[!@. .'X& &'<'!W'<'@P' #!S'<' XM<!@ 8 8Q@<'<<QSG <#F'<' .'@<!W'\=QW.X=QP!P<P^'\/ ^ X, P 8?@ XM !P_!\!\/@\/X'Q^#P'A_!P]S^!P_ _'X?C_/\_[G/^_Y_#@& <-P_XP!@?P XM^'\=P<!P?Q_O^' <.. !_-V 8 ^ <&8-CX'P/@ XM #@#@\!@ #!W!P!P.#X/!\ P/AW!P' P/\# ,-\/AW' <Y\'PX!W!P#A XM\' =Q_'<=SN'8? <',/A_!P' <# & &-L .X=@_&X=@X#<=P< X? <'^=P XMV'89P_,8.!W',YP^'<;@X!@' /^_X8'\/A_'<' <'\_S_AP'#C@ XM W;-@ #_@ /@ '!F#8? ,!P X X_P8 P=P< 8'!N#8?@ XM,!X=P 8 8'#W#X?AP'.?!\. ?P< X?!P'<;QW'X[A\#X'!S#X?P<!P' XMP!@!@8 .'<<#N.<.!W'<' .'@'!_G<=QW.<.#@#@=QS.</ S X\ 8 \ # XM_C &!_#X8QW!@'!_'^_X<!PXX -VW8 !@ #P !P XMV!X'P_@ . .#P_P '\ 8'<' , 8;@''<' _#\ # ,!P]P^',<!SGP?# XM_'<' .'P<!_&\=QP.X? /!P<P>'<' <!P, , 8& /AW' [C_#@=QW!P#A XM\!P?YW'<=SG#@? X'</C_!P/@<#@& < _X8'X=P^ =P8!P/C_/^' <.. XM #=O> P !\ _X>!^;P #@#A^!@ &!W!P&! XMW/\!QW!P9P? 8/\& <-\/ASG,<YP' [AW!P#A^' ?QG'<<#N'X!P<','! XMW!X' X# # &!@ 'X=QP.XX X'<=P< X? <'^=QW'<YPX#X.QW#X_P<!P' XMX!@' /^ \'<9QC'<, <!P?[_AP'#C@ W9C ? XM &P_@_NX 8 P& 8!@ 8# -@<#,=P.'<=P<&<9P # # # &<<X XMS'<<!P&X=P<'X?AP'\9QW' _A^&,'!S!P=P^!P. P 8!@8 #O'<<#N. .! XMW'<' .'X'!SG<=QW.<.#'#L=P^/\'@,#@. 8!P #_@ &!W&<?QW#,' </\_X XM<!PXX '\8P 'P !P !L/X/[N # 8 & \ / XMP#X'!_&8#AV'X'!F'X' < 8 !@!P9AG'./AV',<!^'<'!^'<<QC&,=QP/X=Y XMW!P/@<&,9P<',, & 8& [QV#L;AS#@-QW!P#A^!P<YW#8=AG#@XP['<'# XM_#<& [#@& < _[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^ #_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_@ _[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_@ '^_X<!PXX XM !_ 8 XM8 XM =P ?@ < ' < _X XM #_/^' </^ XM , XM #X 'P XM /@#P ' /^ ?[_AP'#_@ XM XM XM # X!_@ X Xend END_OF_FILE # end of 'font-16/Ucmr10x16bu' fi if test -f 'font-32/Ucmr10x16b' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'font-32/Ucmr10x16b'\" else echo shar: Extracting \"'font-32/Ucmr10x16b'\" \(3570 characters\) sed "s/^X//" >'font-32/Ucmr10x16b' <<'END_OF_FILE' Xbegin 644 cmr10x16b.fnt XM& H0!8 _S_AP'#_@ XM & , XM XM #_O\& ^!P?S_G\=P^'^_X XM<!P_X<!P V =P /@< #\ !P ;'\<P<!P!@P XM#!P' \#P!@_!X?P^!P #X </X'S\/\_P^/^/@?/^^!C/>/C^'P_ XM_'\_[_O>_[_G\/A@#X& P #P '@ !X #P!P#CP XM !\&#X _YS!@=P<'\=QS/^'#_/^' <..' <#X-@ '< &,' XM _ </\&S?/\/@< P& P^'P-AF X/@_'X<P^ & 8! XMW#@'!W#\=AS',?AW!P#AV' 8Q['<=SN'89Q_',<QC',<QG# 8 &!@ 8 < XM X [ < < X< \ & X!@'!W/^< 8'<'!C'<.# XM=AP?[_AP'#CC -@<!P?P !C!P / '#_!LVS^#L# 8 P& XM 8-@<'<=P.# ?QF',=P # # =QL!P=PS'<<!P&8=P< X?!P'<>Q XMW'<[AW&,?QS',8P^#X#@P# !@\ ' ' . .P ' ' ' XM !@ . 8!P_C_A@&!W!P8QW#@W8^/\_X<!PXX '\]X XM # #P !P_S_O@_@[!@. .'X& &'<'!W'<'@P' #!S'<' XM<!@ 8 8Q@<'<<QSG <#F'<' .'@<!W'\=QW.X=QP!P<P^'\/ ^ X, P 8?@ XM !P_!\!\/@\/X'Q^#P'A_!P]S^!P_ _'X?C_/\_[G/^_Y_#@& <-P_XP!@?P XM^'\=P<!P?Q_O^' <.. !_-V 8 ^ <&8-CX'P/@ XM #@#@\!@ #!W!P!P.#X/!\ P/AW!P' P/\# ,-\/AW' <Y\'PX!W!P#A XM\' =Q_'<=SN'8? <',/A_!P' <# & &-L .X=@_&X=@X#<=P< X? <'^=P XMV'89P_,8.!W',YP^'<;@X!@' /^_X8'\/A_'<' <'\_S_AP'#C@ XM W;-@ #_@ /@ '!F#8? ,!P X X_P8 P=P< 8'!N#8?@ XM,!X=P 8 8'#W#X?AP'.?!\. ?P< X?!P'<;QW'X[A\#X'!S#X?P<!P' XMP!@!@8 .'<<#N.<.!W'<' .'@'!_G<=QW.<.#@#@=QS.</ S X\ 8 \ # XM_C &!_#X8QW!@'!_'^_X<!PXX -VW8 !@ #P !P XMV!X'P_@ . .#P_P '\ 8'<' , 8;@''<' _#\ # ,!P]P^',<!SGP?# XM_'<' .'P<!_&\=QP.X? /!P<P>'<' <!P, , 8& /AW' [C_#@=QW!P#A XM\!P?YW'<=SG#@? X'</C_!P/@<#@& < _X8'X=P^ =P8!P/C_/^' <.. XM #=O> P !\ _X>!^;P #@#A^!@ &!W!P&! XMW/\!QW!P9P? 8/\& <-\/ASG,<YP' [AW!P#A^' ?QG'<<#N'X!P<','! XMW!X' X# # &!@ 'X=QP.XX X'<=P< X? <'^=QW'<YPX#X.QW#X_P<!P' XMX!@' /^ \'<9QC'<, <!P?[_AP'#C@ W9C ? XM &P_@_NX 8 P& 8!@ 8# -@<#,=P.'<=P<&<9P # # # &<<X XMS'<<!P&X=P<'X?AP'\9QW' _A^&,'!S!P=P^!P. P 8!@8 #O'<<#N. .! XMW'<' .'X'!SG<=QW.<.#'#L=P^/\'@,#@. 8!P #_@ &!W&<?QW#,' </\_X XM<!PXX '\8P 'P !P !L/X/[N # 8 & \ / XMP#X'!_&8#AV'X'!F'X' < 8 !@!P9AG'./AV',<!^'<'!^'<<QC&,=QP/X=Y XMW!P/@<&,9P<',, & 8& [QV#L;AS#@-QW!P#A^!P<YW#8=AG#@XP['<'# XM_#<& [#@& < _X !@/C_G\_Y_#X/A_O^' <.. !_#X XM !_ < ;!\&<;P 8, / #P8 <'\?P\!\/ \!P/ \!P' XM<#P_[_!P_#_/@/C_CX/#_O\][S#X^!_/N?@^!P'!C/^/A_#X P^!@_X '\? XM>#\/A\!\_X^ X_X^/^_X<'P/Q\/X'@_@PYS_A@?P?!@^ /^ XM _S_AP'#C@ & #F XM !P 8 P XM #P /^ ' . !P < XM 8 #_@ '^_X<!PXX XM !_ 8 XM8 XM =P ?@ < ' < _X XM #_/^' </^ XM , XM #X 'P XM /@#P ' /^ ?[_AP'#_@ XM XM XM # X!_@ X Xend END_OF_FILE # end of 'font-32/Ucmr10x16b' fi if test -f 'font-32/Ucmr10x16bI' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'font-32/Ucmr10x16bI'\" else echo shar: Extracting \"'font-32/Ucmr10x16bI'\" \(3571 characters\) sed "s/^X//" >'font-32/Ucmr10x16bI' <<'END_OF_FILE' Xbegin 644 cmr10x16bI.fnt XM& H0!8 _______________ , >/X\ ?___________________________\ XM _____Y_____________________S_____________________________ XM____________________________________________________________ XM_______________________________________\ 0#Y_!^/@, 8#B/!X! ' XMC^/ 'C^/__)__B/___P?C__________\# ./__DX#C/C^/^?/_________ XM\^/X_#\/^? ^'@/!^/________\'__CP'X,#P# /!P!P?@P!!^<PAP<!X/ _ XM X# $ 0A $ 8#P>?\'Y___/_\/__X?_^'_\/^/\</___________________ XM______^#Y\'__ &,^?B/CX#B.,P!X\ P!X_CQQX_C\'R?_XC___YSX______ XM_____ P #CP#Y,@P#P?C_/Y__________/!X/R>9_'P? X'C/!____Y__G^ XM(\?X^(\#B>,XS@>(^/\>)X_G.$XCB,1XGF. XSC.<XSC.8\_G_Y^?__G__C_ XM__'__$__C_C_'C_#____________Y___________'^?X^(P!C_GXCX^<XCQ\ XMB>/@$ >/X\<<_R?C^/@/____^<^/__________P\ X\ ^3),!\3\_G_/Y_ XM_______GR?CXCB/Q\_@.9XSB/___\__\_B.3^/B/,XCC^/YGB/C_'@^/XCA. XM(XC$>(YS@.,XSG/!\'\?/\_^?#__X__X___Q__Q/_X____X_X___________ XM_^?__________Q_G^/ < >?Y^(^/G.(\?(G!P# 'C^/''___________X#"' XM___\_______\/ ./ , 0? ?$^?Q_QX'Y______YXCX^(XCX?/X_\^,XCX_ XMC^?__G_G.?CXCC.,8_C\9XCX_QX?C^(X#B.(Q'B./^/C/!X#P_!_'S_/_G@? XM_^/ ^#^#P?#P'X.!\/X> ^/",!^/ _ X'@< P# $8P! & \?Y_CR/ '/^?@/ XM!X#B/C^/@. 0!X_CQQ___________^ R)____G_______!P #CYGR<'X/P? XM_\?\?#^?_____\^(^/^/Q\'P^#_/P>(^/X_/P#\_SR#P>(X_C&#X/'^(^/\> XM#X_B. XCB,1XG@_CXSP> ^/X_C\_Y_YR3___Q'B? Y'B?'\CB/C_'@_CX!B/ XM)XGF/ SGQ^(XS&/!XCD?'^?X__P! 'GX#P> XCX_CX# , >/X\<?________ XM___(DR?__\ ?______P< X^9\G@_S^/__'_' /G______/B/C_GX^1\G@? XMS^'B/___G___GX\(\'@>/XQ@^#Q_@/C_'@^/XCD.(X'$>#\'X^,\'@/C^/X_ XM/^?^?G____QXCC\1QCQ^(XCX_QX?X^ 8CB.(QCQ\?\?B.,QCP_,_'#_G_#_\ XM <_Y^ \'G.(^?X^ X! 'C^/''___________R)(G___^?______\/ ./__ XM)^'X/ ?_Q_Q\/ /_X#__GXCX_S_GD?XXCX_ \#___\___S^/"/!XSC^,8/@\ XM XCX_QX/C^ Y#B./Q'@_P^/C/AXCX_C^/S_S_GY____P>(X_$< \?B.(^/\> XM#^/@&(XCB,8\?@_'XCP< ^/P?C\?Y_C__ 'GX'B/!__B/G^/P< P!X_CQQ__ XM_________\B0A____/______^#P #___ 'A^!D/_\?\>!^?_____Y^(^/Y^ XM(P#^.(^/F/@____GP#Y_CR#P>,8SC&/X_$>(^/\>!X_@.8XCC\1X'^/CXSX^ XM(^'X_'\_\_Y^?___X'B./Q''_'XCB/C_'@_CX!B.(XC&/'\'Q.(\' /C^/X_ XM'^?X__P!__#XCF.<XCS_C^/@$ >/X\<?___________(F<____________@\ XM ___Y/ ? 1'__G_/Y_G^?__G\_R?C\SB/QXCB/CYCF/___\__\__\_YCC' XM,XCC^/Y'B/CX'@>/X#F.(X_ >!YSX^,^/B/!^/Q_/_G^?G___\0XCC\1Q_Q^ XM(XCX_QX'X^,8CB.(QCQ\X\3B/!P#X?S\?Q_G^/_\ ?_Y^(YC@.(\SX_CP# ' XMC^/''___________X#G/___________X/ ./_^3P'P$1__\_G__Y_#__P_ XM/\'X^ YG\>)X'X^9X'X_C_G_^?^/F>8XQP>)XSC^!XCX^!XCC.<YSB./P'B& XM(^/P?CYSF/CXSS_Y_GY____$.)\3D>,\?R.(^/\>!^/C&(\GB>8\?'/$XCX\ XM \CY_$\?Y_C__ '_^?P< 8# & \'P> 0!X_CQQ___________^ \'_______ XM____^ P #C__D^#YCD/__GS____P__\/G_CX#@/#^#P_#^/P_#^/X______ XMC\/ $ ^/ \ P?P< <'P\ 0#"$,\'!^ P1@?!^/X^<P!P> \'_/!^? '_X#@_ XMA\#P>#^# '!_' '!P! 'CX/P.#P'X? ?/&, >?@/@^?!__P!____________ XM___ , >/X\<?___________________________\ _____Y__\9_______ XM_^/__G_____________________/________________________________ XM___\/_____________________P!____________X____Q________^/_C__ XM__________G________\ ?______________X! 'C^/''_______________ XM____^ _______ /__________________G________________________ XMG___________________________________________________________ XM_____________B/___@?________C_X____________C_________ '_____ XM_________\ P!X_CP!____________________________P #__________ XM________S___________________________________________________ XM______________________________________________\'___X/_______ XM_P?\/___________X_________P!_______________@$ >/X\ ?________ XM___________________\ _____________________________________ XM____________________________________________________________ XM___________________________________________________________\ X! ?__ X Xend END_OF_FILE # end of 'font-32/Ucmr10x16bI' fi if test -f 'font-32/Ucmr10x16bu' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'font-32/Ucmr10x16bu'\" else echo shar: Extracting \"'font-32/Ucmr10x16bu'\" \(3571 characters\) sed "s/^X//" >'font-32/Ucmr10x16bu' <<'END_OF_FILE' Xbegin 644 cmr10x16bu.fnt XM& H0!8 _S_AP'#_@ XM & , XM XM #_O\& ^!P?S_G\=P^'^_X XM<!P_X<!P V =P /@< #\ !P ;'\<P<!P!@P XM#!P' \#P!@_!X?P^!P #X </X'S\/\_P^/^/@?/^^!C/>/C^'P_ XM_'\_[_O>_[_G\/A@#X& P #P '@ !X #P!P#CP XM !\&#X _YS!@=P<'\=QS/^'#_/^' <..' <#X-@ '< &,' XM _ </\&S?/\/@< P& P^'P-AF X/@_'X<P^ & 8! XMW#@'!W#\=AS',?AW!P#AV' 8Q['<=SN'89Q_',<QC',<QG# 8 &!@ 8 < XM X [ < < X< \ & X!@'!W/^< 8'<'!C'<.# XM=AP?[_AP'#CC -@<!P?P !C!P / '#_!LVS^#L# 8 P& XM 8-@<'<=P.# ?QF',=P # # =QL!P=PS'<<!P&8=P< X?!P'<>Q XMW'<[AW&,?QS',8P^#X#@P# !@\ ' ' . .P ' ' ' XM !@ . 8!P_C_A@&!W!P8QW#@W8^/\_X<!PXX '\]X XM # #P !P_S_O@_@[!@. .'X& &'<'!W'<'@P' #!S'<' XM<!@ 8 8Q@<'<<QSG <#F'<' .'@<!W'\=QW.X=QP!P<P^'\/ ^ X, P 8?@ XM !P_!\!\/@\/X'Q^#P'A_!P]S^!P_ _'X?C_/\_[G/^_Y_#@& <-P_XP!@?P XM^'\=P<!P?Q_O^' <.. !_-V 8 ^ <&8-CX'P/@ XM #@#@\!@ #!W!P!P.#X/!\ P/AW!P' P/\# ,-\/AW' <Y\'PX!W!P#A XM\' =Q_'<=SN'8? <',/A_!P' <# & &-L .X=@_&X=@X#<=P< X? <'^=P XMV'89P_,8.!W',YP^'<;@X!@' /^_X8'\/A_'<' <'\_S_AP'#C@ XM W;-@ #_@ /@ '!F#8? ,!P X X_P8 P=P< 8'!N#8?@ XM,!X=P 8 8'#W#X?AP'.?!\. ?P< X?!P'<;QW'X[A\#X'!S#X?P<!P' XMP!@!@8 .'<<#N.<.!W'<' .'@'!_G<=QW.<.#@#@=QS.</ S X\ 8 \ # XM_C &!_#X8QW!@'!_'^_X<!PXX -VW8 !@ #P !P XMV!X'P_@ . .#P_P '\ 8'<' , 8;@''<' _#\ # ,!P]P^',<!SGP?# XM_'<' .'P<!_&\=QP.X? /!P<P>'<' <!P, , 8& /AW' [C_#@=QW!P#A XM\!P?YW'<=SG#@? X'</C_!P/@<#@& < _X8'X=P^ =P8!P/C_/^' <.. XM #=O> P !\ _X>!^;P #@#A^!@ &!W!P&! XMW/\!QW!P9P? 8/\& <-\/ASG,<YP' [AW!P#A^' ?QG'<<#N'X!P<','! XMW!X' X# # &!@ 'X=QP.XX X'<=P< X? <'^=QW'<YPX#X.QW#X_P<!P' XMX!@' /^ \'<9QC'<, <!P?[_AP'#C@ W9C ? XM &P_@_NX 8 P& 8!@ 8# -@<#,=P.'<=P<&<9P # # # &<<X XMS'<<!P&X=P<'X?AP'\9QW' _A^&,'!S!P=P^!P. P 8!@8 #O'<<#N. .! XMW'<' .'X'!SG<=QW.<.#'#L=P^/\'@,#@. 8!P #_@ &!W&<?QW#,' </\_X XM<!PXX '\8P 'P !P !L/X/[N # 8 & \ / XMP#X'!_&8#AV'X'!F'X' < 8 !@!P9AG'./AV',<!^'<'!^'<<QC&,=QP/X=Y XMW!P/@<&,9P<',, & 8& [QV#L;AS#@-QW!P#A^!P<YW#8=AG#@XP['<'# XM_#<& [#@& < _[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^ #_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_@ _[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[_O^_[ XM_O^_[_O^_[_O^_[_O^_[_@ '^_X<!PXX XM !_ 8 XM8 XM =P ?@ < ' < _X XM #_/^' </^ XM , XM #X 'P XM /@#P ' /^ ?[_AP'#_@ XM XM XM # X!_@ X Xend END_OF_FILE # end of 'font-32/Ucmr10x16bu' fi if test -f 'misc/rotate.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'misc/rotate.c'\" else echo shar: Extracting \"'misc/rotate.c'\" \(3729 characters\) sed "s/^X//" >'misc/rotate.c' <<'END_OF_FILE' X/* Copyright (c) 1988 Bellcore X * All Rights Reserved X * Permission is granted to copy or use this program, EXCEPT that it X * may not be sold for profit, the copyright notice must be reproduced X * on copies, and credit should be given to Bellcore where it is due. X * BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. X */ X/* rotate a bitmap 90 deg clockwise (mgr format) */ X X/* $Header: rotate.c,v 4.1 88/08/24 14:39:17 bianchi Exp $ X $Source: /tmp/mgrsrc/misc/RCS/rotate.c,v $ X*/ Xstatic char RCSid_[] = "$Source: /tmp/mgrsrc/misc/RCS/rotate.c,v $$Revision: 4.1 $"; X X#include <stdio.h> X#include "dump.h" X#include "bitmap.h" X X#define MAX 2400 /* max bitmap size */ X X#define GET_OPT(i) \ X strlen(argv[i])>2 ? argv[i]+2 : argv[++i] X Xunsigned char buff[MAX]; /* output row buffer */ X Xmain(argc,argv) Xint argc; Xchar **argv; X { X char *malloc(); X struct b_header b_buff, *head = &b_buff; X int w=0,h=0,d; X int inbytes,outbytes,size; X int reverse = 0; X int x_flag=0; X X register unsigned char *data; X register unsigned char *src; X register int bit,word; X register int col,row; X int ok; X int verbose = 0; X int i; X X /* check arguments */ X X for(i=1;i<argc;i++) { X if (*argv[i] == '-') X switch (argv[i][1]) { X case 'w': /* specify width */ X w = atoi(GET_OPT(i)); X break; X case 'h': /* specify height */ X h = atoi(GET_OPT(i)); X break; X case 'x': /* don't output header */ X x_flag++; X break; X case 'r': /* reverse bits */ X reverse++; X break; X case 'v': /* verbose */ X verbose++; X break; X default: X fprintf(stderr,"%s: invalid flag %c ignored\n",argv[0],argv[i][1]); X } X else X fprintf(stderr,"%s: invalid argument %s ignored\n",argv[0],argv[i]); X } X X X if (w==0 && h==0) { X X /* read in bitmap header */ X X if (!bitmaphead( stdin, &w, &h, &d, &inbytes )) { X fprintf(stderr,"%s: invalid bitmap format \n",*argv); X exit(1); X } X } X X else if (w==0 || h==0) { X fprintf(stderr,"%s: Both -h and -w must be specified\n",*argv); X exit(1); X } X X if (w > MAX) { X fprintf(stderr,"%s: bitmap too big\n",*argv); X exit(1); X } X X size = inbytes * h; /* total bytes in bitmap */ X outbytes = ((h+7)&~7)/8; /* bytes/row (output) */ X X if ((data= (unsigned char *) malloc(size)) == NULL) { X fprintf(stderr,"%s: can't malloc space\n",*argv); X exit(2); X } X X for(ok=1,col=0;ok>0 && col<size;col += (ok=Read(data+col,size-col))) X if (verbose) write(2,">",1); X X /* write new header */ X X if (!x_flag) { X B_PUTHDR8(head,h,w,d); X fwrite(head,sizeof b_buff,1,stdout); X } X X /* rotate and output new bitmap */ X X data += size - inbytes; /* start at end */ X for (col = 0;col< w; col++) { X bit = 0x80 >> (col&0x7); X word = col/8; X if (reverse) X for(src = &buff[outbytes]; src >= buff; src-- ) X *src = ~0; X else X bzero(buff,outbytes); X for(src=data+word,row = 0; row< h; row++,src -= inbytes) X if (*src & bit) X buff[row>>3] ^= 0x80 >> (row&0x7); X fwrite(buff,outbytes,1,stdout); X if (verbose) write(2,">",1); X } X exit(0); X } X X/* do multiple passes for read */ X XRead(buff,count) Xregister char *buff; Xint count; X { X register int sum=0,current=0; X X while((current = fread(buff+sum,1,count-sum,stdin))>0) X sum += current; X return(sum); X } END_OF_FILE # end of 'misc/rotate.c' fi if test -f 'src/data.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/data.c'\" else echo shar: Extracting \"'src/data.c'\" \(3751 characters\) sed "s/^X//" >'src/data.c' <<'END_OF_FILE' X/* Copyright (c) 1987 Bellcore X * All Rights Reserved X * Permission is granted to copy or use this program, EXCEPT that it X * may not be sold for profit, the copyright notice must be reproduced X * on copies, and credit should be given to Bellcore where it is due. X * BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. X */ X/* $Header: data.c,v 4.2 88/07/19 14:15:18 sau Exp $ X $Source: /tmp/mgrsrc/src/RCS/data.c,v $ X*/ Xstatic char RCSid_[] = "$Source: /tmp/mgrsrc/src/RCS/data.c,v $$Revision: 4.2 $"; X X/* static data items for window manager */ X X#include "bitmap.h" X#include "defs.h" X#include "font.h" X X/* bit maps */ X X#include "icons.h" X X/* space to store screen covered by mouse */ X Xstatic char c_save[ BIT_Size(16,16,DEPTH) ]; X X X/* structures for mouse icons */ X Xbit_static(pattern,16,4,pat_data,1); Xbit_static(mouse_arrow,16,32,c_arrow1,1); Xbit_static(mouse_box,16,32,c_box,1); Xbit_static(mouse_cut,16,32,c_cut,1); Xbit_static(mouse_cup,16,32,c_cup,1); Xbit_static(mouse_save,16,16,c_save,DEPTH); Xbit_static(mouse_cross,16,16,c_cross,1); Xbit_static(mouse_bull,8,8,c_bull,1); Xbit_static(mouse_bull2,8,8,c_bull2,1); X X/* menus */ X Xchar *active_menu[] = { /* active-window menu */ X "reshape", X "move", X "bury", X#ifdef CUT X "cut", X "paste", X#endif X "- - - -", X "destroy", X (char *) 0}; X Xchar *main_menu[] = { /* primary menu */ X "new window", X "redraw", X "quit", X (char *) 0}; X Xchar *full_menu[] = { /* primary menu - no more windows allowed */ X "redraw", X "quit", X (char *) 0}; X Xchar *quit_menu[] = { /* to verify quit */ X "cancel", X "suspend", X "- - - -", X "really quit", X (char *) 0}; X X X/* menu functions - these have a 1-1 corrospondance with the menu items */ X Xint new_window(), shape_window(), move_window(), destroy_window(), quit(); Xint redraw(), hide_win(), nothing(); X#ifdef CUT Xint cut(), paste(); X#endif X Xfunction main_functions[] = { X new_window, X redraw, X quit, X (function) 0 }; X Xfunction full_functions[] = { X redraw, X quit, X (function) 0 }; X Xfunction active_functions[] = { X shape_window, X move_window, X hide_win, X#ifdef CUT X cut, X paste, X#endif X nothing, X destroy_window, X (function) 0 }; X X/* default font info */ X Xchar *font_dir = FONTDIR; Xchar *fontlist[MAXFONT]; X X/* default icon info */ Xchar *icon_dir = ICONDIR; X X/* raster of table for inverted screen */ X Xint rev_ops[] = { X 0xf,0x7,0xb,0x3,0xd,0x5,0x9,0x1,0xe,0x6,0xa,0x2,0xc,0x4,0x8,0x0 X }; X XBITMAP *m_rop; /* current mouse bit map */ Xint next_window=0; /* next available window count */ Xstruct font *font; /* default font */ XBITMAP *screen; /* default screen */ XWINDOW *active = (WINDOW *) 0; /* window connected to keyboard */ XWINDOW *last_active = (WINDOW *) 0; /* last window connected to keyboard */ Xint button_state = 0; /* state of the mouse buttons */ Xint mouse, mousex, mousey; /* mouse fd, x-coord, y-coord */ Xint debug = 0; /* ==1 for debug prints */ Xint mouse_on = 0; /* 1 iff mouse track is on */ Xchar *snarf = (char *) 0; /* place to keep snarfed text */ Xchar *message = (char *) 0; /* place to keep message */ Xchar *start_command; /* command for shell at window start */ Xchar *init_command; /* str to send window upon creation */ Xint id_message = 0; /* id of message sender */ Xshort buckey_map = 0; /* mapping from ptty to buckey key */ Xunsigned int init_flags = INIT_FLAGS; /* initial flags for new windows */ Xint mask = 0; /* process mask for select */ Xint poll = 0; /* processes with non-processed but X * already read data */ X#ifdef DEBUG Xchar debug_level[] = " "; /* debug flags */ X#endif X X/* aarg! */ X Xnothing() {} END_OF_FILE # end of 'src/data.c' fi if test -f 'src/event.h' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/event.h'\" else echo shar: Extracting \"'src/event.h'\" \(3647 characters\) sed "s/^X//" >'src/event.h' <<'END_OF_FILE' X/* Copyright (c) 1987 Bellcore X * All Rights Reserved X * Permission is granted to copy or use this program, EXCEPT that it X * may not be sold for profit, the copyright notice must be reproduced X * on copies, and credit should be given to Bellcore where it is due. X * BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. X */ X/* $Header: event.h,v 4.1 88/06/21 13:21:58 bianchi Exp $ X $Source: /tmp/mgrsrc/src/RCS/event.h,v $ X*/ Xstatic char h_event_[] = "$Source: /tmp/mgrsrc/src/RCS/event.h,v $$Revision: 4.1 $"; X X/* event codings for mgr */ X X#define EVENT_B1_DOWN 1 /* right button down */ X#define EVENT_B2_DOWN 2 /* middle button down */ X#define EVENT_BSYS_DOWN 4 /* left (system) button down */ X#define EVENT_B1_UP -1 /* right button going up */ X#define EVENT_B2_UP -2 /* middle button going up */ X#define EVENT_BSYS_UP -4 /* left (system) button up */ X#define EVENT_SHAPE 5 /* window reshaped */ X#define EVENT_REDRAW 6 /* screen redraw */ X#define EVENT_ACTIVATED 7 /* window made active window */ X#define EVENT_DEACTIVATED 8 /* window no longer active */ X#define EVENT_COVERED 9 /* window is partly obscured */ X#define EVENT_UNCOVERED 10 /* window is un-obscured */ X#define EVENT_MOVE 11 /* window was moved */ X#define EVENT_DESTROY 12 /* client window destroyed */ X#define EVENT_ACCEPT 13 /* messages accepted */ X#define EVENT_NOTIFY 14 /* set window name */ X#define EVENT_TELLME 15 /* unused */ X#define EVENT_SNARFED 16 /* a snarf happened */ X#define EVENT_PASTE 17 /* a paste happened */ X X#define MIN_EVENT -4 X#define MAX_EVENT 17 X/* NOTE, MAXEVENTS in defines.h must be kept consistent with these values. X*/ X X/* Check if the given event number is legal, return TRUE if it is. X*/ X#define CHK_EVENT(event) (MIN_EVENT <= (event) && (event) <= MAX_EVENT) X X/* event stack control flags */ X X#define EVENT_STACK 18 /* stack events */ X#define EVENT_STFLAG 19 /* events stacked somewhere */ X X/* button event control chars */ X X#define E_ESC '%' /* escape char */ X#define E_POS 'p' /* return mouse position */ X#define E_CPOS 'P' /* mouse position (cols/rows)*/ X#define E_SWRECT 'r' /* sweep out a rectangle */ X#define E_SWRECTA 'R' /* " in screen coords */ X#define E_SWBOX 'b' /* sweep out a box */ X#define E_SWBOXA 'B' /* " in screen coords */ X#define E_SWLINE 'l' /* sweep out a line */ X#define E_SWTEXT 't' /* sweep out text */ X#define E_SWTEXTT 'T' /* " text region only */ X#define E_NOTIFY 'n' /* get applic. notification */ X#define E_WHO 'w' /* get applic. id */ X#define E_WHOSIZE 'S' /* get applic. size */ X#define E_FROM 'f' /* who is message from */ X#define E_MESS 'm' /* message sent */ X#define E_MSGSIZE 's' /* size of message sent */ X#define E_SNARFSIZE 'c' /* size of cut buffer */ X#define E_SNARFBUF 'C' /* content of cut buffer */ X X#define E_LIST_BUTTON "%pPrRbBlTtnwS" /* valid esc's for buttons */ X#define E_LIST_ACCEPT "%pPfms" /* valid esc's for notify */ X#define E_LIST_SNARF "%cCf" /* valid esc's for snarf */ X#define E_LIST_PASTE "%c" /* valid esc's for snarf */ X X#define E_MAIN 0 /* in main window */ X#define E_STACK 1 /* on window stack */ X X/* other event macros */ X X/* convert event number to index into event array */ X#define GET_EVENT(event) ((event)-(MIN_EVENT)) X X#define EVENT_SET_MASK(win,event) \ X ((win->event_mask) |= (1L<<GET_EVENT(event))) X#define EVENT_CLEAR_MASK(win,event) \ X ((win->event_mask) &= ~(1L<<GET_EVENT(event))) X#define IS_EVENT(win,event) \ X ((win->event_mask) & (1L<<GET_EVENT(event))) END_OF_FILE # end of 'src/event.h' fi if test -f 'src/kbd.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/kbd.c'\" else echo shar: Extracting \"'src/kbd.c'\" \(3690 characters\) sed "s/^X//" >'src/kbd.c' <<'END_OF_FILE' X/* Copyright (c) 1987 Bellcore X * All Rights Reserved X * Permission is granted to copy or use this program, EXCEPT that it X * may not be sold for profit, the copyright notice must be reproduced X * on copies, and credit should be given to Bellcore where it is due. X * BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. X */ X/* $Header: kbd.c,v 4.2 88/07/07 08:59:02 sau Exp $ X $Source: /tmp/mgrsrc/src/RCS/kbd.c,v $ X*/ Xstatic char RCSid_[] = "$Source: /tmp/mgrsrc/src/RCS/kbd.c,v $$Revision: 4.2 $"; X X#include <stdio.h> X#include <sys/signal.h> X#include "bitmap.h" X#include "defs.h" X#ifdef sun X#include <sys/time.h> X#ifdef KBD X# include <sys/types.h> X# include <sundev/kbio.h> X# ifndef TIOCCONS /* definiton moved in rel. 4.0 */ X# include "<sys/termios.h>" X# endif X#endif KBD X#endif X Xstatic int bell_fd; X X/* initialize bell, for Suns */ Xint Xinitbell() X { X#ifdef BELL X int i; X if ( !debug && (i=open("/dev/bell",1))>=0 ) X bell_fd = i; X else X bell_fd = -1; X#endif X } X X X Xstatic int ring = 0; X X/* turn on the bell */ X Xvoid Xbell_on() X { X#ifdef BELL X int bell_off(); X X if( bell_fd >= 0 ) { X if (ring==0) X write( bell_fd, "\002", 1 ); X signal( SIGALRM, bell_off ); X set_timer(15); /* set alarm for 100'th seconds */ X ring++; X return; X } X#endif X/* We are looking for some way to make a noise when ever possible. X This line breaks when the console is redirected to an mgr window and X mgr's stderr (fd 2) is the console. X X write( 2, "\007", 1 ); X*/ X } X X#ifdef BELL X/* turn off the bell */ X Xint Xbell_off(n) Xint n; /* signal #, ignored */ X { X write(bell_fd,"\003",1); /* turns the bell off */ X set_timer(0); /* insure timer is off */ X ring = 0; X } X X X/* reset the keyboard */ X Xint Xkbd_reset() X { X if( bell_fd >= 0 ) X write(bell_fd,"\001",1); /* this resets the kbd and turns bell off */ X set_timer(0); /* insure timer is off */ X ring = 0; X } X X Xint Xset_timer(time) Xint time; /* time in 100'th of seconds */ X { X struct itimerval new,old; X X new.it_interval.tv_sec = 0L; X new.it_interval.tv_usec = 0L; X new.it_value.tv_sec = time/100; X new.it_value.tv_usec = (time%100) * 10000; X X setitimer(ITIMER_REAL,&new,&old); X } X X#endif X X Xstatic int kbd_fd = -1; X X/* initialize the keyboard, especially when it is a separate device */ X Xinitkbd() X{ X#ifdef KBD X int fd; X X if ((fd = set_kbd(1)) > 0) { X kbd_fd = 0; X close(kbd_fd); X dup(fd); X close(fd); X } X else if( fd == 0 ) X return; X else { X if( debug ) X fprintf(stderr,"Can't find keyboard, using stdin\n"); X kbd_fd = -1; X } X#endif X} X X/* set/reset direct mode X When setting direct mode, returns file descriptor of keyboard */ X Xint Xset_kbd(how) Xint how; /* 1=direct, 0=no direct */ X { X int one = 1; X int zero = 0; X int cons; X X#ifdef KBD X#ifndef KBD_CMD_RESET X#define KBD_CMD_RESET 0x01 /* Should be in a header file, but .. */ X#endif X if (how == 0) { /* make sure kbd is released */ X if (kbd_fd == -1) X return(-1); X ioctl(kbd_fd, KIOCSDIRECT, &zero); /* turn off direct mode */ X ioctl(kbd_fd, KIOCCMD, KBD_CMD_RESET); /* reset the keyboard */ X close(kbd_fd); /* close the keyboard */ X cons = open("/dev/console", 0); /* put console messages back */ X ioctl(cons, TIOCCONS, &one); X close(cons); X return(0); X } X else { /* open the kbd for input */ X kbd_fd = open("/dev/kbd", 0); X ioctl(kbd_fd, KIOCSDIRECT, &one); /* turn on direct mode */ X ioctl(kbd_fd, KIOCCMD, KBD_CMD_RESET); /* reset the keyboard */ X } X#endif X return(kbd_fd); X } END_OF_FILE # end of 'src/kbd.c' fi echo shar: End of archive 18 \(of 61\). cp /dev/null ark18isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \ 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 \ 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 \ 55 56 57 58 59 60 61 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 61 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 -- Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.