<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif">Muchas gracias José. Elijo la solución "sencilla" :-)<br></div><div class="gmail_default" style="font-family:verdana,sans-serif">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. <br></div><div class="gmail_default" style="font-family:verdana,sans-serif">Gracias también a ti, Iván por el intento. ;-)<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">El 11 de febrero de 2015, 15:26, José Mejuto <span dir="ltr"><<a href="mailto:joshyfun@gmail.com" target="_blank">joshyfun@gmail.com</a>></span> escribió:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">El 11/02/2015 a las 12:34, Juan M. Puertas escribió:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hola.<span class=""><br>
He hecho una aplicación que dibuja en un TImage una serie de canvas con<br>
elipses, líneas, etc. y quisiera añadir unos símbolos de una fuente ttf<br>
que no está en el Sistema.<br>
</span></blockquote>
<br>
Hola,<br>
<br>
Tienes dos opciones, la "sencilla" es usar la unit freetype o LazFreeType <a href="http://wiki.lazarus.freepascal.org/LazFreeType" target="_blank">http://wiki.lazarus.<u></u>freepascal.org/LazFreeType</a><br>
<br>
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.<br>
<br>
El primer modo es multiplataforma, el segundo sólo Windows.<br>
<br>
Sólo para Windows sería algo como esto, en versión simplificada.<br>
<br>
procedure TForm1.FormCreate(Sender: TObject) ;<br>
begin<br>
AddFontResource('c:\FONTS\<u></u>MyFont.TTF') ;<br>
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;<br>
end;<br>
<br>
// Al cerrar el form principal!<br>
procedure TForm1.FormDestroy(Sender: TObject) ;<br>
begin<br>
RemoveFontResource('C:\FONTS\<u></u>MyFont.TTF') ;<br>
SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0) ;<br>
end;<br>
<br>
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.<span class="HOEnZb"><font color="#888888"><br>
<br>
-- <br></font></span><div class="HOEnZb"><div class="h5">
<br>
<br>
______________________________<u></u>_________________<br>
Lazarus-es mailing list<br>
<a href="mailto:Lazarus-es@lists.lazarus.freepascal.org" target="_blank">Lazarus-es@lists.lazarus.<u></u>freepascal.org</a><br>
<a href="http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es" target="_blank">http://lists.lazarus.<u></u>freepascal.org/mailman/<u></u>listinfo/lazarus-es</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature"><i><font size="1"><span>Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje
en un tiempo.</span></font></i></div>
</div>