PDA

Ver la Versión Completa : compilar fuentes de letras en el ejecutable


TrUnkS
05-05-2007, 02:16:30
Hola. Todos los caption de los objetos de mi aplicación (Label, GroupBox, CheckBox ....) tienen la fuente "Bodoni MT Black". Eso es porque tengo instalado en mi PC el Office 2003 SP2. Pero en otro pc que no tenga instalado esta fuente no se ve como lo veo yo, entonces aparecen las letras con otra fuente. ¿ Cómo lo puedo hacer para que siempre en cualquier PC que instale mi aplicación se vea con los caracteres y colores que veo yo ?. De antemano gracias

dec
05-05-2007, 02:28:33
Hola,

Tal vez deberías utilizar desde un principio una fuente más o menos estándar, esto es, que casi seguro se encuentre en el sistema en que se ejecute tu aplicación. Las fuentes que Delphi asigna a los objetos en que son menester supongo que ya deben ser más o menos estándar.

Por otro lado, si quieres utilizar una fuente "especial" (y ojo con esto porque no sé yo cómo está el tema de distribuir fuentes... porque estas pueden estar sujetas a Copyright y demás...), digo, que puedes instalarla desde tu aplicación Delphi en el sistema, de modo que la fuente esté disponible.

Respecto de cómo instalar una fuente he encontrado este tipo en la página Web DelphiFaq (http://www.delphifaq.com/faq/f643.shtml):


// Adding the font ..

AddFontResource(PChar('XXXFont.TTF'));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);

// .. removing the font

RemoveFontResource(PChar('XXXFont.TTF'));
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0);


Creo que puede ser mejor que algo que también parece funcionar, que es copiar el archivo de la fuente en el directorio "C:\Windows\Fonts", simplemente. Respecto de añadir al propio ejecutable el archivo de la fuente... pues supongo que podrías hacerlo añadiendo el archivo como un recurso más del ejecutable: echa un vistazo a este Hilo (http://www.clubdelphi.com/foros/showthread.php?t=26435).

TrUnkS
05-05-2007, 08:06:20
Hola. Agregué la función a mi aplicación con el nombre de la fuente que quería agregar y funciona perfecto, de hecho desintalé el Office 2003 y corrí el ejecutable y pueden verse todos los caracteres. Agradecido dec por la respuesta muchas gracias, a alguien le servirá en un futuro. Saludos