home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************/
- /* */
- /* L E E F O N T 1.0 */
- /* */
- /* Programa realizado por Luis Aguilar - 1995 B A S S */
- /* */
- /* Con este programa se pretende ilustrar cómo usar fuentes creadas por */
- /* el programa FUENTES en vuestros propios programas. Esta rutina puede */
- /* usarse libremente, si bien se agradecería una mención al autor en los */
- /* créditos del programa que la utilice. */
- /* */
- /* NOTA: Esta rutina ha sido escrita con Borland C++ versión 3.1 */
- /* */
- /****************************************************************************/
-
- #include <process.h>
- #include <alloc.h>
- #include <string.h>
- #include <stdio.h>
-
- char *buffer; /* Buffer donde guardaremos la fuente */
- char *nombre_fichero="broadway.fnt"; /* Nombre del fichero .FNT */
- FILE *fich;
-
- void main(void)
- {
- /* Reservamos 4 Kb. para cargar la fuente en memoria */
-
- if((buffer=(char *)malloc(4096))==NULL) {
- printf("¡¡ No hay suficiente memoria !!\n");
- exit (1);
- }
-
- /* Abrimos el fichero de la fuente */
-
- if ((fich=fopen(nombre_fichero,"rb"))==NULL) {
- printf("\a\nArchivo %s no encontrado.\n",nombre_fichero);
- exit(1);
- }
-
- fseek(fich, SEEK_SET, 0); /* Nos colocamos al principio del fichero */
- fread(buffer,1,4096,fich); /* Cargamos en memoria 4096 bytes del fichero */
- fclose(fich); /* Cerramos el fichero */
-
-
- /* Activamos el nuevo tipo de letra */
-
- asm {
- mov ax,0x1100 /* Utilizamos la subfunción 11h de la interrupción 10h */
- mov bh,16 /* Bytes por caracter = 16 */
- mov cx,255 /* Número de caracteres a definir = 255 */
- mov dx,0 /* Desplazamiento dentro del bloque = 0 */
- les bp, buffer /* ES:BP apunta al buffer de caracteres */
- int 0x10 /* Llamamos a la interrupción 10h */
- }
-
- free(buffer); /* Liberamos los 4 Kb. de memoria asignada a buffer */
- exit(0); /* Apaga y vámonos ;-) */
- }