Path: utzoo!attcan!uunet!seismo!sundc!pitstop!sun!decwrl!ucbvax!DKAUNI11.BITNET!RY04 From: RY04@DKAUNI11.BITNET Newsgroups: comp.sys.atari.st Subject: GDOS font format Message-ID: <8903201246.AA03205@ucbvax.Berkeley.EDU> Date: 20 Mar 89 12:46:34 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 59 X-Unparsable-Date: Mon, 20 Mar 89 13:45:58 MEZ in article <0317891715.KSR|CLJ@HARVARD.HARVARD.EDU> 00000100 has been asked for the format of GDOS fonts. 00000200 00000300 here it is: 00000400 00000500 typedef struct 00000600 { 00000700 int font_id; /* number of font, standard is : 00000800 01 - SYSTEM 00000900 02 - SWISS 00001000 14 - DUTCH 00001100 15 - TYPEWRITER */ 00001200 int point; /* size in point mesurement */ 00001300 char name[32]; /* name of font. In the first 00001400 16 chars there is written the 00001500 name itself, in the rest there 00001600 is written the typeface */ 00001700 unsigned int first_ade; /* first character in font */ 00001800 unsigned int last_ade; /* last character in font */ 00001900 unsigned int top; /* difference topline<->baseline */ 00002000 unsigned int ascent; /* difference ascent<->baseline */ 00002010 unsigned int half; /* difference halfline<->baseline */ 00002020 unsigned int descent; /* difference descentl<->baseline */ 00002030 unsigned int bottom; /* difference bottoml<->baseline */ 00002040 unsigned int max_charwidth;/* max char width */ 00002050 unsigned int max_cellwidth;/* max cell width */ 00002060 unsigned int left_offset; /* left offset for cursive */ 00002070 unsigned int right_offset; /* right offset for cur */ 00002080 unsigned int thicken; /* factor for bold */ 00002090 unsigned int ul_size; /* thickness of underline */ 00002091 unsigned int lighten; /* mask for lightened style */ 00002092 unsigned int skew; /* mask for cursive style */ 00002093 unsigned int flags; /* Bit 0 : default system font 00002094 Bit 1 : use "horizontal offset 00002100 table 00002200 Bit 2 : Intel format (0) or Moto- 00002300 rola format (1). GDOS 00002400 fonts MUST be in Moto- 00002500 rola !! */ 00002600 unsigned int *hor_table; /* pointer to "horizontal offset 00002700 table"; in a file the offset 00002800 to its beginning */ 00002900 unsigned int *off_table; /* pointer to "character offset 00003000 table" */ 00003100 unsigned int *dat_table; /* pointer to font image */ 00003200 unsigned int form_width; /* width of font image */ 00003300 unsigned int form_heigth; /* height of font image */ 00003400 FONT_HDR *nextfont; /* pointer to next fontheader 00003500 (in a font file not used) */ 00003600 unsigned int font_seg; /* so called "ATARI DATA FLAG" ??*/ 00003700 } FONT_HDR; 00003800 00003900 I hope this will help you... 00004000 00004100 Valli 00004200 00004300 00004400 00004500 00004600