home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / GLEN / FONTFI.ZIP / MAKEHOLL.C < prev    next >
Text File  |  1987-10-14  |  1KB  |  75 lines

  1. /**********************************
  2.  * MAKEHOLLOW.C
  3.  *
  4.  * Make HP Fonts Hollow
  5.  *
  6.  * James Bumgardner 1987
  7.  **********************************/
  8.  
  9. #include <stdio.h>
  10. #include <ctype.h>
  11. #include "ffilters.h"
  12.  
  13. process_font_header()
  14. {
  15.     /* nada */
  16. }
  17.  
  18. process_char(h,w)            /* Process pmap[0] --> pmap[1] */
  19. {
  20.     register int y,x;
  21.     register char sflg;
  22.     for (y = 0; y < h; ++y)    /* Blank Output */
  23.         for (x = 0; x < w; ++x)
  24.             pmap[1][y][x] = 0;
  25.  
  26.     for (y = 0; y < h; ++y)
  27.     {                    /* Mark Horizontal Edges */
  28.         sflg = 0;
  29.         for (x = 0; x < w; ++x)
  30.         {
  31.             if (pmap[0][y][x])
  32.             {
  33.                 if (sflg == 0)
  34.                 {
  35.                     pmap[1][y][x] = 1;
  36.                     sflg = 1;
  37.                 }
  38.             }
  39.             else {
  40.                 if (sflg)
  41.                 {
  42.                     pmap[1][y][x-1] = 1;
  43.                     sflg = 0;
  44.                 }
  45.             }
  46.         }
  47.         if (sflg)    pmap[1][y][x-1] = 1;
  48.     }
  49.  
  50.     for (x = 0; x < w; ++x)
  51.     {
  52.         sflg = 0;
  53.         for (y = 0; y < h; ++y)
  54.         {                /* Mark Vertical Edges */
  55.             if (pmap[0][y][x])
  56.             {
  57.                 if (sflg == 0)
  58.                 {
  59.                     pmap[1][y][x] = 1;
  60.                     sflg = 1;
  61.                 }
  62.             }
  63.             else
  64.             {
  65.                 if (sflg)
  66.                 {
  67.                     pmap[1][y-1][x] = 1;
  68.                     sflg = 0;
  69.                 }
  70.             }
  71.         }
  72.         if (sflg)    pmap[1][y-1][x] = 1;
  73.     }
  74. }
  75.