106 lines
2.1 KiB
C
106 lines
2.1 KiB
C
/***
|
|
**
|
|
** Module: FReader
|
|
**
|
|
** Description:
|
|
** This is a module of the T1 to TT font converter. The module
|
|
** contains functions that decodes and decrypts the data of a
|
|
** T1 font file.
|
|
**
|
|
** Author: Michael Jansson
|
|
**
|
|
** Created: 5/26/93
|
|
**
|
|
***/
|
|
|
|
|
|
#ifndef _ARGS
|
|
# define IN const
|
|
# define OUT
|
|
# define INOUT
|
|
# define _ARGS(arg) arg
|
|
#endif
|
|
#ifndef FASTCALL
|
|
# ifdef MSDOS
|
|
# define FASTCALL __fastcall
|
|
# else
|
|
# define FASTCALL
|
|
# endif
|
|
#endif
|
|
|
|
enum ftype {pfb_file, mac_file, ascii_file};
|
|
|
|
struct FRHandle;
|
|
struct FontFile;
|
|
|
|
|
|
|
|
/***
|
|
** Function: GetByte
|
|
**
|
|
** Description:
|
|
** Pull one byte out of the T1 font file.
|
|
***/
|
|
short FASTCALL GetByte _ARGS((INOUT struct FontFile *ff));
|
|
|
|
|
|
/***
|
|
** Function: Decrypt
|
|
**
|
|
** Description:
|
|
** Decrypt a byte.
|
|
***/
|
|
UBYTE FASTCALL Decrypt _ARGS((INOUT USHORT *r, IN UBYTE b));
|
|
|
|
|
|
/***
|
|
** Function: FRCleanUp
|
|
**
|
|
** Description:
|
|
** Free the resources used when reading/decoding data from
|
|
** a T1 font file.
|
|
***/
|
|
errcode FRCleanUp _ARGS((INOUT struct FontFile *ff));
|
|
|
|
|
|
/***
|
|
** Function: FRInit
|
|
**
|
|
** Description:
|
|
** Initite the resources needed to read/decode data from
|
|
** a T1 font file.
|
|
***/
|
|
errcode FRInit _ARGS((IN char *name,
|
|
IN enum ftype,
|
|
OUT struct FontFile **));
|
|
/***
|
|
** Function: GetSeq
|
|
**
|
|
** Description:
|
|
** Pull one sequence of bytes that are delimited by
|
|
** a given pair of characters, e.g. '[' and ']'.
|
|
***/
|
|
char *GetSeq _ARGS((INOUT struct FontFile *ff,
|
|
OUT char *buf,
|
|
IN USHORT len));
|
|
/***
|
|
** Function: Get_Token
|
|
**
|
|
** Description:
|
|
** Pull one token from the T1 font file. A token
|
|
** is delimited by white space and various brackets.
|
|
***/
|
|
char *Get_Token _ARGS((INOUT struct FontFile *ff,
|
|
OUT char *buf,
|
|
IN USHORT len));
|
|
/***
|
|
** Function: GetNewLine
|
|
**
|
|
** Description:
|
|
** Pull one whole line from the T1 font file, starting at
|
|
** the current position.
|
|
***/
|
|
char *GetNewLine _ARGS((INOUT struct FontFile *ff,
|
|
OUT char *buf,
|
|
IN USHORT len));
|