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.
|
|
/*
* 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
|