/*************************************************************************** * globals.h - TrueType Font Manager global data declaration. * * $keywords: globals.h 1.3 17-Mar-94 2:38:47 PM$ * * Copyright (C) 1992-93 ElseWare Corporation. All rights reserved. ***************************************************************************/ #ifndef __GLOBALS_H__ #define __GLOBALS_H__ #define ERR_FAIL 0 #define NOERR 1 #include // // Constants // #define MAX_NAME_LEN 64 #define MAX_LOG_NAME_LEN 32 #define MAX_PATH_LEN MAX_PATH #define MAX_FILE_LEN MAX_PATH_LEN // #define MAX_DIRS 32 #define IDX_NULL 0xFFFF // index out of range #define IDX_ZERO 0x0000 #define PANOSE_LEN 10 #define COPYRIGHT_LEN 60 // // Defines // #define PATHMAX MAX_PATH // path length max - used for Get...Directory() calls #define DESCMAX 129 // max description in newexe header #define MODNAMEMAX 20 // max module name in newexe header // // Name/string types // typedef TCHAR FullPathName_t[ PATHMAX ]; typedef TCHAR FontDesc_t[ DESCMAX ]; typedef TCHAR ModName_t[ MODNAMEMAX ]; typedef TCHAR LOGNAME[ MAX_LOG_NAME_LEN + 1 ]; // log font name typedef TCHAR FAMNAME[ MAX_LOG_NAME_LEN + 1 ]; // font Family name typedef TCHAR FONTNAME[ MAX_NAME_LEN + 1 ]; typedef TCHAR PATHNAME[ MAX_PATH_LEN + 1 ]; typedef TCHAR FILENAME[ MAX_FILE_LEN + 1 ]; // // Globals // extern BOOL g_bTrace; extern BOOL g_bDiag; extern BOOL g_bTimer; extern HINSTANCE g_hInst; extern TCHAR g_szType1Key[]; extern TCHAR c_szTrueType[]; extern TCHAR c_szOpenType[]; extern TCHAR c_szPostScript[]; extern TCHAR c_szDescFormat[]; extern TCHAR szNull[]; extern FullPathName_t s_szSharedDir; // // Far East character handling. // extern BOOL g_bDBCS; // // Number of references to objects in this dll // extern LONG g_cRefThisDll; // // Types // typedef short RC; typedef WORD SFIDX; /* display sorted index into font list */ typedef WORD FTIDX; typedef WORD POINTSIZE; /* Size of point measurement */ // EMR: This needs to be a WORD so it fits in the ListITEMDATA struct. //typedef int FONTNUM; /* Font number */ typedef WORD FONTNUM; /* Font number */ typedef FONTNUM* PFONTNUM; /* Font number */ typedef FONTNUM FAR* LPFONTNUM; /* Font number */ // // typedefs. // // // Font description info. Used during installation and to retrieve info // about a font. // // szFile must is filled in by calling proc. The rest is filled in depending // on the flags. // #define FDI_DESC 1 #define FDI_FAMILY 2 #define FDI_PANOSE 4 #define FDI_STYLE 8 #define FDI_ALL (DWORD)(15) #define FDI_NONE 0 #define FDI_VTC 16 // Version Trademark and copyright. // // Style bits. These can be OR'd together // #define FDI_S_REGULAR 0 #define FDI_S_BOLD 1 #define FDI_S_ITALIC 2 typedef struct { DWORD dwFlags; FullPathName_t szFile; FontDesc_t szDesc; FAMNAME szFamily; DWORD dwStyle; WORD wWeight; TCHAR jPanose[ PANOSE_LEN ]; // // These strings are allocated by the routine that actually retrieves // the strings. They should be deleted using the C++ delete[] operator. // TCHAR * lpszVersion; TCHAR * lpszTrademark; TCHAR * lpszCopyright; } FONTDESCINFO, FAR * LPFONTDESCINFO; void FONTDESCINFO_Init(FONTDESCINFO *pfdi); void FONTDESCINFO_Destroy(FONTDESCINFO *pfdi); inline void FONTDESCINFO_Init(FONTDESCINFO *pfdi) { ZeroMemory(pfdi, sizeof(*pfdi)); } inline void FONTDESCINFO_Destroy(FONTDESCINFO *pfdi) { delete[] pfdi->lpszVersion; delete[] pfdi->lpszTrademark; delete[] pfdi->lpszCopyright; FONTDESCINFO_Init(pfdi); } // // Enums // typedef enum { eFKNone = 0, eFKDevice, eFKTrueType, eFKOpenType, eFKTTC, eFKType1 } eFileKind; typedef enum _tagMPVIEW { eVFont = 0, eVFamily, eVFile, eVPanose } MPVIEW; extern BOOL NEAR PASCAL bIsTrueType( LPFONTDESCINFO lpFile, LPDWORD pdwTableTags = NULL, LPDWORD lpdwStatus = NULL ); extern BOOL NEAR PASCAL bIsNewExe( LPFONTDESCINFO lpFile ); extern int GetFontsDirectory( LPTSTR pszPath, size_t cchPath); extern BOOL WriteToRegistry( LPTSTR lpDesc, LPTSTR lpFile ); extern int FAR PASCAL iUIErrMemDlg(HWND hwndParent); // Everyone needs this extern int FAR PASCAL iUIMsgBox( HWND hwndParent, WORD wIDStr, WORD wCAPStr, UINT uiMBFlags, LPCTSTR wArg1 = 0, LPCTSTR wArg2 = 0, LPCTSTR wArg3 = 0, LPCTSTR wArg4 = 0); // // These are 3 simple covers which make calling the message routine // much simpler. // int FAR PASCAL iUIMsgBoxWithCaption(HWND hwndParent, WORD wIDStr, WORD wCaption); int FAR PASCAL iUIMsgYesNoExclaim(HWND hwndParent, WORD wIDStr, LPCTSTR wArg = 0); int FAR PASCAL iUIMsgYesNoExclaim(HWND hwndParent, WORD wIDStr, WORD wCap, LPCTSTR wArg=0); int FAR PASCAL iUIMsgOkCancelExclaim(HWND hwndParent, WORD wIDStr, WORD wCap, LPCTSTR wArg=0); int FAR PASCAL iUIMsgRetryCancelExclaim(HWND hwndParent, WORD wIDStr, LPCTSTR wArg=0 ); int FAR PASCAL iUIMsgExclaim(HWND hwndParent, WORD wIDStr, LPCTSTR wArg = 0); int FAR PASCAL iUIMsgBox(HWND hwndParent, WORD wIDStr, LPCTSTR wArg = 0); int FAR PASCAL iUIMsgInfo(HWND hwndParent, WORD wIDStr, LPCTSTR wArg = 0); // // Special-purpose message box for reporting font validation failures. // dwStatusCode must be one of FVS_XXXXXXXX values as defined in fvscodes.h // int iUIMsgBoxInvalidFont(HWND hwndParent, LPCTSTR pszFontFile, LPCTSTR pszFontDesc, DWORD dwStatusCode, UINT uStyle = (MB_OKCANCEL | MB_ICONEXCLAMATION)); #include "fvscodes.h" // \nt\private\windows\shell\control\t1instal\fvscodes.h // Contains FVS_xxxxx codes and related macros. #endif /* __GLOBALS_H_ */ /**************************************************************************** * $lgb$ * 1.0 7-Mar-94 eric Initial revision. * 1.1 9-Mar-94 eric Background thread and g_hDBMutex * 1.2 9-Mar-94 eric Added Gdi mutex. * 1.3 17-Mar-94 eric Removed mutex handles. * $lge$ * ****************************************************************************/