Como cambiar las fuentes con Allegro En allegro las funciones textprintf y textout utilizan el parámetro font que será la tipografía que se usara en el texto. Esa fuente normalmente la indicamos como “font”, que es una variable puntero de tipo FONT que apunta a una fuente por defecto de Allegro. Como este puntero, podemos crear otros del mismo tipo FONT que apunten a otras fuentes que nosotros queramos. Para apuntar nuestra variable fuente a una tipografía determinada, debemos encapsularla dentro de un arc hivo .dat. Este archivo lo cargaremos en dentro del programa mediante una variable puntero DATAFILE, de la siguiente forma: DATAFILE *MisDatos; FONT *MiFuente; MisDatos=load_datafile("fuente.dat"); MiFuente=(FONT *)MisDatos[0].dat; El parámetro (FONT *) debe pasarse, para forzar la devolución de un dato tipo FONT . Ahora la variable “MisDatos” apunta a una variable anónima que contiene el archivo “fuente.dat” en forma de Array de datos y la variable “MiFuente” apunta a la posición 0 del Array de datos apuntado por “MisDatos”, que contiene la fuente. Para usarlo, por ejemplo con el textprintf ya no usaremos “font” como tipografía para nuestro texto, sino que usaremos “MiFuente”, de la siguiente manera: textprintf_centre(screen, MiFuente, 200, 200, 0xFF6600, "Hola Mundo"); Esto devolverá el la frase “Hola Mundo” en la posición (200,200) de color Anaranjado y fuente “MiFuente”. Como encapsular la fuente en un archivo .dat Para crear los archivos .dat necesitaremos hacer uso del GRABBER. El Grabber es una aplicación que te facilita allegro y que esta en la carpeta “C:\Dev-Cpp\Allegro\tools\”. Esta aplicación permite encapsular archivos externos de forma solo debemos cargar el DATAFILE, aparte de que al estar en formato binario nos permite proteger nuestros archivos. El único problema que tenemos a la hora de incluir la fuente, es que el grabber no acepta el formato TrueType (los ttf) a los que estamos acostumbrados, por lo que necesitamos convertirlos a otro formato, como por ejemplo PCX, con el programa TTF2PCX que puedes encontrarlo en: http://www.korsarios.net/componentes/ttf2pcx.zip El programa es muy fácil de usar, eliges una de las fuentes de tu sistema y el tamaño y lo transformas en pcx. Una vez hecho esto abrimos el Grabber, y nos vamos al menú Object > New > Font y nos aparecerá un cuadro de dialogo donde le asignaremos un nombre a nuestra fuente. En el recuadro de contenido se añadirá el objeto Font que acabamos de crear. Hacemos doble click sobre el objeto recién creado y nos aparece una pantalla con una lista de fuentes, de distintos tamaños. Presionamos el botón import para importar el PCX que creamos anteriormente y que contiene nuestra tipografía. Al se añadirá nuestra fuente a la lista y procederemos a eliminar las demás. Pulsamos exit para volver a la pantalla principal, nos vamos al menú file > save y guardamos nuestro archivo .dat. Todo esta listo para utilizar la nueva fuente. A este archivo .dat también podemos añadirle imágenes, sonidos, paletas de colores... accediendo a ellos mediante las distintas posiciones del Array, por ejemplo: Si con el Grabber he creado un archivo .dat con los siguientes elementos: - Fuente1 BmpCuadro SampleEfecto MidiCancion Accederemos a ellas en el programa como: FONT *fuente; BITMAP *imagen; SAMPLE *sonido; MIDI *canción; fuente = (FONT *)MisDatos[0].dat; -> Fuente1 imagen = (BITMAP *)MisDatos[1].dat; -> BmpCuadro sonido = (SAMPLE *)MisDatos[2].dat; -> Sample Efecto cancion = (MIDI *)MisDatos[3].dat; -> MidiCancion Espero que este tutorial os sea útil a todos aquellos interesados en Allegro. Alvaro Verdión – www.Korsarios.net