Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/***
** ** Module: T1Parser ** ** Description: ** This is a module of the T1 to TT font converter. The module ** contains functions that is used by the Builder moduler, to ** manage the lowlevel writing to the TT font file, as well as ** generic check sum, table length and table offset computations. ** ** Author: Michael Jansson ** ** Created: 5/26/93 ** ***/
#ifndef FWRITER_H
#define FWRITER_H
#ifndef _ARGS
# define IN const
# define OUT
# define INOUT
# define _ARGS(arg) arg
#endif
#define TBL_OS2 (USHORT)0
#define TBL_CMAP (USHORT)1
#define TBL_CVT (USHORT)2
#define TBL_FPGM (USHORT)3
#define TBL_GASP (USHORT)4
#define TBL_GLYF (USHORT)5
#define TBL_HEAD (USHORT)6
#define TBL_HHEA (USHORT)7
#define TBL_HMTX (USHORT)8
#define TBL_KERN (USHORT)9
#define TBL_LOCA (USHORT)10
#define TBL_MAXP (USHORT)11
#define TBL_NAME (USHORT)12
#define TBL_POST (USHORT)13
#define TBL_PREP (USHORT)14
#define NUMTBL 15L
#define TBLDIRSIZE (4L+4L+4L+4L)
/* Referenced types. */ typedef struct ioFile OutputFile;
/***
** Function: WriteTableHeader ** ** Description: ** This function initiates a TT font file, by initiating ** a handle used when writing the tables and by writing ** the leading table dictionary of the file. ***/ void WriteTableHeader _ARGS((INOUT OutputFile *file));
/***
** Function: OpenOutputFile ** ** Description: ***/ OutputFile *OpenOutputFile _ARGS((IN char *name));
/***
** Function: CloseOutputFile ** ** Description: ***/ errcode CloseOutputFile _ARGS((INOUT OutputFile *fp));
/***
** Function: FileError ** ** Description: ***/ boolean FileError _ARGS((INOUT OutputFile *fp));
/***
** Function: FileTell ** ** Description: ***/ long FileTell _ARGS((INOUT OutputFile *fp));
/***
** Function: WriteLong ** ** Description: ** This function writes a 32-bit integer in the ** Big Endian byte order, regardless of the ** used byte order. ***/ void WriteLong _ARGS((IN ULONG val, INOUT OutputFile *file));
/***
** Function: WriteShort ** ** Description: ** This function writes a 16-bit integer in the ** Big Endian byte order, regardless of the used ** byte order. ***/ void WriteShort _ARGS((IN USHORT val,
INOUT OutputFile *file)); /***
** Function: WriteByte ** ** Description: ** This function writes an 8-bit integer in the ** Big Endian byte order, regardless of used ** byte order. ***/ void WriteByte _ARGS((IN UBYTE val, INOUT OutputFile *file));
/***
** Function: WriteChecksum ** ** Description: ** This function completes the whole TT font file, ** by computing the check sum of the whole file and writing ** it at the designated place. ***/ void WriteChecksum _ARGS((IN long offset, INOUT OutputFile *file));
/***
** Function: FileSeek ** ** Description: ***/ long FileSeek _ARGS((INOUT OutputFile *fp,
IN long where)); /***
** Function: WriteBytes ** ** Description: ***/ USHORT WriteBytes _ARGS((IN UBYTE *buf, IN USHORT len, INOUT OutputFile *fp)); /***
** Function: CompleteTable ** ** Description: ** This function completes a TT font file table, ** by computing the check sum and writing it, the ** table length and table offset to the table directory ** of the TT font file. ** ** Please note the dependency that this function must ** be called right after the last byte of the contents ** of the table have been written. ***/ errcode CompleteTable _ARGS((IN long offset, IN USHORT num, INOUT OutputFile *file)); /***
** Function: RemoveFile ** ** Description: ** Removes an already closed output file. ***/ void RemoveFile _ARGS((IN char *name)); #endif
|