Trigger, no te enfades repitiendo.. es que preguntas cosas dificiles 
Hacer el visor es mas o menos facil:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void TForm1::UpdateText()
{
Memo1->Font->Name = ComboBox1->Text;
Memo1->Font->Size = 20;
Memo1->Text = ComboBox1->Text;
}
int CALLBACK EnumProc(LOGFONT *logfont, TEXTMETRIC *textmetric, DWORD type, LPARAM data)
{
TComboBox *cb = (TComboBox *)data;
cb->Items->Add(String (logfont->lfFaceName));
return 1;
}
void __fastcall TForm1::FormCreate(TObject *Sender)
{
EnumFonts(Canvas->Handle,NULL,(FONTENUMPROC) EnumProc,(LPARAM)ComboBox1);
ComboBox1->ItemIndex=ComboBox1->Items->IndexOf(Memo1->Font->Name);
UpdateText();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBox1Click(TObject *Sender)
{
UpdateText();
}
//---------------------------------------------------------------------------
el .h
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TPanel *Panel1;
TComboBox *ComboBox1;
TMemo *Memo1;
void __fastcall FormCreate(TObject *Sender);
void __fastcall ComboBox1Click(TObject *Sender);
private: // User declarations
void UpdateText();
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Si las fonts no estan instaladas, puedes usar la funcion del Apì AddFontResourceEx.
int AddFontResourceEx(
LPCTSTR lpszFilename, // font file name
DWORD fl, // font characteristics
PVOID pdv // reserved
);
Toda la info sobre esta funcion la tienes en el sdk de guindows. (http://www.microsoft.com/msdownload/platformsdk/sdkupdate/)
Suerte, ya diras si sacas algo.