Mega Code Archive

 
Categories / Delphi / System
 

Adding TrueType fonts to windows in code

Title: Adding TrueType fonts to windows in code. Question: How do I add a TrueType font to Windows 95 in code? Answer: ou should copy the file to the Windows\Fonts directory, then add an entry to the registry key: "'Software\Microsoft\Windows\CurrentVersion\Fonts". The entry will be the font name and the path (if different than the Windows\Fonts directory). Once the registry entry is written, you should make a call to the Windows API function AddFontRecource(), then broadcast a system-wide WM_FONTCHANGE message. Finally, you should make a call to the Windows API function RemoveFontRecource(), to remove the resource lock on the font file, and broadcast a second system-wide WM_FONTCHANGE message. Here is an example: uses Registry; procedure TForm1.Button1Click(Sender: TObject); var reg: TRegistry; b : bool; begin CopyFile('C:\DOWNLOAD\FP000100.TTF', 'C:\WINDOWS\FONTS\FP000100.TTF', b); reg := TRegistry.Create; reg.RootKey := HKEY_LOCAL_MACHINE; reg.LazyWrite := false; reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Fonts', false); reg.WriteString('TESTMICR (TrueType)','FP000100.TTF'); reg.CloseKey; reg.free; {Add the font resource} AddFontResource('c:\windows\fonts\FP000100.TTF'); SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); {Remove the resource lock} RemoveFontResource('c:\windows\fonts\FP000100.TTF'); SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); end;