/*
	File:		PartialFontExtensions.proto

	Contains:	Prototype information for the file PartialFontExtensions.c

	Written by:	John Farmer

	Copyright:	© 1992 by Apple Computer, Inc., all rights reserved.

	Change History (most recent first):

		 <3>	  4/1/92	YK		#1023997: InitializePartialFonts should be a pascal function.
		 <2>	 3/30/92	DTY		#1025684: Make InitializePartialFonts take a Size parameter so
									that the caller can specify how large to make the partial font
									sub-zone.

		<2>		06/03/91	John Farmer - Added length parameter to FindOrCreateFragment.
		
		<1>		03/23/91	John Farmer - Created file.
														
*/


#ifndef			__PartialFontExtensionsPrototypes__
#define			__PartialFontExtensionsPrototypes__


// Include Statements


	#include	"FragmentTable.h"
	#include	"Memory.h"
	#include	"PartialFontExtensions.h"
	

// Prototypes


	THz									GetPartialFontZone( void );
	FragmentTableCacheStructureHandle	GetGlobalFontFragmentTableCache( void );
	void								VerifyPartialFontStructures( void );
	pascal Size							PartialFontZoneGrowZoneProcedure( Size memoryNeeded );
	pascal OSErr						InitializePartialFonts( Size partialFontZoneSize );
	void*								QDGetFontFrag( Handle splineFont, long offset, long length );
	void								QDUngetFontFrag( Handle splineFont, void* data );
	void								KillApplicationHeapFragmentTableCaches( Handle startAddress, Handle endAddress );

	long								PackStringClass( short platformID, short scriptID, short languageID );
	void								UnpackStringClass( long class, short* platformIDPointer, short *scriptIDPointer, short *languageIDPointer );

	void*								GetSplineDirectoryFragmentPointer( Handle splineFont );
	void*								PartialGetFontTablePtr( Handle splineFont, long offset, long length, long tableIndex, long splineTag );
	void*								GetFontTablePtr( Handle splineFont, long tableIndex, long splineTag );
	
	long								ApplyFontMap( Handle splineFont, long platformIndex, short* glyphPointer, long glyphCount, char* streamPointer, long* streamLengthPointer );
	long								GetFontMapInfo( Handle splineFont, long platformIndex, long class );
	

#endif			__PartialFontExtensionsPrototypes__