#if !defined(__FONPUB_H__)
#define __FONPUB_H__
 
#include "CPA_Expt.h"
 
#undef EXTERN
#undef extern
#if !defined(FON_MainFile)
#define EXTERN extern
#else
#define EXTERN
#endif /* FON_MainFile */
 
#ifdef  __cplusplus
extern "C" {
#endif
 
 
typedef long FON_tdxHandleOfText;
#define FON_C_xInvalidTextHandle ((FON_tdxHandleOfText) (-1))
/*typedef enum FON_tdeTypeOfFont_
{
 FON_eUnknow = 0x00,
 
 FON_eGeneralStandard  = 0x10,
 FON_eGeneralUnicode   = 0x20,
 
 FON_e3DObjectStandard = 0x11,
 FON_e3DObjectUnicode  = 0x21,
 
} FON_tdeTypeOfFont;*/
 
/*typedef enum FON_tdeAlignment_
{
 FON_E_LeftAlign   = 0,
 FON_E_UpAlign     = 0,
 FON_E_MiddleAlign = 1,
 FON_E_RightAlign  = 2,
 FON_E_DownAlign   = 2
} FON_tdeAlignment;*/
 
/*typedef enum FON_tdeTypeOfDisplay_
{
 FON_Normal   = 0,
 FON_Disabled = 1,
 FON_Enabled  = 2,
 FON_Selected = 3,
 FON_Pressed  = 4,
} FON_tdeTypeOfDisplay;*/
 
#undef EXTERN
#undef extern
 
/*extern CPA_EXPORT void FON_fn_vSetDeviceAndViewPort(GLD_tdhDevice hGLDDevice,GLD_tdhViewport hGLDViewport,GLD_tdstViewportAttributes *p_stViewportAttr);*/
extern CPA_EXPORT void FON_fn_vInitLoad(void);
extern CPA_EXPORT void FON_fn_vInitFonts(void);
#ifdef ACTIVE_EDITOR
extern CPA_EXPORT void FON_fn_vReInitFonts(void);
#endif /* ACTIVE_EDITOR */
extern CPA_EXPORT void FON_fn_vDesInitFonts(void);
 
extern CPA_EXPORT void FON_fn_vFirstInitFONMemory(unsigned long _ulFontTextMemorySize);
extern CPA_EXPORT void FON_fn_vDesinitFONMemory(void);
extern CPA_EXPORT void FON_fn_vReinitFONMemory(void);
extern CPA_EXPORT void FON_PrintUsedStaticMemory(void);
 
/*extern CPA_EXPORT FON_tdxHandleOfFont FON_fn_xGetFont(char *szFontName);*/
/*extern CPA_EXPORT char *FON_fn_szGetFontName(FON_tdxHandleOfFont hFont);*/
/*extern CPA_EXPORT unsigned char FON_fn_bIsFontExists(char *szFontName);*/
 
/*extern CPA_EXPORT MTH_tdxReal FON_fn_xComputeXWithAlign(FON_tdxHandleOfString hText,MTH_tdxReal x,enum FON_tdeAlignment_ eXAlign);*/
/*extern CPA_EXPORT MTH_tdxReal FON_fn_xComputeYWithAlign(FON_tdxHandleOfString hText,MTH_tdxReal y,enum FON_tdeAlignment_ eYAlign);*/
 
/*extern CPA_EXPORT MTH_tdxReal FON_fn_xWidthOfLetter(FON_tdxHandleOfString hText,unsigned long lIndex);*/
/*extern CPA_EXPORT MTH_tdxReal FON_fn_xWidthOfText(FON_tdxHandleOfString hText,long lIndex);*/
/*extern CPA_EXPORT MTH_tdxReal FON_fn_xHeightOfText(FON_tdxHandleOfString hText);*/
/*extern CPA_EXPORT MTH_tdxReal FON_fn_xWidthOfMultipleText(FON_tdxHandleOfString hText);*/
/*extern CPA_EXPORT MTH_tdxReal FON_fn_xHeightOfMultipleText(FON_tdxHandleOfString hText);*/
/*extern CPA_EXPORT MTH_tdxReal FON_fn_xRealHeightOfText(FON_tdxHandleOfString hText,long lIndex);*/
 
/*extern CPA_EXPORT unsigned long FON_fn_ulGetNumberOfTexts(void);*/
/*extern CPA_EXPORT FON_tdxHandleOfString FON_fn_hGetTextHandleWithFont(char *_szLinkKey,FON_tdxHandleOfFont hFont);*/
/*extern CPA_EXPORT void FON_fn_vChangeFontOfText(FON_tdxHandleOfString hText,FON_tdxHandleOfFont hFont);*/
/*extern CPA_EXPORT FON_tdxHandleOfFont FON_fn_xGetFontOfTextHandle(FON_tdxHandleOfString hText);*/
 
/*extern CPA_EXPORT void FON_fn_vDrawText(FON_tdxHandleOfString hText,MTH_tdxReal x,MTH_tdxReal y,enum FON_tdeAlignment_ eXAlign,enum FON_tdeAlignment_ eYAlign,FON_tdeTypeOfDisplay _eDisplayType);*/
/*extern CPA_EXPORT void FON_fn_vDrawText3D(FON_tdxHandleOfString hText,MTH_tdxReal x,MTH_tdxReal y,MTH_tdxReal z,enum FON_tdeAlignment_ eXAlign,enum FON_tdeAlignment_ eYAlign,FON_tdeTypeOfDisplay _eDisplayType);*/
 
/*extern CPA_EXPORT enum FON_tdeTypeOfFont_ FON_fn_eGetTypeOfFontForText(FON_tdxHandleOfString hText);*/
/*extern CPA_EXPORT char *FON_fn_p_szGetStringPointer(FON_tdxHandleOfString hText);*/
 
/*extern CPA_EXPORT unsigned long FON_fn_ulGetDisplayedLenghtOfText(FON_tdxHandleOfString hText);*/
/*extern CPA_EXPORT unsigned long FON_fn_ulGetTrueLenghtOfText(FON_tdxHandleOfString hText);*/
 
/*extern CPA_EXPORT unsigned short FON_fn_uwGetDisplayedCharacter(FON_tdxHandleOfFont hFont,char *szText,unsigned long lIndex);*/
/*extern CPA_EXPORT unsigned long FON_fn_vGetNextCharacter(FON_tdxHandleOfFont hFont,char *szText,unsigned long lIndex);*/
 
/*extern CPA_EXPORT void FON_fn_vChangeText(FON_tdxHandleOfString hText,char *szText);*/
/*extern CPA_EXPORT void FON_fn_vUpperText(FON_tdxHandleOfString hText);*/
 
/*extern CPA_EXPORT MTH_tdxReal FON_fn_xWidthOfTextByHandle(FON_tdxHandleOfString hText,long lIndex);*/
/*extern CPA_EXPORT MTH_tdxReal FON_fn_xHeightOfTextByHandle(FON_tdxHandleOfString hText);*/
 
/*extern CPA_EXPORT FON_tdxHandleOfString FON_fn_hGetInvalidTextHandle(void);*/
/*extern CPA_EXPORT unsigned char FON_fn_bIsAValidText(FON_tdxHandleOfString hText);*/
 
/*extern CPA_EXPORT struct FON_tdstEffect_ *FON_fn_p_stGetEffectPointer(FON_tdxHandleOfString hText);*/
/*extern CPA_EXPORT GLI_tdstLight *FON_fn_p_stCreateLight(MTH_tdxReal xR,MTH_tdxReal xG,MTH_tdxReal xB,MTH_tdxReal xA);*/
 
/* for binarisation*/
/*
extern CPA_EXPORT void FON_fn_vReadAllFontBinaryBlocs(char* _szBinaryFileName);
extern CPA_EXPORT void FON_fn_vReadBinaryBloc(unsigned long _ulAddress);
extern CPA_EXPORT void FON_fn_vWriteAllFontBinaryBlocs(char* _szBinaryFileName);
extern CPA_EXPORT unsigned long FON_fn_ulWriteBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
extern CPA_EXPORT unsigned long FON_fn_ulWriteEffectBinaryBloc(unsigned long _ulStructAddress, char* _p_cDestBuffer);
extern CPA_EXPORT unsigned long FON_fn_ulWriteStandardEffectBinaryBloc(unsigned long _ulStructAddress,char* _p_cDestBuffer);
extern CPA_EXPORT void FON_fn_vPrepareSaveBinaryBloc();
extern CPA_EXPORT void FON_fn_vResolveEffectBinaryBloc(unsigned long _ulAddress);
extern CPA_EXPORT void FON_fn_vResolveStandardEffectBinaryBloc(unsigned long _ulAddress);
extern CPA_EXPORT void FON_fn_vReadAllTextStringBinaryBlocs(char* _szBinaryFileName);
extern CPA_EXPORT void FON_fn_vReadAndUpdateGeneralFontLinkTable(char* _szFileName);
extern CPA_EXPORT unsigned long FON_fn_vWriteAllFontAndEffectBinaryBlocs(unsigned long ulDataPointer, char* _p_cBuffer);
extern CPA_EXPORT void FON_fn_vWriteFontAndEffect(char* _szBinaryFileName);
extern CPA_EXPORT void FON_fn_vResolveFontAndEffect(unsigned long _ulAddress);
extern CPA_EXPORT void FON_fn_vWriteStdEffect(char* _szBinaryFileName);
*/
 
/* MR0410*/
/*extern CPA_EXPORT void fn_vSaveFONGeneral();*/
/*extern CPA_EXPORT void fn_vReadFONGeneral();*/
 
#ifdef  __cplusplus
}/* extern "C" */
#endif
 
#endif /* __FONPUB_H__ */
