src/lib/gemfont.h 1.5

1.5 2010/03/31 00:07:43 kent
Adding fixed 34 font. Testing and tweaking for postScript output.
Index: src/lib/gemfont.h
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/lib/gemfont.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -b -B -U 1000000 -r1.4 -r1.5
--- src/lib/gemfont.h	27 Mar 2010 04:23:08 -0000	1.4
+++ src/lib/gemfont.h	31 Mar 2010 00:07:43 -0000	1.5
@@ -1,68 +1,69 @@
 /*****************************************************************************
  * Copyright (C) 2000 Jim Kent.  This source code may be freely used         *
  * for personal, academic, and non-profit purposes.  Commercial use          *
  * permitted only by explicit agreement with Jim Kent (jim_kent@pacbell.net) *
  *****************************************************************************/
 #ifndef GEMFONT_H
 #define GEMFONT_H
 
 /* This file supports GEM style fonts.  They live on disk in three parts.
    1st there's the header structure below, then a list of 'x' offsets into
    the data - one 16-bit word for each offset, and 1 offset for each letter
    in the font plus an extra offset at the end.
 
    This is followed by the data which is a single bitmap.
    */
 
 struct	font_hdr {
 WORD	id;			/* some random number, doesnt matter */
 WORD	size;		/* Size in points.  Somehow related to pixel height. */
 char	facename[32];	/* Give it a name, don't really matter. */
 WORD	ADE_lo;		/* Lowest ascii character in font */
 WORD	ADE_hi;		/* Highest ascii character in font */
 WORD	top_dist;
 WORD	asc_dist;	/* Ascender to baseline?? */
 WORD	hlf_dist;
 WORD	des_dist;	/* des for descender. */
 WORD	bot_dist;
 WORD	wchr_wdt;	/* Widest character width. */
 WORD	wcel_wdt;	/* Widest 'cell' width (includes distance to next character) */
 WORD	lft_ofst;
 WORD	rgt_ofst;
 WORD	thckning;
 WORD	undrline;
 WORD	lghtng_m;	/* Lightening mask.  Just use 0x55aa. */
 WORD	skewng_m;	/* Skewing mask for italics. If 1 bit rotate this line. 0xaaaa*/
 WORD	flags;		/* Just set to zero.  Half-assed intel swap if otherwise. */
 signed char *hz_ofst;  /* On disk byte offset from beginning of file to hor. offsets */
 WORD	*ch_ofst;	/* On disk byte offset to beginning of ?? kerning ?? data. */
 UBYTE	*fnt_dta;	/* On disk byte offset to beginning of bitmap. */
 WORD	frm_wdt;	/* Byte width of bitmap. */
 WORD	frm_hgt;	/* Pixel height of bitmap. */
 struct font_hdr	*nxt_fnt; /* Set to 0 */
 WORD    xOff;		/* X offset to add. */
 WORD    yOff;		/* Y offset to add. */
 WORD    lineHeight;     /* Distance to next line. */
+WORD	psHeight;	/* Height to set for equivalent postscript. */
 }; 
 
 #define STPROP 0
 #define MFIXED 1
 #define MPROP 2
 
 /* Write a line of graphics text. */
 void gfText(struct memGfx *screen, struct font_hdr *f, char *text, 
        int x, int y, Color color, TextBlit tblit, Color bcolor);
 
 /* How tall is font? */
 int font_cel_height(struct font_hdr *f);
 
 /* How far to next line. */
 int font_line_height(struct font_hdr *f);
 
 /* How wide would this bunch of characters be? */
 long fnstring_width(struct font_hdr *f, unsigned char *s, int n);
 
 /* How wide is widest char in font? */
 int fwidest_char(struct font_hdr *f);
 
 #endif