1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
/*
* NAME
* pkin.h - header file for readchar()
* SYNOPSIS
* #include "pkfile.h"
*
* int readchar(name, c, cd)
* char name[]; shalfword c; chardesc *cd;
* DESCRIPTION
* Readchar() opens the pkfile `name', checks if it's a legal pkfile,
* and reads the character description of `c' into `cd'. Readchar()
* returns TRUE (1) upon success, FALSE (0) if the character `c' is
* not found in the pkfile.
*
* Parameter `cd' is a pointer to a the following structure:
* typedef struct {
* integer charcode,
* cwidth, cheight,
* xoff, yoff;
* halfword *raster ;
* } chardesc ;
*
* Charcode is the code of the character returned, cwidth and cheight
* respectively the width and height of the character in pixels,
* xoff and yoff are the offsets of first pixel to the reference point
* of the character box.
* Raster is a pointer to the bitmap describing the character. This
* raster consists of cheight rows of (cwidth + 15) /16 words of
* 16 bits each. Each row contains from left to right all cwidth
* pixels of that row.
* WARNING
* If the machine has a default integer size of 16 bits, and 32-bit
* integers must be manipulated with %ld, be carefull!
* AUTHORS
* Piet Tutelaers
* rcpt@urc.tue.nl
*/
#include <stdio.h>
#include <stdlib.h>
/*
* Type declarations. integer must be a 32-bit signed; shalfword must
* be a sixteen-bit signed; halfword must be a sixteen-bit unsigned;
* quarterword must be an eight-bit unsigned.
*/
typedef long integer;
typedef short shalfword ;
typedef unsigned short halfword ;
typedef unsigned char quarterword ;
typedef short Boolean ;
/*
* A chardesc describes an individual character.
*/
typedef struct {
integer charcode,
cwidth, cheight,
xoff, yoff;
halfword *raster ;
} chardesc ;
int readchar();
|