[Lazarus-es] Graficos: ttf que no está en el Sistema

Juan M. Puertas soft.sirius en gmail.com
Mie Feb 11 23:24:15 CET 2015


Muchas gracias José. Elijo la solución "sencilla" :-)
He estado investigando , y voy a tener que reconvertir tres objetos Timage
con sus numerosos Canvas, etc., a TBitmap. Seguro que se me ocurre algún
truco para que no sea engorroso.
Gracias también a ti, Iván por el intento. ;-)

El 11 de febrero de 2015, 15:26, José Mejuto <joshyfun en gmail.com> escribió:

> El 11/02/2015 a las 12:34, Juan M. Puertas escribió:
>
>> ​Hola.
>> He hecho una aplicación que dibuja en un TImage una serie de canvas con
>> elipses, líneas, etc. y quisiera añadir unos símbolos de una fuente ttf
>> que no está en el Sistema.
>>
>
> Hola,
>
> Tienes dos opciones, la "sencilla" es usar la unit freetype o LazFreeType
> http://wiki.lazarus.freepascal.org/LazFreeType
>
> La "complicada" es que para usar una font en Windows has de registrarla en
> el sistema, lo que es básicamente lo mismo que instalar la fuente, pero
> puedes hacerlo de modo temporal, esto es, que el registro sólo es válido
> mientras tu programa esté en ejecución y se desregistra al salir. Además no
> necesita que la fuente esté en Windows\fonts si no que puede estar donde tu
> quieras.
>
> El primer modo es multiplataforma, el segundo sólo Windows.
>
> Sólo para Windows sería algo como esto, en versión simplificada.
>
> procedure TForm1.FormCreate(Sender: TObject) ;
> begin
>   AddFontResource('c:\FONTS\MyFont.TTF') ;
>   SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
> end;
>
> // Al cerrar el form principal!
> procedure TForm1.FormDestroy(Sender: TObject) ;
> begin
>   RemoveFontResource('C:\FONTS\MyFont.TTF') ;
>   SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;
> end;
>
> Aunque yo lo haría en el lpr, no en el form, para que la fuente esté
> disponible para todos los forms, y lo protegería con un try...finally.
>
> --
>
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>



-- 
*Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje
en un tiempo.*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20150211/27b11359/attachment-0002.html>


More information about the Lazarus-es mailing list