00001 #pragma once
00002
00003 #include <afxtempl.h>
00004
00005 class CFontInstaller
00006 {
00007 HANDLE (WINAPI *pAddFontMemResourceEx)(PVOID,DWORD,PVOID,DWORD*);
00008 BOOL (WINAPI *pRemoveFontMemResourceEx)(HANDLE);
00009 int (WINAPI *pAddFontResourceEx)(LPCTSTR,DWORD,PVOID);
00010 BOOL (WINAPI *pRemoveFontResourceEx)(LPCTSTR,DWORD,PVOID);
00011 BOOL (WINAPI *pMoveFileEx)(LPCTSTR, LPCTSTR,DWORD);
00012
00013 CList<HANDLE> m_fonts;
00014 CList<CString> m_files;
00015 bool InstallFontMemory(const void* pData, UINT len);
00016 bool InstallFontFile(const void* pData, UINT len);
00017
00018 public:
00019 CFontInstaller();
00020 virtual ~CFontInstaller();
00021
00022 bool InstallFont(const CArray<BYTE>& data);
00023 bool InstallFont(const void* pData, UINT len);
00024 void UninstallFonts();
00025 };