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.
142 lines
4.2 KiB
142 lines
4.2 KiB
/*
|
|
* Adobe Universal Font Library
|
|
*
|
|
* Copyright (c) 1996 Adobe Systems Inc.
|
|
* All Rights Reserved
|
|
*
|
|
* UFLStrm.h -- UFL Output Stream
|
|
*
|
|
*
|
|
* $Header:
|
|
*/
|
|
|
|
#ifndef _H_UFLStrm
|
|
#define _H_UFLStrm
|
|
|
|
/*===============================================================================*
|
|
* Include files used by this interface *
|
|
*===============================================================================*/
|
|
#include "UFL.h"
|
|
|
|
/*===============================================================================*
|
|
* Theory of Operation *
|
|
*===============================================================================*/
|
|
/*
|
|
UFL Output stream buffers and output data in different format such as eexec encrypt data format, and ASCIIHex.
|
|
|
|
*/
|
|
|
|
/*===============================================================================*
|
|
* Constants/Macros *
|
|
*===============================================================================*/
|
|
#ifdef MAC_ENV
|
|
/* Place Mac Macros here.... !!! MAC - Check its correctness!!! */
|
|
#define GET_HIBYTE(c) (((c) & 0x00FF) >> 8)
|
|
#define GET_LOBYTE(c) ((c) & 0xFF00)
|
|
#else
|
|
/* Windows/Intel Macros */
|
|
#define GET_HIBYTE(c) (((c) & 0xFF00) >> 8)
|
|
#define GET_LOBYTE(c) ((c) & 0x00FF)
|
|
#endif
|
|
|
|
/*===============================================================================*
|
|
* Scalar Types *
|
|
*===============================================================================*/
|
|
|
|
|
|
/*==================================================================================================*
|
|
* UFLOutStream *
|
|
*==================================================================================================*/
|
|
|
|
typedef struct UFLOutStream {
|
|
const UFLMemObj *pMem;
|
|
const UFLStream *pStream;
|
|
UFLBool flOutputAscii;
|
|
unsigned long lAddEOL;
|
|
} UFLOutStream;
|
|
|
|
/* Public methods */
|
|
UFLHANDLE StrmInit(
|
|
const UFLMemObj *pMem,
|
|
const UFLStream *stream,
|
|
const UFLBool outputAscii
|
|
);
|
|
|
|
void StrmCleanUp(
|
|
const UFLHANDLE h
|
|
);
|
|
|
|
UFLErrCode StrmPutBytes (
|
|
const UFLHANDLE h,
|
|
const char *data,
|
|
const UFLsize_t len,
|
|
const UFLBool bAscii
|
|
);
|
|
|
|
UFLErrCode StrmPutAsciiHex(
|
|
const UFLHANDLE h,
|
|
const char *data,
|
|
const unsigned long len
|
|
);
|
|
|
|
UFLErrCode
|
|
StrmPutWordAsciiHex(
|
|
const UFLHANDLE h,
|
|
const unsigned short wData
|
|
);
|
|
|
|
UFLErrCode StrmPutAscii85(
|
|
const UFLHANDLE h,
|
|
const char *data,
|
|
const unsigned long len
|
|
);
|
|
|
|
UFLErrCode StrmPutString(
|
|
const UFLHANDLE h,
|
|
const char *data
|
|
);
|
|
|
|
UFLErrCode StrmPutStringBinary(
|
|
const UFLHANDLE h,
|
|
const char *data,
|
|
const unsigned long len
|
|
);
|
|
|
|
UFLErrCode StrmPutInt(
|
|
const UFLHANDLE h,
|
|
const long int i
|
|
);
|
|
|
|
UFLErrCode StrmPutFixed(
|
|
const UFLHANDLE h,
|
|
const UFLFixed f
|
|
);
|
|
|
|
UFLErrCode StrmPutStringEOL(
|
|
const UFLHANDLE h,
|
|
const char *data
|
|
);
|
|
|
|
UFLErrCode StrmPutMatrix(
|
|
const UFLHANDLE h,
|
|
const UFLFixedMatrix *matrix,
|
|
const UFLBool skipEF
|
|
);
|
|
|
|
#define StrmCanOutputBinary( h ) ( ( ((UFLOutStream *)h)->flOutputAscii ) ? 0 : 1)
|
|
|
|
/* Private methods */
|
|
UFLErrCode Output85(
|
|
const UFLHANDLE h,
|
|
unsigned long inWord,
|
|
short nBytes
|
|
);
|
|
|
|
static void Fixed2CString(
|
|
UFLFixed f,
|
|
char *s,
|
|
short precision,
|
|
char skipTrailSpace
|
|
);
|
|
|
|
#endif
|