|
|
DataMuseum.dkPresents historical artifacts from the history of: Commodore CBM-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Commodore CBM-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3198 (0xc7e)
Types: TextFile
Notes: UNIX file
Names: »fmgr.h«
└─⟦f27320a65⟧ Bits:30001972 Commodore 900 hard disk image with partial source code
└─⟦2d53db1df⟧ UNIX Filesystem
└─⟦this⟧ »hr/hdr/fmgr.h«
# define FM_MAXFONT 8 /* maximum number of fonts */
# define FM_MAXNLEN 12 /* font maximum name length */
# define FM_MAXCHAR 256 /* maximum number of characters */
# define FNOT_EXST -1 /* font does not exist */
# define MEM_ALLOC_FAIL -2 /* memory allocation failed */
# define FILE_OPEN_FAIL -3 /* file open failed */
# define FONT_NULL 0
# define TAB_FILLED -2 /* active font table filled
8 fonts are already loaded */
# define FONT_NOT_OPEN -1 /* font file not open */
# define FCLOSE_OK 0 /* font file close successful */
# define SYS_FID 0 /* system font id */
# define SYS_FNAME "sysfont" /* system font file name */
# define SYS_FNULL "\0" /* system font file name null */
/* library structure */
typedef struct Font_Header
{
int ffirst_char; /* ASCII of first defined character */
int flast_char; /* ASCII of last defined character */
char font_ascent; /* # of raster lines above base line */
char font_descent; /* # of raster lines below base line */
char font_leading; /* # of blank lines between rows of text */
char fmax_width; /* maximum character width */
char fmin_width; /* minimum character width */
char ffont_name[FM_MAXNLEN]; /* name of font file */
char unused1; /* may be maxkern field */
char unused2; /* may be maxfwidth field */
char unused3; /* only because pete insisted */
char fopen_count; /* # of applications using a font */
BITMAP font_map; /* the font bitmap structure */
int *loctable; /* pointer to location table
bit offset to font rectangle
sizeof(flast_char - ffirst_char + 3) */
int *kwtable; /* pointer to kern/width table
high byte = amount of kern
low byte = width of character rect.
sizeof(flast_char - ffirst_char + 3) */
} FONT_HEADER;
/* IOCTL structures */
typedef struct Getptr
{
int gfid; /* font id number */
int gch; /* ascii character */
BITMAP gbmap; /* bitmap structure filled by FM_getch() */
POINT gpoint; /* top left corner of character */
int gkern, /* byte which represents the amount by
which to back up the cursor prior to
printing the character */
gascent, /* # of raster lines to move up before
starting to print the top raster of
the character */
gdescent, /* # of raster lines below the base line */
gleading, /* # of raster lines the cursor should
drop down */
gawdth; /* actual width of stored character */
} GETPTR;