La Web del Programador: Comunidad de Programadores
 
    Pregunta:  33133 - ¿CÓMO SE PUEDE AÑADIR UNA FUENTE DESDE UNA APLICACIÓN?
Autor:  O.Bernal
Hola

He desarrolado una aplicación que debe usar un deterninada Font. Necesito que la aplicación pueda usar ese mismo tipo de letra en cualquier ordenador, aunque no esté instalada.

¿Alguien me puede dar una idea?

Gracias anticipadas.

  Respuesta:  Miguel Lucero
Acá va el truco:

Para cargarlo, (por ejemplo en el evento OnCreate de tu form):

procedure TForm1.FormCreate(Sender: TObject);
begin
AddFontResource('D:\FONTS\FUENTE.TTF');
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;

Y al salir de tu aplicación, lo liberas con:

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
RemoveFontResource('D:\FONTS\FUENTE.TTF');
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);
end;

La ubicación de la fuente puede ser la misma que la aplicación por lo que deberías cambiar D:\FONTS por la ruta de la de aplicación o usar la función ExtractFilePath( Application.Exename) para saber en que ruta está tu exe.