home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume17 / mgr / part22 < prev    next >
Encoding:
Internet Message Format  |  1989-01-19  |  46.4 KB

  1. Subject:  v17i023:  MGR, Bellcore window manager, Part22/61
  2. Newsgroups: comp.sources.unix
  3. Approved: rsalz@uunet.UU.NET
  4.  
  5. Submitted-by: Stephen A. Uhler <sau@bellcore.com>
  6. Posting-number: Volume 17, Issue 23
  7. Archive-name: mgr/part22
  8.  
  9.  
  10.  
  11.  
  12. #! /bin/sh
  13. # This is a shell archive.  Remove anything before this line, then unpack
  14. # it by saving it into a file and typing "sh file".  To overwrite existing
  15. # files, type "sh file -c".  You can also feed this as standard input via
  16. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  17. # will see the following message at the end:
  18. #        "End of archive 22 (of 61)."
  19. # Contents:  demo/misc/mgrmsgs.c demo/msg/menus.c font-16/Ugal12x20b
  20. #   font-16/Ugal12x20r font-16/Ugal12x20rI font-16/Ugal12x20ru
  21. #   font-32/Ugal12x20rI font-32/Ugal12x20ru
  22. # Wrapped by rsalz@papaya.bbn.com on Thu Nov 17 21:05:26 1988
  23. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  24. if test -f 'demo/misc/mgrmsgs.c' -a "${1}" != "-c" ; then 
  25.   echo shar: Will not clobber existing file \"'demo/misc/mgrmsgs.c'\"
  26. else
  27. echo shar: Extracting \"'demo/misc/mgrmsgs.c'\" \(5358 characters\)
  28. sed "s/^X//" >'demo/misc/mgrmsgs.c' <<'END_OF_FILE'
  29. X/*                        Copyright (c) 1987 Bellcore
  30. X *                            All Rights Reserved
  31. X *       Permission is granted to copy or use this program, EXCEPT that it
  32. X *       may not be sold for profit, the copyright notice must be reproduced
  33. X *       on copies, and credit should be given to Bellcore where it is due.
  34. X *       BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM.
  35. X */
  36. X/*    $Header: mgrmsgs.c,v 4.2 88/06/22 14:37:53 bianchi Exp $
  37. X    $Source: /tmp/mgrsrc/demo/misc/RCS/mgrmsgs.c,v $
  38. X*/
  39. Xstatic char    RCSid_[] = "$Source: /tmp/mgrsrc/demo/misc/RCS/mgrmsgs.c,v $$Revision: 4.2 $";
  40. X
  41. X/* check for new messages */
  42. X
  43. X#include <stdio.h>
  44. X#include <signal.h>
  45. X#include <sgtty.h>
  46. X#include "term.h"
  47. X
  48. X#define Isflag(arg,flag)    (!strncmp(arg,flag,strlen(flag)))
  49. X#define Max(x,y)        ((x)>(y)?(x):(y))
  50. X#define MENU_COUNT    (sizeof(menu)/sizeof(struct menu_entry))
  51. X#define SCMP(x,y)    (strcmp(x+(strlen(x)-strlen(y)),y)==0)
  52. X
  53. X#define RESUME    "Resume\n"
  54. X#define MSGSCMD    "msgs -p;echo -n Done?\ "
  55. X#define BOUNDS    "/usr/msgs/bounds"
  56. X#define RC    ".msgsrc"
  57. X#define POLL     60                /* polling interval */
  58. X#define XPOS    220                /* start of msgs window */
  59. X#define YPOS    170                /* start of msgs window */
  60. X
  61. X
  62. X#define MSGS()    (1 + get_bounds(bounds) - get_rc(rc))
  63. X
  64. XFILE *bounds, *rc;
  65. Xint msg_cnt, old_msg_cnt;
  66. Xchar line[100];
  67. Xint poll=POLL;
  68. X
  69. Xstruct menu_entry menu[] = {
  70. X   "yes",    "y\r",
  71. X   "skip",   "n\r",
  72. X   "again",  "-\r",
  73. X   "save",   "s\r",
  74. X   "quit",   "q\r",
  75. X   };
  76. X
  77. Xmain(argc,argv)
  78. Xint argc;
  79. Xchar **argv;
  80. X   {
  81. X   register int i;
  82. X   int xpos = XPOS;
  83. X   int ypos = YPOS;
  84. X   int font = -1;
  85. X   int shape = 1;
  86. X
  87. X   char *getenv();
  88. X   char *home = getenv("HOME");
  89. X   int clean(), update();
  90. X
  91. X   /* make sure we have a valid environment to run in */
  92. X
  93. X   ckmgrterm( *argv );
  94. X
  95. X   if (home==NULL || *home=='\0') {
  96. X      fprintf(stderr,"%s: Can't find your home directory\n",argv[0]);
  97. X      exit(1);
  98. X      }
  99. X
  100. X   if ((bounds = fopen(BOUNDS,"r")) == NULL) {
  101. X      fprintf(stderr,"%s: Can't find a bounds file\n",argv[0]);
  102. X      exit(2);
  103. X      }
  104. X
  105. X   sprintf(line,"%s/%s",home,RC);
  106. X   
  107. X   if ((rc = fopen(line,"r")) == NULL) {
  108. X      fprintf(stderr,"%s: Can't find %s\n",argv[0],line);
  109. X      exit(3);
  110. X      }
  111. X
  112. X   /* process arguments */
  113. X
  114. X   for(i=1;i<argc;i++) {
  115. X      if (Isflag(argv[i],"-s"))
  116. X         shape = 0;
  117. X      else if (Isflag(argv[i],"-x"))
  118. X         xpos = atoi(argv[i]+2);
  119. X      else if (Isflag(argv[i],"-y"))
  120. X         ypos = atoi(argv[i]+2);
  121. X      else if (Isflag(argv[i],"-f"))
  122. X         font = atoi(argv[i]+2);
  123. X      else if (Isflag(argv[i],"-p"))
  124. X         poll  = Max(atoi(argv[i]+2),10);
  125. X      else
  126. X         usage(argv[0],argv[i]);
  127. X      }
  128. X
  129. X   /* setup mgr stuff */
  130. X
  131. X   m_setup(M_FLUSH);
  132. X   m_push(P_MENU|P_EVENT|P_FLAGS);
  133. X   m_setmode(M_NOWRAP);
  134. X   m_ttyset();
  135. X
  136. X   signal(SIGTERM,clean);
  137. X   signal(SIGINT,clean);
  138. X   signal(SIGALRM,update);
  139. X
  140. X   menu_load(1,MENU_COUNT,menu);
  141. X   m_selectmenu(1);
  142. X
  143. X   old_msg_cnt = MSGS();
  144. X   get_msg(line,old_msg_cnt);
  145. X   if (shape) {
  146. X      m_setmode(M_ACTIVATE);
  147. X      m_size(strlen(line)+2,1);
  148. X      }
  149. X   m_printstr(line);
  150. X   m_setevent(REDRAW,"R\r");
  151. X   m_setevent(ACTIVATED,"A\r");
  152. X   m_clearmode(M_ACTIVATE);
  153. X   alarm(poll);
  154. X
  155. X   while(1) {
  156. X      char buff[80];
  157. X      m_gets(buff);
  158. X      alarm(0);
  159. X
  160. X      /* read msgs */
  161. X
  162. X      old_msg_cnt = msg_cnt;
  163. X      msg_cnt = MSGS();
  164. X      if (msg_cnt > 0 && *buff == 'A') {
  165. X         m_push(P_POSITION|P_EVENT|P_FLAGS|P_FONT);
  166. X         if (font != -1)
  167. X            m_font(font);
  168. X         m_sizeall(xpos,ypos,80,24);
  169. X         m_printstr("\freading msgs...\r");
  170. X         m_ttyreset();
  171. X         system(MSGSCMD);
  172. X         m_gets(buff);
  173. X         m_ttyset();
  174. X         m_pop(0);
  175. X         }
  176. X
  177. X      /* wait for window to deactivate */
  178. X
  179. X      else if (*buff == 'A') {
  180. X         m_setevent(DEACTIVATED,RESUME);
  181. X         do {
  182. X            m_printstr("\f Your msgs system here        ");
  183. X            m_gets(buff);
  184. X            } while(!SCMP(buff,RESUME));
  185. X         m_clearevent(DEACTIVATED);
  186. X         }
  187. X      old_msg_cnt = msg_cnt;
  188. X      msg_cnt = MSGS();
  189. X      get_msg(line,msg_cnt);
  190. X      m_printstr(line);
  191. X      m_clearmode(M_ACTIVATE);
  192. X      alarm(poll);
  193. X      }
  194. X   }
  195. X    
  196. Xint
  197. Xget_rc(file)
  198. XFILE *file;
  199. X   {
  200. X   char line[100], *fgets();
  201. X   fseek(file,0,0);
  202. X   if (fgets(line,sizeof(line),file) != NULL) 
  203. X      return(atoi(line));
  204. X   else
  205. X      return(0);
  206. X   }
  207. X
  208. Xint
  209. Xget_bounds(file)
  210. XFILE *file;
  211. X   {
  212. X   char buff[100], *line, *fgets();
  213. X   fseek(file,0,0);
  214. X   if ((line=fgets(buff,sizeof(buff),file)) != NULL) {
  215. X      while(*line != ' ') line++;
  216. X      while(*line == ' ') line++;
  217. X      return(atoi(line));
  218. X      }
  219. X   else return(0);
  220. X   }
  221. X
  222. Xget_msg(msg,cnt)
  223. Xint cnt;
  224. Xchar *msg;
  225. X   {
  226. X   if (cnt > 0)
  227. X      sprintf(msg,"\fYou have %d message%s waiting\r",cnt,cnt!=1?"s":"");
  228. X   else if (cnt == 0)
  229. X      sprintf(msg,"\fLooking for new messages\r");
  230. X   else 
  231. X      sprintf(msg,"\fMessage system scrunched\r");
  232. X   }
  233. X
  234. Xclean()
  235. X   {
  236. X   m_ttyreset();
  237. X   m_pop(0);
  238. X   exit(1);
  239. X   }
  240. X
  241. Xupdate()
  242. X   {
  243. X   msg_cnt = MSGS();
  244. X   get_msg(line,msg_cnt);
  245. X   if (msg_cnt != old_msg_cnt) {
  246. X      if (msg_cnt > old_msg_cnt)         /* new messages */
  247. X         m_printstr("\007");
  248. X      m_printstr(line);
  249. X      }
  250. X   old_msg_cnt = msg_cnt;
  251. X   alarm(poll);
  252. X   }
  253. X
  254. Xusage(name,error)
  255. Xchar *name, *error;
  256. X{
  257. X    fprintf(stderr,"Invalid flag: %s\n",error);
  258. X    fprintf(stderr,"usage: %s -[s|x<pos>|y<pos>|f<font>|p<poll>\n",name);
  259. X    exit(1);
  260. X}
  261. END_OF_FILE
  262. # end of 'demo/misc/mgrmsgs.c'
  263. fi
  264. if test -f 'demo/msg/menus.c' -a "${1}" != "-c" ; then 
  265.   echo shar: Will not clobber existing file \"'demo/msg/menus.c'\"
  266. else
  267. echo shar: Extracting \"'demo/msg/menus.c'\" \(5347 characters\)
  268. sed "s/^X//" >'demo/msg/menus.c' <<'END_OF_FILE'
  269. X/*                        Copyright (c) 1987 Bellcore
  270. X *                            All Rights Reserved
  271. X *       Permission is granted to copy or use this program, EXCEPT that it
  272. X *       may not be sold for profit, the copyright notice must be reproduced
  273. X *       on copies, and credit should be given to Bellcore where it is due.
  274. X *       BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM.
  275. X */
  276. X
  277. X/* convert current directory into a heirarchy of menus */
  278. X
  279. X/*    $Header: menus.c,v 4.3 88/08/29 13:27:16 sau Exp $
  280. X    $Source: /tmp/mgrsrc/demo/msg/RCS/menus.c,v $
  281. X*/
  282. Xstatic char    RCSid_[] = "$Source: /tmp/mgrsrc/demo/msg/RCS/menus.c,v $$Revision: 4.3 $";
  283. X
  284. X#include <sys/types.h>
  285. X#include <sys/stat.h>
  286. X#include <sys/dir.h>
  287. X#include <stdio.h>
  288. X#include "term.h"
  289. X
  290. X#define MAX        512                    /* max path length */
  291. X#define MENU        1000                /* max menu buffer length */
  292. X#define MENU_NAME    ".menus"            /* default command menu */
  293. X#define MAX_ITEMS    20                    /* max items per menu */
  294. X#define MAX_MENUS    9                    /* max # of paged menus */
  295. X
  296. X/* menu names */
  297. X
  298. X#define CMD_MENU    1
  299. X#define MAIN_MENU    2
  300. X#define FILE_MENU    3
  301. X#define DIR_MENU    4
  302. X
  303. X#define ARG        (argc>1 ? argv[1] : home)
  304. X#define COPY(where,index,what) \
  305. X    (index+strlen(what)<MENU ? \
  306. X              strcpy(where+index,what), index += strlen(what) \
  307. X        :     0)
  308. X
  309. Xstatic char buff[MAX];
  310. Xstatic char load[MENU];
  311. Xstatic char stat_buff[MAX];
  312. Xstatic int len;
  313. X
  314. Xstatic int type = S_IFDIR;    /* type of file to accept */
  315. X
  316. Xstruct menu_entry main_menu[] = {
  317. X    "Commands    =>", "",
  318. X    "Files       =>", "",
  319. X    "Directories =>", "",
  320. X    };
  321. X
  322. Xstruct menu_entry cmd_menu[] = {
  323. X    "ls", "ls\r",
  324. X    "pwd","pwd\r",
  325. X    };
  326. X
  327. Xmain(argc,argv)
  328. Xint argc;
  329. Xchar **argv;
  330. X   {
  331. X   register int i, pos=0;
  332. X   int file;
  333. X   char **dir_list(),**list;
  334. X    register char **chunk;
  335. X   char *getenv(), *home = getenv("HOME");
  336. X   char *sprintf();
  337. X   char host[32];
  338. X   char tmp[100];
  339. X
  340. X    int dir_index = 0;            /* for pages dir menus */
  341. X    int file_index = 0;            /* for paged file menus */
  342. X
  343. X   ckmgrterm(*argv);
  344. X    m_setup(M_DEBUG);
  345. X
  346. X   /* see if hostname required */
  347. X
  348. X   if (argc>1 && strcmp(argv[1],"-h")==0) {
  349. X      gethostname(host,sizeof(host));
  350. X      argc--, argv++;
  351. X      }
  352. X   else
  353. X      *host = '\0';
  354. X
  355. X    /* command menu (should be menu 1) */
  356. X
  357. X   if ((file = open(sprintf(buff,"%s/%s",ARG,MENU_NAME),0)) > 0) {
  358. X      while((i=read(file,buff,sizeof(buff))) > 0)
  359. X         write(1,buff,i);
  360. X      close(file);
  361. X      }
  362. X    else        /* load up default command menu */
  363. X        menu_load(CMD_MENU,2,cmd_menu);
  364. X
  365. X    menu_load(MAIN_MENU,3,main_menu);    /* load main menu */
  366. X
  367. X    /* get directory menus */
  368. X
  369. X    list = dir_list(ARG);
  370. X   chunk = list;
  371. X    while (chunk != (char **) 0) {
  372. X        if (dir_index==0)
  373. X            COPY(load,pos,"\005 ..");
  374. X        for(i=0;i<MAX_ITEMS && chunk[i]!=NULL;i++) {
  375. X            COPY(load,pos,"\005");
  376. X            COPY(load,pos,chunk[i]);
  377. X            }
  378. X        if (dir_index==0)
  379. X            COPY(load,pos,"\005cd ..\r");
  380. X         for(i=0;i<MAX_ITEMS && chunk[i]!=NULL;i++) {
  381. X            COPY(load,pos,"\005cd ");
  382. X            COPY(load,pos,chunk[i]);
  383. X            COPY(load,pos,"\r");
  384. X            }
  385. X       load[pos] = '\0';
  386. X       m_loadmenu(DIR_MENU+dir_index,load);
  387. X
  388. X        if (dir_index > 0)
  389. X            m_pagemenu(DIR_MENU+dir_index-2, DIR_MENU+dir_index);
  390. X        dir_index += 2;
  391. X        if (chunk[i] && dir_index < MAX_MENUS*2)
  392. X            chunk += i;
  393. X        else 
  394. X            break;
  395. X        pos = 0;
  396. X      }
  397. X
  398. X    /* get plain file menus */
  399. X
  400. X  pos = 0;
  401. X  type = S_IFREG;
  402. X  free(list);
  403. X  list = dir_list(ARG);
  404. X  chunk = list;
  405. X  while (chunk != (char **) 0) {
  406. X        for(i=0;i<MAX_ITEMS && chunk[i]!=NULL;i++) {        /* items */
  407. X            COPY(load,pos,"\005");
  408. X            COPY(load,pos,chunk[i]);
  409. X            }
  410. X        for(i=0;i<MAX_ITEMS && chunk[i]!=NULL;i++) {        /* actions */
  411. X            if (*host)
  412. X                sprintf(tmp,"%s%c%s/%s",host,':',ARG,chunk[i]);
  413. X            else
  414. X                sprintf(tmp,"%s/%s",ARG,chunk[i]);
  415. X            COPY(load,pos,sprintf(buff,"\005echo %c%d%c",ESC,strlen(tmp)+1,E_SNARF));
  416. X            COPY(load,pos,tmp);
  417. X            COPY(load,pos,"\r");
  418. X            }
  419. X        load[pos] = '\0';
  420. X        m_loadmenu(FILE_MENU+file_index,load);
  421. X        if (file_index > 0)
  422. X            m_pagemenu(FILE_MENU+file_index-2, FILE_MENU+file_index);
  423. X        file_index += 2;
  424. X        if (chunk[i] && file_index < MAX_MENUS*2)
  425. X            chunk += i;
  426. X        else 
  427. X            break;
  428. X        pos = 0;
  429. X        }
  430. X
  431. X    free(list);
  432. X
  433. X    /* setup menu links */
  434. X
  435. X    m_selectmenu(MAIN_MENU);
  436. X    m_linkmenu(MAIN_MENU,0,1,0);
  437. X    m_linkmenu(MAIN_MENU,1,FILE_MENU,0);
  438. X    m_linkmenu(MAIN_MENU,2,DIR_MENU,0);
  439. X    m_flush();
  440. X   }
  441. X
  442. X/* list all "right" files in a directory */
  443. X
  444. Xchar **
  445. Xdir_list(path)
  446. Xchar *path;
  447. X   {
  448. X   register int i;
  449. X   struct direct **entries;
  450. X   int select(), dir_sort();
  451. X   int count;
  452. X   char *malloc();
  453. X   char **list;
  454. X   
  455. X   len = strlen(path);
  456. X   strcpy(stat_buff,path);
  457. X   if (stat_buff[len-1] != '/')
  458. X      strcat(stat_buff,"/"),len++;
  459. X   if ((count = scandir(path,&entries,select,dir_sort)) < 0)
  460. X      return ((char **) 0);
  461. X   list = (char **) malloc(sizeof(char *) *(count+1));
  462. X   for(i=0;i<count;i++) list[i]=entries[i]->d_name;
  463. X   list[count] = (char *) 0;
  464. X   return(list);
  465. X   }
  466. X
  467. X#define SUFFIX(x,s) \
  468. X    (strncmp(x + strlen(x) - strlen(s),s,strlen(s))==0)
  469. Xint
  470. Xselect(d1)
  471. Xstruct direct *d1;
  472. X   {
  473. X   struct stat buf;
  474. X
  475. X   if (*d1->d_name != '.' && !SUFFIX(d1->d_name,".o")) {
  476. X      strcat(stat_buff,d1->d_name);
  477. X      stat(stat_buff,&buf);
  478. X      stat_buff[len] = '\0';
  479. X      if ((buf.st_mode&S_IFMT) == type)     /* directory */
  480. X         return(1);
  481. X      else
  482. X         return(0);
  483. X      }
  484. X   return(0);
  485. X   }
  486. X
  487. Xint
  488. Xdir_sort(d1,d2)
  489. Xregister struct direct **d1, **d2;
  490. X   {
  491. X   return(strcmp((*d1)->d_name,(*d2)->d_name));
  492. X   }
  493. END_OF_FILE
  494. # end of 'demo/msg/menus.c'
  495. fi
  496. if test -f 'font-16/Ugal12x20b' -a "${1}" != "-c" ; then 
  497.   echo shar: Will not clobber existing file \"'font-16/Ugal12x20b'\"
  498. else
  499. echo shar: Extracting \"'font-16/Ugal12x20b'\" \(5330 characters\)
  500. sed "s/^X//" >'font-16/Ugal12x20b' <<'END_OF_FILE'
  501. Xbegin 644 gal12x20b.fnt
  502. XM%@P4!8                                                      
  503. XM              !P'< [!P/'!X#@ ..            '!X P'X#\ <#^!X'_
  504. XM#X#\          #X                                            
  505. XM          !^< ?@!@   8  ,    '   \  &     < 'P              
  506. XM               >!P/                                         
  507. XM                              !P'< ['\9N#\'P <'            .
  508. XM#\!P/\'^ \#^#@/_&<&>          '\  !P_X#^_X?^?^#^^/'\'\^/? \'
  509. XMX'#X?\#X_X'_?_^'\/__^'^'/_!^< ?@#P   X  <    /  !N  . !P .\ 
  510. XM!P                             X!P#@                        
  511. XM                                              !P'< [/^9N'.'P
  512. XM \'@           .&<#P<>,/ \& ' <&..,/          />  !P<,&'<>.&
  513. XM.&&'<'!P!P<<. </<#&>..&><<.'9S<#<&=S<#<#,.!P. #@'X  !P  \   
  514. XM '  !N  > !P .< !P              !@             X!P#@        
  515. XM                                                            
  516. XM  !P'<!W=_9\'.!P X#@           <&.'P8.8'!\& .  &..<'        
  517. XM  ,.#\#X<.,#<..&.&,#<'!P!P<X. >/>#,..',.<.<#!P<#.,=S.&.& .!P
  518. XM. #@.<  !P  <    '  #@  .     < !P              !@          
  519. XM   <!P'                                                     
  520. XM                  !P'<'_=W/<'.!P!X#P#X         <../P . '!\, 
  521. XM.  ...<'           ./^#X<., <'. . , <'!P!P=P. >/?#,'.','<.<#
  522. XM!P<#.,=S/,', <!P' #@<.  !\  <    '  #@  .     < !P          
  523. XM    #@             <!P'                                     
  524. XM                                  !P'<'_=P X#\#@!P!P!P!P    
  525. XM   X..!P . /#</\<  ,',<'#@   '  <  ..'#8<.< <'. . < <'!P!P?@
  526. XM. >/?#<'.'<'<.> !P<#.,?S',', <!P' #@    !\#\=\'\#_#X#@'[/\'P
  527. XM ^<>!P_^-\#\_\#[>\'^?^??^'___/^/?_ <!P'                     
  528. XM                                                  !P  #N/P X
  529. XM'P' !P!P=W!P       X..!P .!^#<.>=\ ,#X>/'P#@ >  /  <<'&<<<< 
  530. XM<'.,.,< <'!P!P? . ??;C<'..<'<,/@!P<#'8?^#X#X X!P#@#@     X'.
  531. XM?^.>.?..#@.?/>!P .<X!P?_?>&>>>&?/N..#@..<#=S>&<#</ X!P#@    
  532. XM                                                            
  533. XM      !P  #N'\!P/P& !P!P?_!P      !P..!P <#^&< /?^ <!P/_'P'P
  534. XM!X?^'P X=[&<?\< <'/\/\< ?_!P!P? . ??9S<'/\<'?X'P!P<#'8.^!P!P
  535. XM X!P#@#@      &.>/,.,/<''\<...!P .=P!P=W..,/</,//..&#@...&=S
  536. XM/,.&8>!X!P#P                                                
  537. XM                      !P  '<!^#@?X  !P!P'<!P      #@..!P X /
  538. XM&< '>/ 8#X'W#@'P'P?^!\!P?_&,<.< <'.,.,< <'!P!P?@. ??9[<'. <'
  539. XM?@!\!P<#'8/^!P!P!P!P!P#@       ^<'< <'<'#@<...!P .?@!P=W..<'
  540. XM<'<'. / #@...&=S'X.& \ X!P#@'C                              
  541. XM                                      !P  '<!W#@<_  !P!P  ?_
  542. XM  ?_  #@..!P!P ',< '<' 8&< '  #@?    ?#@?O/^<'< <'. . <?<'!P
  543. XM!P?P. ;_8[<'. <'?P >!P<##@/^#X!P!P!P X#@      'N<'< <'?_#@<.
  544. XM..!P .? !P=W..<'<'<'. 'P#@..',/^#P',!X <!P' /W              
  545. XM                                                      !P  ?^
  546. XM!W'><?  !X#P'<?_  ?_  ' ..!P#@ '/_ '<' X.. .    ?    ?#@?O,.
  547. XM<'< <'. . <'<'!P!P=X. ;W8?<'. <'=X /!P<##P/\&<!P#@!P X#@    
  548. XM  ..<'< <'< #@.<..!P .?@!P=W..<'<'<'. !\#@..',/^!X',#P <!P' 
  549. XM/^                                                          
  550. XM              ?^=W'S<>   X#@?_!P    #@' .,!P' 8'?_8'<' P.. .
  551. XM#@  'P?^!\  =_,&<', <'. . ,'<'!P!P<\. ;W8/,&. .&<\8'!P<##P'<
  552. XM&>!P#@!P <#@      ..<'< <'< #@/X..!P .?P!P=W..<'<'<'.  >#@..
  553. XM#X/^#\#X'@ <!P' =^                                          
  554. XM                              .X?^.S<<   \'@=W!P#@  'P. ',!P
  555. XM.#<& <<'>& P.. <'P#@!X?^'P  < 8'<'.#<&.#. .'<'!P!P<>.#9G8/.&
  556. XM. /&<>8'!P>&!@'<,.!P' !P <#@      ..>'>&>/. #@< ..!P .=X!P=W
  557. XM..>&<&>'. ,.#C..#X'<&>#X/# X!P#@8\                          
  558. XM                                          !P  =P/\.S/_   <' 
  559. XM!P!P'P  'P. 'X!P?_/\ <../\!P',!X'P'P >  / #@. 8'<.'&<<.#. ''
  560. XM<'!P!P</.#9G8'',. '\</<.!P/^!@'<8'!P'#!^ .?@      />?.../?''
  561. XM#@?^..!P .<\!P=W../,>,//. ..#V/>!P'<,/!P>' X!P#@            
  562. XM                                                          !P
  563. XM  =P!P<>'W   .. #X!P'P  #@< #P/^?_'X <'\'X!@#X/@#@'P '  < #@
  564. XM/_\/_\#\_P?_? #\^/'\!P^'?_]O\##X? #P^'?\'\'\!@'<\/#X/_!^ .?@
  565. XM      '_;\'\'W#\'P/_??'\ .^?'\__??'X?X'_? /\!\'W!P'<^?!P?_ >
  566. XM!P/                                                         
  567. XM                                    !P                      
  568. XM      !P        #_                  !P            'X        
  569. XM                                  ,'    ,.          <  '    
  570. XM          !@    !P                                          
  571. XM                                                    !P      
  572. XM                      !P                            !P      
  573. XM      ,]                          __              8#    ..  
  574. XM        <  '              #@    !P                          
  575. XM                                                            
  576. XM        #@                            #@                    
  577. XM        !@             ?                          __        
  578. XM      8#    /,          <  '              #     !P          
  579. XM                                                            
  580. XM                        '                             '     
  581. XM                        /                                   
  582. XM                      ?^    'X          <  '              ? 
  583. XM    !P                                                      
  584. XM                                        &                   
  585. XM          &                             .                   
  586. XM                                      /\    #P          ^  /
  587. X5              >     !P      
  588. Xend
  589. END_OF_FILE
  590. # end of 'font-16/Ugal12x20b'
  591. fi
  592. if test -f 'font-16/Ugal12x20r' -a "${1}" != "-c" ; then 
  593.   echo shar: Will not clobber existing file \"'font-16/Ugal12x20r'\"
  594. else
  595. echo shar: Extracting \"'font-16/Ugal12x20r'\" \(5330 characters\)
  596. sed "s/^X//" >'font-16/Ugal12x20r' <<'END_OF_FILE'
  597. Xbegin 644 gal12x20r.fnt
  598. XM%@P4!8                                                      
  599. XM              !@&8 S!@.&!P#  ,,            &!P @'P#X 8#\!P'^
  600. XM#P#X          #P                                            
  601. XM          !\8 ? !    0  (    &   X  $     8 '@              
  602. XM               <!@.                                         
  603. XM                              !@&8 S'X1,#X'@ 8&            ,
  604. XM#X!@/X'\ X#\# /^$8$<          'X  !@_P#\_P?\?\#\\/'X'X\.> X'
  605. XMP'#P?X#P_P'^?^\'X._O\'\'/^!\8 ? #@   P  8    .  !,  , !@ ,X 
  606. XM!@                             P!@#                         
  607. XM                                              !@&8 S/\1,&,'@
  608. XM X'            ,$8#@8<(. X$ & 8$,,(.          .<  !@8($&8<,$
  609. XM,$$&8&!@!@88, 8.8"$<,,$<88,&1B8"8$9B8"8"(,!@, # &P  !@  X   
  610. XM &  !,  < !@ ,8 !@              !              P!@#         
  611. XM                                                            
  612. XM  !@&8!F9N18&,!@ P#            8$,'@0,0&!8$ ,  $,,8&        
  613. XM  (,#X"P8,("8,,$,$("8&!@!@8P, <.<"(,,&(,8,8"!@8",(9B,$,$ ,!@
  614. XM, # ,8  !@  8    &  #   ,     8 !@              !           
  615. XM   8!@&                                                     
  616. XM                  !@&8'_9F.8&,!@!P#@#P         8,,-@ , &!8( 
  617. XM,  ,,,8&           ,/\"P8,( 8&, , ( 8&!@!@9@, <.>"(&,&(&8,8"
  618. XM!@8",(9B.(&( 8!@& # 8,  !X  8    &  #   ,     8 !@          
  619. XM    #              8!@&                                     
  620. XM                                  !@&8'_9@ P#X# !@!@!@!@    
  621. XM   P,,!@ , ."8/X8  (&(8&#    &  8  ,,&"08,8 8&, , 8 8&!@!@; 
  622. XM, <.6"8&,&8&8,< !@8",(=B&(&( 8!@& #     !X#X9X'X#V#P# 'R-X'@
  623. XM \8<!@W<)X#X[X#R<X'\?\>>\'_W^/\/?^ 8!@&                     
  624. XM                                                  !@  #,/@ P
  625. XM'@& !@!@9F!@       P,,!@ ,!\"8,<9X (#0<.'@#  <  .  88&$8888 
  626. XM8&,(,(8 8&!@!@> , 663"8&,,8&8(/ !@8"&0=T#0#0 P!@# #      P&,
  627. XM;\,<,>,,# ,>.<!@ ,8P!@;N><$<<<$>-,,,# ,,8"9B<$8"8. P!@#     
  628. XM                                                            
  629. XM      !@  #,'X!@/@$ !@!@=N!@      !@,,!@ 8#\$8 .;\ 8!@/V'@'@
  630. XM!P?\'@ P9R$8?X8 8&/X/X8 ?^!@!@> , 661B8&-X8&?P'@!@8"&0,T!@!@
  631. XM P!@# #       $,<.(,(.8&'X8,,,!@ ,9@!@9F,,(.8.(..,,$# ,,,$9B
  632. XM.(,$0<!P!@#@                                                
  633. XM                      !@  &8!\# =P  !@!@&8!@      # ,,!@ P .
  634. XM$8 &<. 0"P'F# '@'@?\!X!@;Z$(8,8 8&,(,(8 8&!@!@? , 661R8&, 8&
  635. XM? !X!@8"&0-T!@!@!@!@!@#        \8&8 8&8&# 8,,,!@ ,? !@9F,,8&
  636. XM8&8&, . # ,,,$9B'0,$ X P!@# '"                              
  637. XM                                      !@  &8!F# 8V  !@!@  ?^
  638. XM  ?^  # ,,!@!@ &(8 &8& 0$8 &  # >    ># ;*/\8&8 8&, , 8?8&!@
  639. XM!@;@, 360R8&, 8&;@ <!@8"# .\"P!@!@!@ P#       ',8&8 8&?^# 8,
  640. XM,,!@ ,> !@9F,,8&8&8&, '@# ,,&(-T#@&(!P 8!@& /F              
  641. XM                                                      !@  ?\
  642. XM!F&<8>  !P#@&8?^  ?^  & ,,!@#  &/^ &8& P,, ,    >    ># ;*(,
  643. XM8&8 8&, , 8&8&!@!@9P, 3F0:8&, 8&9P .!@8"#@.X$8!@# !@ P#     
  644. XM  ,,8&8 8&8 # ,8,,!@ ,? !@9F,,8&8&8&, !X# ,,&(.T!P&(#@ 8!@& 
  645. XM-L                                                          
  646. XM              ?\9F&B8<   P# =N!@    # & ,(!@& 0&?^0&8& @,, ,
  647. XM#   '@?\!X  9^($8&( 8&, , (&8&!@!@8X, 3F0.($, ,$8X0&!@8"#@&8
  648. XM$<!@# !@ 8#       ,,8&8 8&8 # /P,,!@ ,;@!@9F,,8&8&8&,  <# ,,
  649. XM#0.T"X#0'  8!@& 9\                                          
  650. XM                              ,P?\,B88   X' 9F!@#   '@, &(!@
  651. XM,"8$ 88&<$ @,, 8'@# !P?\'@  8 0&8&,"8$,", ,&8&!@!@8<,"1&0.,$
  652. XM, .$8<0&!@<$! &8(,!@& !@ 8#       ,,<&<$<., # 8 ,,!@ ,9P!@9F
  653. XM,,<$8$<&, (,#",,#0&8$<#0." P!@# 0X                          
  654. XM                                          !@  9@/X,B/^   8& 
  655. XM!@!@'@  '@, 'P!@?^/X 8,,/X!@&(!P'@'@ <  . # , 0&8,&$88,", &&
  656. XM8&!@!@8.,"1&0&&(, 'X8.8,!@/\! &80&!@&"!\ ,?       .<>,,,.6&&
  657. XM# ?\,,!@ ,8X!@9F,,.(<(.., ,,#D.<!@&8(.!@<& P!@#             
  658. XM                                                          !@
  659. XM  9@!@8<'F   ,, #P!@'@  # 8 #@/\?^'P 8'X'P! #P/ # '@ &  8 # 
  660. XM/^X/_X#X_@?^> #X\/'X!@\'?^Y/X##P> #@\'?X'X'X! &8X/#P/^!\ ,? 
  661. XM      'N3X'X'G#X'@/^>>'X ,\>'X[W>>'P?P'^> /X!X'F!@&8\?!@?^ <
  662. XM!@.                                                         
  663. XM                                    !@                      
  664. XM      !@        #^                  !@            'P        
  665. XM                                  (&    (,          8  &    
  666. XM          !     !@                                          
  667. XM                                                    !@      
  668. XM                      !@                            !@      
  669. XM      (Y                          __              0"    ,,  
  670. XM        8  &              #     !@                          
  671. XM                                                            
  672. XM        #                             #                     
  673. XM        !              >                          __        
  674. XM      0"    .(          8  &              "     !@          
  675. XM                                                            
  676. XM                        &                             &     
  677. XM                        .                                   
  678. XM                      ?\    'P          8  &              > 
  679. XM    !@                                                      
  680. XM                                        $                   
  681. XM          $                             ,                   
  682. XM                                      /X    #@          \  /
  683. X5              <     !@      
  684. Xend
  685. END_OF_FILE
  686. # end of 'font-16/Ugal12x20r'
  687. fi
  688. if test -f 'font-16/Ugal12x20rI' -a "${1}" != "-c" ; then 
  689.   echo shar: Will not clobber existing file \"'font-16/Ugal12x20rI'\"
  690. else
  691. echo shar: Extracting \"'font-16/Ugal12x20rI'\" \(5331 characters\)
  692. sed "s/^X//" >'font-16/Ugal12x20rI' <<'END_OF_FILE'
  693. Xbegin 644 gal12x20rI.fnt
  694. XM%@P4!8  ____________________________________________________
  695. XM__________    ^?YG_,^?QY^/\__SS____________Y^/_?X/\'_G\#^/X!
  696. XM\/\'__________\/____________________________________________
  697. XM__________^#G_@_^____O__W____Y___'__[_____G_X?______________
  698. XM_______________C^?Q_________________________________________
  699. XM__________________________    ^?YG_,X'NS\'X?_GY____________S
  700. XM\'^?P'X#_'\#\_P![G[C__________X'__^? /\# /@#@#\##PX'X'#QA_'X
  701. XM/X\/@'\/ /X!@!#X'Q 0#X#XP!^#G_@_\?___/__G____Q__^S__S_^?_S'_
  702. XM^?_____________________________/^?\_________________________
  703. XM__________________________________________    ^?YG_,P#NSYSX?
  704. XM_'X____________S[G\?GCWQ_'[_Y_G[SSWQ__________QC__^?GW[YGCS[
  705. XMS[[YGY^?^?GGS_GQG][CSS[CGGSYN=G]G[F=G]G]WS^?S_\_Y/__^?__'___
  706. XM_Y__^S__C_^?_SG_^?______________^______________/^?\_________
  707. XM__________________________________________________________  
  708. XM  ^?YG^9F1NGYS^?_/\____________G[SX?OSOY^G[_S__[SSGY________
  709. XM__WS\']/GSW]GSS[S[W]GY^?^?G/S_CQC]WSSYWSGSG]^?G]SWF=S[S[_S^?
  710. XMS_\_SG__^?__G____Y__\___S_____G_^?______________^___________
  711. XM___G^?Y_____________________________________________________
  712. XM______________    ^?YGX F9QGYS^?^/\?\/_________GSSR?_S_Y^GW_
  713. XMS__SSSGY___________SP#]/GSW_GYS_S_W_GY^?^?F?S_CQA]WYSYWYGSG]
  714. XM^?G]SWF=QWYW_G^?Y_\_GS__^'__G____Y__\___S_____G_^?__________
  715. XM____\______________G^?Y_____________________________________
  716. XM______________________________    ^?YGX F?_/\'\_^?^?^?^?____
  717. XM___/SS^?_S_Q]GP'G__WYWGY\____Y__G__SSY]OGSG_GYS_S_G_GY^?^?D_
  718. XMS_CQI]GYSYGYGSC_^?G]SWB=YWYW_G^?Y_\_____^'\'F'X'\)\/\_X-R'X?
  719. XM_#GC^?(CV'\'$'\-C'X#@#AA#X (!P#P@!_G^?Y_____________________
  720. XM______________________________________________    ^?__\SP?_/
  721. XMX?Y_^?^?F9^?_______/SS^?_S^#]GSCF'_W\OCQX?\__C__Q__GGY[GGGG_
  722. XMGYSWSWG_GY^?^?A_S_IIL]GYSSGYGWP_^?G]YOB+\O\O_/^?\_\______/YS
  723. XMD#SCSASS\_SAQC^?_SG/^?D1AC[CCC[ARSSS\_SSG]F=C[G]GQ_/^?\_____
  724. XM____________________________________________________________
  725. XM__    ^?__\SX'^?P?[_^?^?B1^?______^?SS^?_G\#[G_QD#_G^?P)X?X?
  726. XM^/@#X?_/F-[G@'G_GYP'P'G_@!^?^?A_S_IIN=GYR'GY@/X?^?G]YOS+^?^?
  727. XM_/^?\_\_______[SCQWSWQGYX'GSSS^?_SF?^?F9SSWQGQWQQSS[\_SSS[F=
  728. XMQWS[OC^/^?\?________________________________________________
  729. XM__________________    ^?__YG^#\_B/__^?^?YG^?______\_SS^?_/_Q
  730. XM[G_YCQ_O]/X9\_X?X?@#^'^?D%[WGSG_GYSWSWG_GY^?^?@_S_IIN-GYS_GY
  731. XM@_^'^?G]YOR+^?^?^?^?^?\________#GYG_GYGY\_GSSS^?_S@_^?F9SSGY
  732. XMGYGYS_Q_\_SSS[F=XOS[_'_/^?\_X]______________________________
  733. XM__________________________________    ^?__YG^9\_G)__^?^?__@!
  734. XM__@!__\_SS^?^?_YWG_YGY_O[G_Y__\_A____A\_DUP#GYG_GYS_S_G@GY^?
  735. XM^?D?S_LIO-GYS_GYD?_C^?G]\_Q#]/^?^?^?_/\_______XSGYG_GY@!\_GS
  736. XMSS^?_SA_^?F9SSGYGYGYS_X?\_SSYWR+\?YW^/_G^?Y_P9______________
  737. XM__________________________________________________    ^?__@#
  738. XM^9YCGA__^/\?YG@!__@!__Y_SS^?\__YP!_YGY_/SS_S____A____A\_DUWS
  739. XMGYG_GYS_S_GYGY^?^?F/S_L9OEGYS_GYF/_Q^?G]\?Q'[G^?\_^?_/\_____
  740. XM__SSGYG_GYG_\_SGSS^?_S@_^?F9SSGYGYGYS_^'\_SSYWQ+^/YW\?_G^?Y_
  741. XMR3__________________________________________________________
  742. XM______    ____@#F9Y=GC___/\_B1^?____\_Y_SW^?Y_OY@!OYGY_?SS_S
  743. XM\___X?@#^'__F!W[GYW_GYS_S_WYGY^?^?G'S_L9OQW[S_S[G'OY^?G]\?YG
  744. XM[C^?\_^?_G\_______SSGYG_GYG_\_P/SS^?_SD?^?F9SSGYGYGYS__C\_SS
  745. XM\OQ+]'\OX__G^?Y_F#__________________________________________
  746. XM______________________    ____S/@#S=GG___'X_F9^?\___X?S_YW^?
  747. XMS]G[_GGYC[_?SS_GX?\_^/@#X?__G_OYGYS]G[S]S_SYGY^?^?GCS]NYOQS[
  748. XMS_Q[GCOY^?C[^_YGWS^?Y_^?_G\_______SSCYC[CQS_\_G_SS^?_SF/^?F9
  749. XMSSC[G[CYS_WS\]SS\OYG[C\OQ]_/^?\_O'__________________________
  750. XM______________________________________    ^?__F?P'S=P!___GY_
  751. XM^?^?X?__X?S_X/^?@!P'_GSSP'^?YW^/X?X?_C__Q_\_S_OYGSY[GGS]S_YY
  752. XMGY^?^?GQS]NYOYYWS_X'GQGS^?P#^_YGOY^?Y]^#_S@_______QCASSSQIYY
  753. XM\_@#SS^?_SG'^?F9SSQWCWQQS_SS\;QC^?YGWQ^?CY_/^?\_____________
  754. XM______________________________________________________    ^?
  755. XM__F?^?GCX9___SS_\/^?X?__\_G_\?P#@!X/_GX'X/^_\/P_\_X?_Y__G_\_
  756. XMP!'P '\' ?@!A_\'#PX'^?#X@!&P'\\/A_\?#X@'X'X'^_YG'P\/P!^#_S@_
  757. XM______X1L'X'X8\'X?P!AAX'_S#AX'$(AAX/@/X!A_P'^'X9^?YG#@^?@!_C
  758. XM^?Q_________________________________________________________
  759. XM__________    ______________________^?______________________
  760. XM______^?________\!__________________^?____________X/________
  761. XM__________________________________WY____WS__________G__Y____
  762. XM__________^_____^?__________________________________________
  763. XM__________________________    ______________________^?______
  764. XM______________________^?____________________________^?______
  765. XM______W&__________________________  ______________O]____SS__
  766. XM________G__Y______________\_____^?__________________________
  767. XM__________________________________________    ______________
  768. XM________\_____________________________\_____________________
  769. XM________^______________A__________________________  ________
  770. XM______O]____QW__________G__Y______________]_____^?__________
  771. XM__________________________________________________________  
  772. XM  ______________________Y_____________________________Y_____
  773. XM________________________Q___________________________________
  774. XM______________________@#____X/__________G__Y______________A_
  775. XM____^?______________________________________________________
  776. XM______________    ______________________[___________________
  777. XM__________[_____________________________S___________________
  778. XM______________________________________P'____\?__________#__P
  779. X5______________C_____^?______
  780. Xend
  781. END_OF_FILE
  782. # end of 'font-16/Ugal12x20rI'
  783. fi
  784. if test -f 'font-16/Ugal12x20ru' -a "${1}" != "-c" ; then 
  785.   echo shar: Will not clobber existing file \"'font-16/Ugal12x20ru'\"
  786. else
  787. echo shar: Extracting \"'font-16/Ugal12x20ru'\" \(5331 characters\)
  788. sed "s/^X//" >'font-16/Ugal12x20ru' <<'END_OF_FILE'
  789. Xbegin 644 gal12x20ru.fnt
  790. XM%@P4!8                                                      
  791. XM              !@&8 S!@.&!P#  ,,            &!P @'P#X 8#\!P'^
  792. XM#P#X          #P                                            
  793. XM          !\8 ? !    0  (    &   X  $     8 '@              
  794. XM               <!@.                                         
  795. XM                              !@&8 S'X1,#X'@ 8&            ,
  796. XM#X!@/X'\ X#\# /^$8$<          'X  !@_P#\_P?\?\#\\/'X'X\.> X'
  797. XMP'#P?X#P_P'^?^\'X._O\'\'/^!\8 ? #@   P  8    .  !,  , !@ ,X 
  798. XM!@                             P!@#                         
  799. XM                                              !@&8 S/\1,&,'@
  800. XM X'            ,$8#@8<(. X$ & 8$,,(.          .<  !@8($&8<,$
  801. XM,$$&8&!@!@88, 8.8"$<,,$<88,&1B8"8$9B8"8"(,!@, # &P  !@  X   
  802. XM &  !,  < !@ ,8 !@              !              P!@#         
  803. XM                                                            
  804. XM  !@&8!F9N18&,!@ P#            8$,'@0,0&!8$ ,  $,,8&        
  805. XM  (,#X"P8,("8,,$,$("8&!@!@8P, <.<"(,,&(,8,8"!@8",(9B,$,$ ,!@
  806. XM, # ,8  !@  8    &  #   ,     8 !@              !           
  807. XM   8!@&                                                     
  808. XM                  !@&8'_9F.8&,!@!P#@#P         8,,-@ , &!8( 
  809. XM,  ,,,8&           ,/\"P8,( 8&, , ( 8&!@!@9@, <.>"(&,&(&8,8"
  810. XM!@8",(9B.(&( 8!@& # 8,  !X  8    &  #   ,     8 !@          
  811. XM    #              8!@&                                     
  812. XM                                  !@&8'_9@ P#X# !@!@!@!@    
  813. XM   P,,!@ , ."8/X8  (&(8&#    &  8  ,,&"08,8 8&, , 8 8&!@!@; 
  814. XM, <.6"8&,&8&8,< !@8",(=B&(&( 8!@& #     !X#X9X'X#V#P# 'R-X'@
  815. XM \8<!@W<)X#X[X#R<X'\?\>>\'_W^/\/?^ 8!@&                     
  816. XM                                                  !@  #,/@ P
  817. XM'@& !@!@9F!@       P,,!@ ,!\"8,<9X (#0<.'@#  <  .  88&$8888 
  818. XM8&,(,(8 8&!@!@> , 663"8&,,8&8(/ !@8"&0=T#0#0 P!@# #      P&,
  819. XM;\,<,>,,# ,>.<!@ ,8P!@;N><$<<<$>-,,,# ,,8"9B<$8"8. P!@#     
  820. XM                                                            
  821. XM      !@  #,'X!@/@$ !@!@=N!@      !@,,!@ 8#\$8 .;\ 8!@/V'@'@
  822. XM!P?\'@ P9R$8?X8 8&/X/X8 ?^!@!@> , 661B8&-X8&?P'@!@8"&0,T!@!@
  823. XM P!@# #       $,<.(,(.8&'X8,,,!@ ,9@!@9F,,(.8.(..,,$# ,,,$9B
  824. XM.(,$0<!P!@#@                                                
  825. XM                      !@  &8!\# =P  !@!@&8!@      # ,,!@ P .
  826. XM$8 &<. 0"P'F# '@'@?\!X!@;Z$(8,8 8&,(,(8 8&!@!@? , 661R8&, 8&
  827. XM? !X!@8"&0-T!@!@!@!@!@#        \8&8 8&8&# 8,,,!@ ,? !@9F,,8&
  828. XM8&8&, . # ,,,$9B'0,$ X P!@# '"                              
  829. XM                                      !@  &8!F# 8V  !@!@  ?^
  830. XM  ?^  # ,,!@!@ &(8 &8& 0$8 &  # >    ># ;*/\8&8 8&, , 8?8&!@
  831. XM!@;@, 360R8&, 8&;@ <!@8"# .\"P!@!@!@ P#       ',8&8 8&?^# 8,
  832. XM,,!@ ,> !@9F,,8&8&8&, '@# ,,&(-T#@&(!P 8!@& /F              
  833. XM                                                      !@  ?\
  834. XM!F&<8>  !P#@&8?^  ?^  & ,,!@#  &/^ &8& P,, ,    >    ># ;*(,
  835. XM8&8 8&, , 8&8&!@!@9P, 3F0:8&, 8&9P .!@8"#@.X$8!@# !@ P#     
  836. XM  ,,8&8 8&8 # ,8,,!@ ,? !@9F,,8&8&8&, !X# ,,&(.T!P&(#@ 8!@& 
  837. XM-L                                                          
  838. XM              ?\9F&B8<   P# =N!@    # & ,(!@& 0&?^0&8& @,, ,
  839. XM#   '@?\!X  9^($8&( 8&, , (&8&!@!@8X, 3F0.($, ,$8X0&!@8"#@&8
  840. XM$<!@# !@ 8#       ,,8&8 8&8 # /P,,!@ ,;@!@9F,,8&8&8&,  <# ,,
  841. XM#0.T"X#0'  8!@& 9\                                          
  842. XM                              ,P?\,B88   X' 9F!@#   '@, &(!@
  843. XM,"8$ 88&<$ @,, 8'@# !P?\'@  8 0&8&,"8$,", ,&8&!@!@8<,"1&0.,$
  844. XM, .$8<0&!@<$! &8(,!@& !@ 8#       ,,<&<$<., # 8 ,,!@ ,9P!@9F
  845. XM,,<$8$<&, (,#",,#0&8$<#0." P!@# 0X                          
  846. XM                                          !@  9@/X,B/^   8& 
  847. XM!@!@'@  '@, 'P!@?^/X 8,,/X!@&(!P'@'@ <  . # , 0&8,&$88,", &&
  848. XM8&!@!@8.,"1&0&&(, 'X8.8,!@/\! &80&!@&"!\ ,?       .<>,,,.6&&
  849. XM# ?\,,!@ ,8X!@9F,,.(<(.., ,,#D.<!@&8(.!@<& P!@#             
  850. XM                                                          !@
  851. XM  9@!@8<'F   ,, #P!@'@  # 8 #@/\?^'P 8'X'P! #P/ # '@ &  8 # 
  852. XM/^X/_X#X_@?^> #X\/'X!@\'?^Y/X##P> #@\'?X'X'X! &8X/#P/^!\ ,? 
  853. XM      'N3X'X'G#X'@/^>>'X ,\>'X[W>>'P?P'^> /X!X'F!@&8\?!@?^ <
  854. XM!@.                                                         
  855. XM                                    !@                      
  856. XM      !@        #^                  !@            'P        
  857. XM                                  (&    (,          8  &    
  858. XM          !     !@      ____________________________________
  859. XM____________________________  ______________________________
  860. XM____________________________________________________________
  861. XM____________________________________________________________
  862. XM____________________________________________________________
  863. XM____________________________________________  ______________
  864. XM____________________________________________________________
  865. XM____________________________________________________________
  866. XM________________________________________________________    
  867. XM                                                            
  868. XM                        &                             &     
  869. XM                        .                                   
  870. XM                      ?\    'P          8  &              > 
  871. XM    !@                                                      
  872. XM                                        $                   
  873. XM          $                             ,                   
  874. XM                                      /X    #@          \  /
  875. X5              <     !@      
  876. Xend
  877. END_OF_FILE
  878. # end of 'font-16/Ugal12x20ru'
  879. fi
  880. if test -f 'font-32/Ugal12x20rI' -a "${1}" != "-c" ; then 
  881.   echo shar: Will not clobber existing file \"'font-32/Ugal12x20rI'\"
  882. else
  883. echo shar: Extracting \"'font-32/Ugal12x20rI'\" \(5331 characters\)
  884. sed "s/^X//" >'font-32/Ugal12x20rI' <<'END_OF_FILE'
  885. Xbegin 644 gal12x20rI.fnt
  886. XM& P4!8  ____________________________________________________
  887. XM__________    ^?YG_,^?QY^/\__SS____________Y^/_?X/\'_G\#^/X!
  888. XM\/\'__________\/____________________________________________
  889. XM__________^#G_@_^____O__W____Y___'__[_____G_X?______________
  890. XM_______________C^?Q_________________________________________
  891. XM__________________________    ^?YG_,X'NS\'X?_GY____________S
  892. XM\'^?P'X#_'\#\_P![G[C__________X'__^? /\# /@#@#\##PX'X'#QA_'X
  893. XM/X\/@'\/ /X!@!#X'Q 0#X#XP!^#G_@_\?___/__G____Q__^S__S_^?_S'_
  894. XM^?_____________________________/^?\_________________________
  895. XM__________________________________________    ^?YG_,P#NSYSX?
  896. XM_'X____________S[G\?GCWQ_'[_Y_G[SSWQ__________QC__^?GW[YGCS[
  897. XMS[[YGY^?^?GGS_GQG][CSS[CGGSYN=G]G[F=G]G]WS^?S_\_Y/__^?__'___
  898. XM_Y__^S__C_^?_SG_^?______________^______________/^?\_________
  899. XM__________________________________________________________  
  900. XM  ^?YG^9F1NGYS^?_/\____________G[SX?OSOY^G[_S__[SSGY________
  901. XM__WS\']/GSW]GSS[S[W]GY^?^?G/S_CQC]WSSYWSGSG]^?G]SWF=S[S[_S^?
  902. XMS_\_SG__^?__G____Y__\___S_____G_^?______________^___________
  903. XM___G^?Y_____________________________________________________
  904. XM______________    ^?YGX F9QGYS^?^/\?\/_________GSSR?_S_Y^GW_
  905. XMS__SSSGY___________SP#]/GSW_GYS_S_W_GY^?^?F?S_CQA]WYSYWYGSG]
  906. XM^?G]SWF=QWYW_G^?Y_\_GS__^'__G____Y__\___S_____G_^?__________
  907. XM____\______________G^?Y_____________________________________
  908. XM______________________________    ^?YGX F?_/\'\_^?^?^?^?____
  909. XM___/SS^?_S_Q]GP'G__WYWGY\____Y__G__SSY]OGSG_GYS_S_G_GY^?^?D_
  910. XMS_CQI]GYSYGYGSC_^?G]SWB=YWYW_G^?Y_\_____^'\'F'X'\)\/\_X-R'X?
  911. XM_#GC^?(CV'\'$'\-C'X#@#AA#X (!P#P@!_G^?Y_____________________
  912. XM______________________________________________    ^?__\SP?_/
  913. XMX?Y_^?^?F9^?_______/SS^?_S^#]GSCF'_W\OCQX?\__C__Q__GGY[GGGG_
  914. XMGYSWSWG_GY^?^?A_S_IIL]GYSSGYGWP_^?G]YOB+\O\O_/^?\_\______/YS
  915. XMD#SCSASS\_SAQC^?_SG/^?D1AC[CCC[ARSSS\_SSG]F=C[G]GQ_/^?\_____
  916. XM____________________________________________________________
  917. XM__    ^?__\SX'^?P?[_^?^?B1^?______^?SS^?_G\#[G_QD#_G^?P)X?X?
  918. XM^/@#X?_/F-[G@'G_GYP'P'G_@!^?^?A_S_IIN=GYR'GY@/X?^?G]YOS+^?^?
  919. XM_/^?\_\_______[SCQWSWQGYX'GSSS^?_SF?^?F9SSWQGQWQQSS[\_SSS[F=
  920. XMQWS[OC^/^?\?________________________________________________
  921. XM__________________    ^?__YG^#\_B/__^?^?YG^?______\_SS^?_/_Q
  922. XM[G_YCQ_O]/X9\_X?X?@#^'^?D%[WGSG_GYSWSWG_GY^?^?@_S_IIN-GYS_GY
  923. XM@_^'^?G]YOR+^?^?^?^?^?\________#GYG_GYGY\_GSSS^?_S@_^?F9SSGY
  924. XMGYGYS_Q_\_SSS[F=XOS[_'_/^?\_X]______________________________
  925. XM__________________________________    ^?__YG^9\_G)__^?^?__@!
  926. XM__@!__\_SS^?^?_YWG_YGY_O[G_Y__\_A____A\_DUP#GYG_GYS_S_G@GY^?
  927. XM^?D?S_LIO-GYS_GYD?_C^?G]\_Q#]/^?^?^?_/\_______XSGYG_GY@!\_GS
  928. XMSS^?_SA_^?F9SSGYGYGYS_X?\_SSYWR+\?YW^/_G^?Y_P9______________
  929. XM__________________________________________________    ^?__@#
  930. XM^9YCGA__^/\?YG@!__@!__Y_SS^?\__YP!_YGY_/SS_S____A____A\_DUWS
  931. XMGYG_GYS_S_GYGY^?^?F/S_L9OEGYS_GYF/_Q^?G]\?Q'[G^?\_^?_/\_____
  932. XM__SSGYG_GYG_\_SGSS^?_S@_^?F9SSGYGYGYS_^'\_SSYWQ+^/YW\?_G^?Y_
  933. XMR3__________________________________________________________
  934. XM______    ____@#F9Y=GC___/\_B1^?____\_Y_SW^?Y_OY@!OYGY_?SS_S
  935. XM\___X?@#^'__F!W[GYW_GYS_S_WYGY^?^?G'S_L9OQW[S_S[G'OY^?G]\?YG
  936. XM[C^?\_^?_G\_______SSGYG_GYG_\_P/SS^?_SD?^?F9SSGYGYGYS__C\_SS
  937. XM\OQ+]'\OX__G^?Y_F#__________________________________________
  938. XM______________________    ____S/@#S=GG___'X_F9^?\___X?S_YW^?
  939. XMS]G[_GGYC[_?SS_GX?\_^/@#X?__G_OYGYS]G[S]S_SYGY^?^?GCS]NYOQS[
  940. XMS_Q[GCOY^?C[^_YGWS^?Y_^?_G\_______SSCYC[CQS_\_G_SS^?_SF/^?F9
  941. XMSSC[G[CYS_WS\]SS\OYG[C\OQ]_/^?\_O'__________________________
  942. XM______________________________________    ^?__F?P'S=P!___GY_
  943. XM^?^?X?__X?S_X/^?@!P'_GSSP'^?YW^/X?X?_C__Q_\_S_OYGSY[GGS]S_YY
  944. XMGY^?^?GQS]NYOYYWS_X'GQGS^?P#^_YGOY^?Y]^#_S@_______QCASSSQIYY
  945. XM\_@#SS^?_SG'^?F9SSQWCWQQS_SS\;QC^?YGWQ^?CY_/^?\_____________
  946. XM______________________________________________________    ^?
  947. XM__F?^?GCX9___SS_\/^?X?__\_G_\?P#@!X/_GX'X/^_\/P_\_X?_Y__G_\_
  948. XMP!'P '\' ?@!A_\'#PX'^?#X@!&P'\\/A_\?#X@'X'X'^_YG'P\/P!^#_S@_
  949. XM______X1L'X'X8\'X?P!AAX'_S#AX'$(AAX/@/X!A_P'^'X9^?YG#@^?@!_C
  950. XM^?Q_________________________________________________________
  951. XM__________    ______________________^?______________________
  952. XM______^?________\!__________________^?____________X/________
  953. XM__________________________________WY____WS__________G__Y____
  954. XM__________^_____^?__________________________________________
  955. XM__________________________    ______________________^?______
  956. XM______________________^?____________________________^?______
  957. XM______W&__________________________  ______________O]____SS__
  958. XM________G__Y______________\_____^?__________________________
  959. XM__________________________________________    ______________
  960. XM________\_____________________________\_____________________
  961. XM________^______________A__________________________  ________
  962. XM______O]____QW__________G__Y______________]_____^?__________
  963. XM__________________________________________________________  
  964. XM  ______________________Y_____________________________Y_____
  965. XM________________________Q___________________________________
  966. XM______________________@#____X/__________G__Y______________A_
  967. XM____^?______________________________________________________
  968. XM______________    ______________________[___________________
  969. XM__________[_____________________________S___________________
  970. XM______________________________________P'____\?__________#__P
  971. X5______________C_____^?______
  972. Xend
  973. END_OF_FILE
  974. # end of 'font-32/Ugal12x20rI'
  975. fi
  976. if test -f 'font-32/Ugal12x20ru' -a "${1}" != "-c" ; then 
  977.   echo shar: Will not clobber existing file \"'font-32/Ugal12x20ru'\"
  978. else
  979. echo shar: Extracting \"'font-32/Ugal12x20ru'\" \(5331 characters\)
  980. sed "s/^X//" >'font-32/Ugal12x20ru' <<'END_OF_FILE'
  981. Xbegin 644 gal12x20ru.fnt
  982. XM& P4!8                                                      
  983. XM              !@&8 S!@.&!P#  ,,            &!P @'P#X 8#\!P'^
  984. XM#P#X          #P                                            
  985. XM          !\8 ? !    0  (    &   X  $     8 '@              
  986. XM               <!@.                                         
  987. XM                              !@&8 S'X1,#X'@ 8&            ,
  988. XM#X!@/X'\ X#\# /^$8$<          'X  !@_P#\_P?\?\#\\/'X'X\.> X'
  989. XMP'#P?X#P_P'^?^\'X._O\'\'/^!\8 ? #@   P  8    .  !,  , !@ ,X 
  990. XM!@                             P!@#                         
  991. XM                                              !@&8 S/\1,&,'@
  992. XM X'            ,$8#@8<(. X$ & 8$,,(.          .<  !@8($&8<,$
  993. XM,$$&8&!@!@88, 8.8"$<,,$<88,&1B8"8$9B8"8"(,!@, # &P  !@  X   
  994. XM &  !,  < !@ ,8 !@              !              P!@#         
  995. XM                                                            
  996. XM  !@&8!F9N18&,!@ P#            8$,'@0,0&!8$ ,  $,,8&        
  997. XM  (,#X"P8,("8,,$,$("8&!@!@8P, <.<"(,,&(,8,8"!@8",(9B,$,$ ,!@
  998. XM, # ,8  !@  8    &  #   ,     8 !@              !           
  999. XM   8!@&                                                     
  1000. XM                  !@&8'_9F.8&,!@!P#@#P         8,,-@ , &!8( 
  1001. XM,  ,,,8&           ,/\"P8,( 8&, , ( 8&!@!@9@, <.>"(&,&(&8,8"
  1002. XM!@8",(9B.(&( 8!@& # 8,  !X  8    &  #   ,     8 !@          
  1003. XM    #              8!@&                                     
  1004. XM                                  !@&8'_9@ P#X# !@!@!@!@    
  1005. XM   P,,!@ , ."8/X8  (&(8&#    &  8  ,,&"08,8 8&, , 8 8&!@!@; 
  1006. XM, <.6"8&,&8&8,< !@8",(=B&(&( 8!@& #     !X#X9X'X#V#P# 'R-X'@
  1007. XM \8<!@W<)X#X[X#R<X'\?\>>\'_W^/\/?^ 8!@&                     
  1008. XM                                                  !@  #,/@ P
  1009. XM'@& !@!@9F!@       P,,!@ ,!\"8,<9X (#0<.'@#  <  .  88&$8888 
  1010. XM8&,(,(8 8&!@!@> , 663"8&,,8&8(/ !@8"&0=T#0#0 P!@# #      P&,
  1011. XM;\,<,>,,# ,>.<!@ ,8P!@;N><$<<<$>-,,,# ,,8"9B<$8"8. P!@#     
  1012. XM                                                            
  1013. XM      !@  #,'X!@/@$ !@!@=N!@      !@,,!@ 8#\$8 .;\ 8!@/V'@'@
  1014. XM!P?\'@ P9R$8?X8 8&/X/X8 ?^!@!@> , 661B8&-X8&?P'@!@8"&0,T!@!@
  1015. XM P!@# #       $,<.(,(.8&'X8,,,!@ ,9@!@9F,,(.8.(..,,$# ,,,$9B
  1016. XM.(,$0<!P!@#@                                                
  1017. XM                      !@  &8!\# =P  !@!@&8!@      # ,,!@ P .
  1018. XM$8 &<. 0"P'F# '@'@?\!X!@;Z$(8,8 8&,(,(8 8&!@!@? , 661R8&, 8&
  1019. XM? !X!@8"&0-T!@!@!@!@!@#        \8&8 8&8&# 8,,,!@ ,? !@9F,,8&
  1020. XM8&8&, . # ,,,$9B'0,$ X P!@# '"                              
  1021. XM                                      !@  &8!F# 8V  !@!@  ?^
  1022. XM  ?^  # ,,!@!@ &(8 &8& 0$8 &  # >    ># ;*/\8&8 8&, , 8?8&!@
  1023. XM!@;@, 360R8&, 8&;@ <!@8"# .\"P!@!@!@ P#       ',8&8 8&?^# 8,
  1024. XM,,!@ ,> !@9F,,8&8&8&, '@# ,,&(-T#@&(!P 8!@& /F              
  1025. XM                                                      !@  ?\
  1026. XM!F&<8>  !P#@&8?^  ?^  & ,,!@#  &/^ &8& P,, ,    >    ># ;*(,
  1027. XM8&8 8&, , 8&8&!@!@9P, 3F0:8&, 8&9P .!@8"#@.X$8!@# !@ P#     
  1028. XM  ,,8&8 8&8 # ,8,,!@ ,? !@9F,,8&8&8&, !X# ,,&(.T!P&(#@ 8!@& 
  1029. XM-L                                                          
  1030. XM              ?\9F&B8<   P# =N!@    # & ,(!@& 0&?^0&8& @,, ,
  1031. XM#   '@?\!X  9^($8&( 8&, , (&8&!@!@8X, 3F0.($, ,$8X0&!@8"#@&8
  1032. XM$<!@# !@ 8#       ,,8&8 8&8 # /P,,!@ ,;@!@9F,,8&8&8&,  <# ,,
  1033. XM#0.T"X#0'  8!@& 9\                                          
  1034. XM                              ,P?\,B88   X' 9F!@#   '@, &(!@
  1035. XM,"8$ 88&<$ @,, 8'@# !P?\'@  8 0&8&,"8$,", ,&8&!@!@8<,"1&0.,$
  1036. XM, .$8<0&!@<$! &8(,!@& !@ 8#       ,,<&<$<., # 8 ,,!@ ,9P!@9F
  1037. XM,,<$8$<&, (,#",,#0&8$<#0." P!@# 0X                          
  1038. XM                                          !@  9@/X,B/^   8& 
  1039. XM!@!@'@  '@, 'P!@?^/X 8,,/X!@&(!P'@'@ <  . # , 0&8,&$88,", &&
  1040. XM8&!@!@8.,"1&0&&(, 'X8.8,!@/\! &80&!@&"!\ ,?       .<>,,,.6&&
  1041. XM# ?\,,!@ ,8X!@9F,,.(<(.., ,,#D.<!@&8(.!@<& P!@#             
  1042. XM                                                          !@
  1043. XM  9@!@8<'F   ,, #P!@'@  # 8 #@/\?^'P 8'X'P! #P/ # '@ &  8 # 
  1044. XM/^X/_X#X_@?^> #X\/'X!@\'?^Y/X##P> #@\'?X'X'X! &8X/#P/^!\ ,? 
  1045. XM      'N3X'X'G#X'@/^>>'X ,\>'X[W>>'P?P'^> /X!X'F!@&8\?!@?^ <
  1046. XM!@.                                                         
  1047. XM                                    !@                      
  1048. XM      !@        #^                  !@            'P        
  1049. XM                                  (&    (,          8  &    
  1050. XM          !     !@      ____________________________________
  1051. XM____________________________  ______________________________
  1052. XM____________________________________________________________
  1053. XM____________________________________________________________
  1054. XM____________________________________________________________
  1055. XM____________________________________________  ______________
  1056. XM____________________________________________________________
  1057. XM____________________________________________________________
  1058. XM________________________________________________________    
  1059. XM                                                            
  1060. XM                        &                             &     
  1061. XM                        .                                   
  1062. XM                      ?\    'P          8  &              > 
  1063. XM    !@                                                      
  1064. XM                                        $                   
  1065. XM          $                             ,                   
  1066. XM                                      /X    #@          \  /
  1067. X5              <     !@      
  1068. Xend
  1069. END_OF_FILE
  1070. # end of 'font-32/Ugal12x20ru'
  1071. fi
  1072. echo shar: End of archive 22 \(of 61\).
  1073. cp /dev/null ark22isdone
  1074. MISSING=""
  1075. for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
  1076.     21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 \
  1077.     38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 \
  1078.     55 56 57 58 59 60 61 ; do
  1079.     if test ! -f ark${I}isdone ; then
  1080.     MISSING="${MISSING} ${I}"
  1081.     fi
  1082. done
  1083. if test "${MISSING}" = "" ; then
  1084.     echo You have unpacked all 61 archives.
  1085.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1086. else
  1087.     echo You still need to unpack the following archives:
  1088.     echo "        " ${MISSING}
  1089. fi
  1090. ##  End of shell archive.
  1091. exit 0
  1092.