home *** CD-ROM | disk | FTP | other *** search
/ PD Collection CD 1 / PD Collection CD 1.iso / textual / tex / files / !tex / TeXsource / beebe / h / outrow < prev    next >
Encoding:
Text File  |  1990-12-18  |  1.1 KB  |  32 lines

  1. /* -*-C-*- outrow.h */
  2. /*-->outrow*/
  3. /**********************************************************************/
  4. /******************************* outrow *******************************/
  5. /**********************************************************************/
  6.  
  7. void
  8. #ifdef __STDC__
  9. outrow(BYTE c, UNSIGN16 yoff)
  10. #else
  11. outrow(c,yoff)    /* copy img_row[] into rasters[] if allocated, else no-op */
  12. BYTE c;        /* current character value */
  13. UNSIGN16 yoff;    /* offset from top row (0,1,...,hp-1) */
  14. #endif
  15. {
  16.     register UNSIGN16 k;    /* loop index */
  17.     register UNSIGN32 *p;    /* pointer into img_row[] */
  18.     register UNSIGN32 *q;    /* pointer into rasters[] */
  19.     register struct char_entry *tcharptr; /* temporary char_entry pointer */
  20.     UNSIGN16 words_per_row;    /* number of raster words to copy */
  21.  
  22.     tcharptr = &(fontptr->ch[c]);
  23.     if (tcharptr->rasters != (UNSIGN32*)NULL)
  24.     {
  25.     words_per_row = (UNSIGN16)(tcharptr->wp + 31) >> 5;
  26.     p = tcharptr->rasters + yoff*words_per_row;
  27.     q = img_row;
  28.     for (k = words_per_row; k; --k)    /* copy img_row[] into rasters[] */
  29.         *p++ = *q++;
  30.     }
  31. }
  32.