|
|
#ifndef __PCONTROL_H__
#define __PCONTROL_H__
#ifdef __cplusplus
extern "C" { #endif
#include "fvscodes.h" // FVS_xxxxxx (font validation status) codes & macros.
// \nt\private\windows\shell\control\t1instal\fvscodes.h
//
// Global definitions
//
//
// Note for file macros below.
// The LZxxx functions are no longer used in the macro substitutions.
// The need to use LZxxx implementations is a function of the file type, not
// the target platform. Wherever LZxxx functions are required, they
// are now used explicitely.
//
#define FOPEN( sz, lpsz, cch ) MyOpenFile( sz, lpsz, cch, OF_READ )
#define FREAD( fh, buf, len ) MyAnsiReadFile( fh, CP_ACP, buf, len )
#define FWRITE( fh, buf, len ) MyAnsiWriteFile( fh, CP_ACP, buf, len )
#define FREADBYTES(fh,buf,len) MyByteReadFile( fh, buf, len )
#define FWRITEBYTES(fh,buf,len) MyByteWriteFile( fh, buf, len )
#define FSEEK( fh, off, i ) MyFileSeek( fh, (DWORD) off, i )
#define FCLOSE( fh ) MyCloseFile( fh )
#define FCREATE( sz ) MyOpenFile( sz, NULL, 0, OF_READWRITE | OF_CREATE )
//
// Global variables
//
extern FullPathName_t e_szDirOfSrc; extern UINT s_wBrowseDoneMsg;
//
// Flags for ReadLine
//
#define RL_MORE_MEM -1
#define RL_SECTION_END -2
#define SEEK_BEG 0
#define SEEK_CUR 1
#define SEEK_END 2
#define PRN 148
#define MON_OF_YR 276
#define MOUSE MON_OF_YR+48
#define INSTALL MOUSE+16
//
// Font file types used in Fonts applet - installation
//
#define NOT_TT_OR_T1 0 // Neither TrueType or Type 1 font (FALSE)
#define TRUETYPE_FONT 1 // This is a TrueType font (TRUE)
#define TYPE1_FONT 2 // This is an Adobe Type1 font
#define TYPE1_FONT_NC 3 // Type1 font that cannot be converted to TT
#define OPENTYPE_FONT 4 // Font is OpenType.
//
// Font file types used in Fonts applet - Main dlg "Installed Fonts" lbox
//
#define IF_OTHER 0 // TrueType or Bitmap 1 font (FALSE)
#define IF_TYPE1 1 // Adobe Type1 font
#define IF_TYPE1_TT 2 // Matching TT font for Adobe Type1 font
#define T1_MAX_DATA (2 * PATHMAX + 6)
//
// Return codes from InstallT1Font routine
//
#define TYPE1_INSTALL_IDOK IDOK // User pressed OK from MessageBox error
#define TYPE1_INSTALL_IDYES IDYES // Same as IDOK
#define TYPE1_INSTALL_IDNO IDNO // Font not installed - user pressed NO
#define TYPE1_INSTALL_IDCANCEL IDCANCEL // Entire installation cancelled
#define TYPE1_INSTALL_PS_ONLY 10 // Only the PS Font installed.
#define TYPE1_INSTALL_PS_AND_MTT 11 // PostScript Font installed and matching
// TT font already installed.
#define TYPE1_INSTALL_TT_AND_PS 12 // PS Font installed and converted to TT.
#define TYPE1_INSTALL_TT_ONLY 13 // PS Font converted to TT only.
#define TYPE1_INSTALL_TT_AND_MPS 14 // PS Font converted to TT and matching
// PS font already installed.
//
// Global functions
//
//
// append.cpp
//
BOOL FAR PASCAL fnAppendSplitFiles( LPTSTR FAR *, LPTSTR, int );
//
// instfls.c
//
typedef int (FAR PASCAL *INSTALL_PROC)(HWND hDlg, WORD wMsg, int i, LPTSTR FAR *pszFiles, LPTSTR lpszDir );
#define IFF_CHECKINI 0x0001
#define IFF_SRCANDDST 0x0002
#define IF_ALREADY_INSTALLED 1
#define IF_ALREADY_RUNNING 2
#define IF_JUST_INSTALLED 3
PTSTR FAR PASCAL CopyString( LPTSTR szStr ); PTSTR FAR PASCAL MyLoadString( WORD wId ); LPTSTR FAR PASCAL CpyToChr( LPTSTR pDest, LPTSTR pSrc, TCHAR cChr, int iMax );
VOID FAR PASCAL GetDiskAndFile( LPTSTR pszInf, short /* int */ FAR *nDsk, LPTSTR pszDriver, WORD wSize );
DWORD FAR PASCAL InstallFiles( HWND hwnd, LPTSTR FAR *pszFiles, int nCount, INSTALL_PROC lpfnNewFile, WORD wFlags );
//
// PFONT.CPP
//
class CFontManager; extern BOOL FAR PASCAL bCPAddFonts( HWND ma );
#define CPDI_CANCEL -1
#define CPDI_FAIL 0
#define CPDI_SUCCESS 1
extern int FAR PASCAL CPDropInstall( HWND hwndParent, LPTSTR szFile, size_t cchFile, DWORD dwEffect, LPTSTR lpszDestName = NULL, int iCount = 0 );
extern VOID FAR PASCAL vCPDeleteFromSharedDir( LPTSTR pszFileOnly ); extern VOID FAR PASCAL vCPFilesToDescs( ); extern BOOL NEAR PASCAL bUniqueOnSharedDir( LPTSTR lpszDst, size_t cchDst, LPTSTR lpszSrc ); extern VOID NEAR PASCAL vHashToNulls( LPTSTR lpStr ); extern BOOL FAR PASCAL bUniqueFilename (LPTSTR lpszDst, size_t cchDst, LPTSTR lpszSrc, LPTSTR lpszDir);
//
// cpsetup.c
//
typedef WORD (*LPSETUPINFPROC)( LPTSTR, LPVOID ); extern DWORD ReadSetupInfSection( LPTSTR pszInfPath, LPTSTR pszSection, LPTSTR *ppszSectionItems );
extern WORD ReadSetupInfCB( LPTSTR pszInfPath, LPTSTR pszSection, LPSETUPINFPROC, LPVOID pData);
extern int FAR PASCAL ReadSetupInfIntoLBs( HWND hLBName, HWND hLBDBase, WORD wAddMsg, LPTSTR pszSection, WORD (FAR PASCAL *lpfnGetName)(LPTSTR, LPTSTR) );
//
// PINSTALL.CPP
//
extern BOOL FAR PASCAL bCPInstallFile( HWND hwndParent, LPTSTR lpDir, LPTSTR lpFrom, LPTSTR lpTo );
//
// PFILES.CPP
//
extern BOOL FAR PASCAL bCPValidFontFile( LPTSTR lpszFile, LPTSTR lpszDesc, size_t cchDesc, WORD FAR *lpwType = NULL, BOOL bFOTOK = FALSE, LPDWORD lpdwStatus = NULL); //
// PUTIL.CPP
//
extern BOOL FAR PASCAL bCPSetupFromSource( ); extern BOOL FAR PASCAL bCPIsHelp( WORD message ); extern BOOL FAR PASCAL bCPIsBrowseDone( WORD message ); extern RC FAR PASCAL rcCPLoadFontList( ); extern VOID FAR PASCAL vCPHelp( HWND ); extern VOID FAR PASCAL vCPStripBlanks( LPTSTR lpszString, size_t cchString ); extern VOID FAR PASCAL vCPUpdateSourceDir( ); extern VOID FAR PASCAL vCPWinIniFontChange( ); extern VOID FAR PASCAL vCPPanelInit( ); extern LPTSTR FAR PASCAL lpCPBackSlashTerm( LPTSTR lpszPath, size_t cchPath ); extern BOOL bFileIsInFontsDirectory(LPCTSTR lpszPath); extern int FAR PASCAL DoDialogBoxParam( int nDlg, HWND hParent, DLGPROC lpProc, DWORD dwHelpContext, LPARAM dwParam);
extern HANDLE PASCAL wCPOpenFileWithShare( LPTSTR, LPTSTR, size_t, WORD );
extern UINT MyAnsiReadFile( HANDLE hFile, UINT uCodePage, LPVOID lpUnicode, DWORD cchUnicode );
extern UINT MyAnsiWriteFile( HANDLE hFile, UINT uCodePage, LPVOID lpUnicode, DWORD cchUnicode );
extern UINT MyByteReadFile( HANDLE hFile, LPVOID lpBuffer, DWORD nBytes ); extern UINT MyByteWriteFile( HANDLE hFile, LPVOID lpBuffer, DWORD nBytes ); extern BOOL MyCloseFile( HANDLE hFile ); extern LONG MyFileSeek( HANDLE hFile, LONG lDistanceToMove, DWORD dwMoveMethod ); extern HANDLE MyOpenFile( LPTSTR lpszFile, TCHAR * lpszPath, size_t cchPath, DWORD fuMode );
VOID CentreWindow( HWND hwnd );
LPVOID AllocMem( DWORD cb ); BOOL FreeMem( LPVOID pMem, DWORD cb ); LPTSTR AllocStr( LPTSTR lpStr ); BOOL FreeStr( LPTSTR lpStr ); BOOL ReallocStr( LPTSTR *plpStr, LPTSTR lpStr );
/* t1.cpp */
BOOL CheckT1Install( LPTSTR pszDesc, LPTSTR pszData, size_t cchData); BOOL DeleteT1Install( HWND hwndParent, LPTSTR pszDesc, BOOL bDeleteFiles ); BOOL EnumType1Fonts( HWND hLBox ); BOOL GetT1Install( LPTSTR pszDesc, LPTSTR pszPfmFile, size_t cchPfmFile, LPTSTR pszPfbFile, size_t cchPfbFile ); int InstallT1Font( HWND hwndParent, BOOL bCopyTTFile, BOOL bCopyType1Files, BOOL bInSharedDir, LPTSTR szPfmName, size_t cchPfmName, LPTSTR szDesc, size_t cchDesc );
HWND InitProgress( HWND hwnd ); BOOL InstallCancelled(void); void InitPSInstall( ); BOOL IsPSFont( LPTSTR lpszKey, LPTSTR lpszDesc, size_t cchDesc, LPTSTR lpszPfm, size_t cchPfm, LPTSTR lpszPfb, size_t cchPfb, BOOL *pbCreatedPFM, LPDWORD lpdwStatus = NULL );
BOOL OkToConvertType1ToTrueType(LPCTSTR pszFontDesc, LPCTSTR pszPFB, HWND hwndParent);
BOOL ExtractT1Files( LPTSTR pszMulti, LPTSTR pszPfmFile, size_t cchPfmFile, LPTSTR pszPfbFile, size_t cchPfbFile ); void Progress2( int PercentDone, LPTSTR szDesc ); void RemoveDecoration( LPTSTR pszDesc, BOOL bDeleteTrailingSpace ); void ResetProgress( ); void TermProgress( ); void TermPSInstall( ); void UpdateProgress( int iTotalCount, int iFontInstalling, int iProgress );
BOOL WriteType1RegistryEntry( HWND hwndParent, LPTSTR szDesc, LPTSTR szPfmName, LPTSTR szPfbName, BOOL bInFontsDir );
BOOL BuildType1FontResourceName(LPCTSTR pszPfm, LPCTSTR pszPfb, LPTSTR pszDest, DWORD cchDest);
#define MAX_TYPE1_FONT_RESOURCE (MAX_PATH * 2) // 2 paths + separator.
#ifdef __cplusplus
} #endif
#endif
/****************************************************************************
* $lgb$ * 1.0 7-Mar-94 eric Initial revision. * $lge$ * ****************************************************************************/
|