Leaked source code of windows server 2003
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.
 
 
 
 
 
 

90 lines
3.9 KiB

/*
* Adobe Universal Font Library
*
* Copyright (c) 1996 Adobe Systems Inc.
* All Rights Reserved
*
* UFOttt1.h - TrueType downloaded as type 1 implementation.
*
*
* $Header:
*/
#ifndef _H_UFOTTT1
#define _H_UFOTTT1
/*===============================================================================*
* Include files used by this interface *
*===============================================================================*/
#include "UFO.h"
/*===============================================================================*
* Theory of Operation *
*===============================================================================*/
/*
TrueType downloaded as type 1 implementation (Unhinted outline font).
*/
/*===============================================================================*
* Constants *
*===============================================================================*/
/*===============================================================================*
* Scalar Types *
*===============================================================================*/
/* CSBufStruct uses to buffer and encrypt CharString */
typedef struct {
char* pBuf;
char* pPos; // points to current position within buffer.
char* pEnd ;
unsigned long ulSize;
UFLMemObj* pMemObj; /* Memory object */
} CSBufStruct;
/* Public functions */
/* These three functions should have "static" in front... --jfu */
static CSBufStruct* CSBufInit( const UFLMemObj *pMem );
static void CSBufCleanUp( CSBufStruct *h );
static UFLErrCode CSBufAddNumber( CSBufStruct *h, long dw );
#define CSBufBuffer( h ) (((CSBufStruct *)h)->pBuf)
#define CSBufRewind( h ) (((CSBufStruct *)h)->pPos = ((CSBufStruct *)h)->pBuf)
#define CSBufCurrentSize( h) (((CSBufStruct *)h)->pEnd - ((CSBufStruct *)h)->pBuf) /* Return the current availability size of the CharString Buffer */
#define CSBufCurrentLen( h ) (((CSBufStruct *)h)->pPos - ((CSBufStruct *)h)->pBuf) /* Return the current usage of the CharString buffer */
#define CSBufAddChar( h, c ) ( *(((CSBufStruct *)h)->pPos)++ = c )
#define CSBufFreeLen( h ) (((CSBufStruct *)h)->pEnd - ((CSBufStruct *)h)->pPos) /* The left room usable in the CharString buffer */
#ifdef DEBUG_ENGLISH
void CSBufAddString( CSBufStruct *h, char* str );
void CSBufAddFixed( CSBufStruct *h, UFLFixed f );
#endif
/*==================================================================================================*
* UFOTTT1Font - type 1 *
*==================================================================================================*/
typedef struct {
/* TT1 Data starts from here */
CSBufStruct *pCSBuf; /* CharString buffer */
UFLTTT1FontInfo info; /* True Type Font info. */
unsigned short eexecKey;
} TTT1FontStruct;
UFOStruct *TTT1FontInit( const UFLMemObj *pMem, const UFLStruct *pUFL, const UFLRequest *pRequest );
#endif