Annotation of 42BSD/ucb/fed/fed.h, revision 1.1.1.1

1.1       root        1: /*     fed.h   4.1     83/03/09        */
                      2: /*
                      3:  * fed.h: global definitions for font editor.
                      4:  */
                      5: 
                      6: #include <stdio.h>
                      7: #include <ctype.h>
                      8: #include <vfont.h>
                      9: #include <signal.h>
                     10: #include <setjmp.h>
                     11: 
                     12: /* current windows - what's on the screen */
                     13: 
                     14: #define SCRHI  360             /* number of pixels on the screen */
                     15: #define SCRWID 720             /* width in pixels of the screen */
                     16: #define NROW   3               /* number of rows of glyphs on the screen */
                     17: #define NCOL   7               /* number of cols of glyphs in a row */
                     18: #define NWIND  (NROW*NCOL)     /* number of windows */
                     19: #define GLCOL  100             /* width of a glyph window */
                     20: #define GLROW  100             /* height of a glyph window */
                     21: #define GLPAD  3               /* number of pixels between windows */
                     22: #define WINDSIZE (((GLCOL+7)>>3)*GLROW)        /* size in bytes of a window */
                     23: #define BASELINE 22            /* number of pixels below baseline in window */
                     24: #define SLOPE  (3.5)           /* Amount to slant italic vertical line */
                     25:                                /* equal to about 15.94 degrees */
                     26:                                /* for 5 degree caligraphy slant use 11.43 */
                     27: 
                     28: #define ESC    '\033'  /* The ASCII escape character */
                     29: 
                     30: #define abs(x)         ((x) <  0  ? (-(x)) : (x))
                     31: #define max(x,y)       ((x) > (y) ?   (x)  : (y))
                     32: #define min(x,y)       ((x) < (y) ?   (x)  : (y))
                     33: 
                     34: typedef char *bitmat;
                     35: 
                     36: int    changes;        /* nonzero if changes since last write */
                     37: char   curchar;        /* current character being edited */
                     38: int    curcurs;        /* 1 if cursor is on now */
                     39: int    currb;          /* 1 if rubber band lie is on now */
                     40: int    curs_r, curs_c; /* position in current window of graphics cursor */
                     41: int    curwind;        /* current open window number */
                     42: int    curzoom;        /* 1 to 9 - current zoom level of screen */
                     43: int    editing;        /* in file I/O command, true if editing font */
                     44: jmp_buf        env;
                     45: long   fbase;          /* first loc in font file of bits */
                     46: FILE * fontdes;        /* open for reading, current font */
                     47: char   fontfile[100];  /* name of the font file */
                     48: int    hpensize;       /* size of heavy pen in pixels diameter of dot */
                     49: char   msgbuf[100];    /* scratch space to sprintf into for messages */
                     50: int    nextwind;       /* the next free window to grab */
                     51: int    oldzoom;        /* the value of curzoom before a message */
                     52: int    pen_r, pen_c;   /* row/col in current glyph of logical pen */
                     53: int    pencolor;       /* 0=erase, 1=draw */
                     54: int    penweight;      /* 0=fine, 1=heavy */
                     55: int    pointsize;      /* point size of current font */
                     56: int    QUIET;          /* true if -q flag */
                     57: char   stoutbuf[BUFSIZ];       /* for speed */
                     58: FILE   *trace;         /* for debugging output */
                     59: char   tracebuf[BUFSIZ];       /* for speed */
                     60: int    und_p_r, und_p_c;       /* pen_r, pen_c for undo */
                     61: int    und_c_r, und_c_c;       /* curs_r, curs_c for undo */
                     62: 
                     63: struct header          FontHeader;
                     64: struct dispatch        disptable[256];
                     65: 
                     66: struct cwind   {
                     67:        bitmat  val;            /* what we are making it into */
                     68:        bitmat  onscreen;       /* what's currently on the screen */
                     69:        bitmat  undval;         /* the previous version */
                     70:        char    used;           /* the character using this window */
                     71: } wind[NROW * NCOL];
                     72: 
                     73: struct cht {
                     74:        int     wherewind;      /* >=0: window # on screen, -1: in file, -2: use whereat */
                     75:        bitmat  whereat;        /* where it can be found */
                     76:        int     nrow, ncol;     /* size of char */
                     77:        int     rcent, ccent;   /* bit location of lower left corner of main part of char */
                     78: } cht[256];
                     79: 
                     80: struct place {
                     81:        int     c, r;
                     82: } base[NROW * NCOL];           /* lower left corner of each window */
                     83: 
                     84: char   penmat[10][10];         /* 0 or 1 as the pen is.  5,5 is center */
                     85: float  sqrtmat[10][10];        /* table of sqrt(i**2+j**2) for speed */
                     86: 
                     87: char   *rdchar();
                     88: char   esccmd();
                     89: bitmat newmat();
                     90: bitmat findbits();
                     91: int    onsig();
                     92: int    onintr();
                     93: float  sqrt();
                     94: 
                     95: int    matcnt[10];

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.