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 };