/**
 ** fdv_grx.h -- GRX native font file format
 **
 ** Copyright (c) 1995 Csaba Biegl, 820 Stirrup Dr, Nashville, TN 37221
 ** [e-mail: csaba@vuse.vanderbilt.edu]
 **
 ** This file is part of the GRX graphics library.
 **
 ** The GRX graphics library is free software; you can redistribute it
 ** and/or modify it under some conditions; see the "copying.grx" file
 ** for details.
 **
 ** This library is distributed in the hope that it will be useful,
 ** but WITHOUT ANY WARRANTY; without even the implied warranty of
 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 **
 **/

#ifndef __FDV_GRX_H_INCLUDED__
#define __FDV_GRX_H_INCLUDED__

/*
 *  font file structure:
 *  +-----------------------+
 *  |     FILE HEADER       |
 *  +-----------------------+
 *  |     PROPORTIONAL      |
 *  |     WIDTH TABLE       |
 *  |     (16 bit ints)     |
 *  |     (prop fonts only) |
 *  +-----------------------+
 *  |     BITMAP            |
 *  +-----------------------+
 */

#define GRX_NAMEWIDTH   16
#define GRX_FONTMAGIC   0x19590214L
#define GRX_FONTMAGIC_SWAPPED 0x14025919L

typedef struct _GR_fontFileHeaderGRX {  /* the header */
    GR_int32u magic;                  /* font file magic number */
    GR_int32u bmpsize;                /* character bitmap size */
    GR_int16u width;                  /* width (average for proportional) */
    GR_int16u height;                 /* font height */
    GR_int16u minchar;                /* lowest character code in font */
    GR_int16u maxchar;                /* highest character code in font */
    GR_int16u isfixed;                /* nonzero if fixed font */
    GR_int16u encoding;               /* font encoding (0=unknown) */
    GR_int16u baseline;               /* baseline from top of font */
    GR_int16u undwidth;               /* underline width (at bottom) */
    char      fnname[GRX_NAMEWIDTH];  /* font file name (w/o path) */
    char      family[GRX_NAMEWIDTH];  /* font family name */
} GrFontFileHeaderGRX;

#endif /* whole file */

