FREC/NUMERO.CPP
2021-09-08 21:11:45 +02:00

2131 lines
79 KiB
C++
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#include <graphics.h>
#include <string.h>
#include <ctype.h>
#include <graphics.h>
///////////////////////////////////
#include <math.h>
///////////////////////////////////
#include <conio.h>
// #define 0± e
// #define ÿ 0
// ^ Caracter 255
int TabS[255];
typedef struct
{
int x, y;
char ndigitos;
char AX, AY;
char C1, C2, C3;
} p_graphics;
int Numero_Digital( long numero, p_graphics *ND );
void Fuente_Amplia( char *Frase, p_graphics *FA );
void Fuente_Amplia2( char *Frase, p_graphics *FA );
int Numero_Digital( long numero, p_graphics *ND )
{
// Son 9 digitos VARIABLES
// 0
// _________ _________ _________ _________ _________ _________ _________
// |\______ /| |\______ /| |\______ /| |\______ /| |\______ /| |\______ /| |\______ /|
// | | | | | | | | | | | | | | | | | | | | | | | | | | | |
//3 | | 1 | | 5 | | | | | | | | | | | | | | | | | | | | | | | |
// | /-----\ | | /-----\ | | /-----\ | | /-----\ | | /-----\ | | /-----\ | | /-----\ |
// | \-----/ | | \-----/ | | \-----/ | | \-----/ | | \-----/ | | \-----/ | | \-----/ |
//4 | | | | 6 | | | | | | | | | | | | | | | | | | | | | | | |
// | |_____| | | |_____| | | |_____| | | |_____| | | |_____| | | |_____| | | |_____| |
// |/_______\| |/_______\| |/_______\| |/_______\| |/_______\| |/_______\| |/_______\|
// 2
static char dnumero[9] = { -1, -1, -1, -1, -1, -1, -1, -1, -1 };
static char Dn[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
static ndigitos1 = -1;
static char vez = 0;
static p_graphics ND1;
if (
ND1.x != ND -> x || ND1.y != ND -> y ||
ND1.ndigitos != ND -> ndigitos ||
ND1.AX != ND -> AX || ND1.AY != ND -> AY
/*ndigitos1 != ndigitos*/
) { dnumero[0] = -1; dnumero[1] = -1; dnumero[2] = -1;
dnumero[3] = -1; dnumero[4] = -1; dnumero[5] = -1;
dnumero[6] = -1; dnumero[7] = -1; dnumero[8] = -1;
Dn[0] = 0; Dn[1] = 0; Dn[2] = 0;
Dn[3] = 0; Dn[4] = 0; Dn[5] = 0;
Dn[6] = 0; Dn[7] = 0; Dn[8] = 0;
//ndigitos1 = ndigitos;
ND1 = *ND;
vez = 0;
}
// { 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F };
char dnum=0, i, j, digital;
int punto[10];
int CONST = 0;
char DnTmp[2];
char signo = 0;
static old_signo = 0;
// ndigitos - 1
// if ( numero > 999999 || numero < -99999 ) return -1;
// 1000000
if ( numero < 0 ) { numero *= -1;
signo = 1;
}
if ( signo != old_signo ) vez = 0;
setcolor(ND -> C3);
// char old_dnum;
for( i=0; i < ND -> ndigitos; i++ )
{
// old_dnum = dnum;
dnum = numero % 10;
digital = numero;
numero /= 10;
if ( dnumero[ ND -> ndigitos - 1 - i] != dnum || digital == 0 || vez == 0 )
{
// digital = dnumero[5 - i];
dnumero[ND -> ndigitos - 1 - i] = dnum;
//////// Esta parte del c¢digo imprime el digito en pantalla
CONST = 12*ND -> AX*(ND -> ndigitos - 1 - i);
DnTmp[1] = Dn[ND -> ndigitos - 1 -i];
// if ( i == 5 && signo == 1 ) Dn[5-i] = 2; else
// Antes de nada, eliminamos los cero a la izquierda
if ( digital == 0 && i != 0 ) { Dn[ND -> ndigitos - 1 -i] = 0; dnumero[ND -> ndigitos - 1 - i] = -1; } else
switch( dnum )
{
case 0:
Dn[ND -> ndigitos - 1 -i] = 0x7D; // 0111 1101
break;
case 1:
Dn[ND -> ndigitos - 1 -i] = 0x60; // 0110 0000
break;
case 2:
Dn[ND -> ndigitos - 1 -i] = 0x37; // 0011 0111
break;
case 3:
Dn[ND -> ndigitos - 1 -i] = 0x67; // 0110 0111
break;
case 4:
Dn[ND -> ndigitos - 1 -i] = 0x6A; // 0110 1010
break;
case 5:
Dn[ND -> ndigitos - 1 -i] = 0x4F; // 0100 1111
break;
case 6:
Dn[ND -> ndigitos - 1 -i] = 0x5F; // 0101 1111
break;
case 7:
Dn[ND -> ndigitos - 1 -i] = 0x61; // 0110 0001
break;
case 8:
Dn[ND -> ndigitos - 1 -i] = 0x7F; // 0111 1111
break;
case 9:
Dn[ND -> ndigitos - 1 -i] = 0x6F; // 0110 1111
break;
}
DnTmp[0] = Dn[ND -> ndigitos - 1 -i];
for( j=0; j<7; j++ )
{
if ( DnTmp[1]%2 != DnTmp[0]%2 || vez == 0 )
{
if ( DnTmp[0]%2 )
setfillstyle(SOLID_FILL, ND -> C1);
else
setfillstyle(SOLID_FILL, ND -> C2);
switch( j )
{
case 0:
punto[0] = 0*ND -> AX + CONST + ND -> x; punto[1] = 0*ND -> AY + ND -> y;
punto[2] = 10*ND -> AX + CONST + ND -> x; punto[3] = 0*ND -> AY + ND -> y;
punto[4] = 8*ND -> AX + CONST + ND -> x; punto[5] = 2*ND -> AY + ND -> y;
punto[6] = 2*ND -> AX + CONST + ND -> x; punto[7] = 2*ND -> AY + ND -> y;
punto[8] = 0*ND -> AX + CONST + ND -> x; punto[9] = 0*ND -> AY + ND -> y;
fillpoly( 5, punto );
break;
case 3:
punto[0] = 0*ND -> AX + CONST + ND -> x; punto[1] = 0*ND -> AY + ND -> y;
punto[2] = 2*ND -> AX + CONST + ND -> x; punto[3] = 2*ND -> AY + ND -> y;
punto[4] = 2*ND -> AX + CONST + ND -> x; punto[5] = 9*ND -> AY + ND -> y;
punto[6] = 1*ND -> AX + CONST + ND -> x; punto[7] = 10*ND -> AY + ND -> y;
punto[8] = 0*ND -> AX + CONST + ND -> x; punto[9] = 9*ND -> AY + ND -> y;
fillpoly( 5, punto );
break;
case 5:
punto[0] = 10*ND -> AX + CONST + ND -> x; punto[1] = 0*ND -> AY + ND -> y;
punto[2] = 10*ND -> AX + CONST + ND -> x; punto[3] = 9*ND -> AY + ND -> y;
punto[4] = 9*ND -> AX + CONST + ND -> x; punto[5] = 10*ND -> AY + ND -> y;
punto[6] = 8*ND -> AX + CONST + ND -> x; punto[7] = 9*ND -> AY + ND -> y;
punto[8] = 8*ND -> AX + CONST + ND -> x; punto[9] = 2*ND -> AY + ND -> y;
fillpoly( 5, punto );
break;
case 1:
int punto1[12];
punto1[0] = 1*ND -> AX + CONST + ND -> x; punto1[1] = 10*ND -> AY + ND -> y;
punto1[2] = 2*ND -> AX + CONST + ND -> x; punto1[3] = 9*ND -> AY + ND -> y;
punto1[4] = 8*ND -> AX + CONST + ND -> x; punto1[5] = 9*ND -> AY + ND -> y;
punto1[6] = 9*ND -> AX + CONST + ND -> x; punto1[7] = 10*ND -> AY + ND -> y;
punto1[8] = 8*ND -> AX + CONST + ND -> x; punto1[9] = 11*ND -> AY + ND -> y;
punto1[10] = 2*ND -> AX + CONST + ND -> x; punto1[11] = 11*ND -> AY +ND -> y;
fillpoly( 6, punto1 );
break;
case 4:
punto[0] = 1*ND -> AX + CONST + ND -> x; punto[1] = 10*ND -> AY + ND -> y;
punto[2] = 2*ND -> AX + CONST + ND -> x; punto[3] = 11*ND -> AY + ND -> y;
punto[4] = 2*ND -> AX + CONST + ND -> x; punto[5] = 18*ND -> AY + ND -> y;
punto[6] = 0*ND -> AX + CONST + ND -> x; punto[7] = 20*ND -> AY + ND -> y;
punto[8] = 0*ND -> AX + CONST + ND -> x; punto[9] = 11*ND -> AY + ND -> y;
fillpoly( 5, punto );
break;
case 6:
punto[0] = 9*ND -> AX + CONST + ND -> x; punto[1] = 10*ND -> AY + ND -> y;
punto[2] = 10*ND -> AX + CONST + ND -> x; punto[3] = 11*ND -> AY + ND -> y;
punto[4] = 10*ND -> AX + CONST + ND -> x; punto[5] = 20*ND -> AY + ND -> y;
punto[6] = 8*ND -> AX + CONST + ND -> x; punto[7] = 18*ND -> AY + ND -> y;
punto[8] = 8*ND -> AX + CONST + ND -> x; punto[9] = 11*ND -> AY + ND -> y;
fillpoly( 5, punto );
break;
case 2:
punto[0] = 2*ND -> AX + CONST + ND -> x; punto[1] = 18*ND -> AY + ND -> y;
punto[2] = 8*ND -> AX + CONST + ND -> x; punto[3] = 18*ND -> AY + ND -> y;
punto[4] = 10*ND -> AX + CONST + ND -> x; punto[5] = 20*ND -> AY + ND -> y;
punto[6] = 0*ND -> AX + CONST + ND -> x; punto[7] = 20*ND -> AY + ND -> y;
punto[8] = 2*ND -> AX + CONST + ND -> x; punto[9] = 18*ND -> AY + ND -> y;
fillpoly( 5, punto );
break;
default:
break;
}
}
DnTmp[0] /= 2;
DnTmp[1] /= 2;
}
}
}
if ( signo != old_signo )
{
if ( (old_signo = signo) == 1 )
{
setfillstyle(SOLID_FILL, ND -> C1);
int punto1[12];
punto1[0] = 1*ND -> AX + ND -> x; punto1[1] = 10*ND -> AY + ND -> y;
punto1[2] = 2*ND -> AX + ND -> x; punto1[3] = 9*ND -> AY + ND -> y;
punto1[4] = 8*ND -> AX + ND -> x; punto1[5] = 9*ND -> AY + ND -> y;
punto1[6] = 9*ND -> AX + ND -> x; punto1[7] = 10*ND -> AY + ND -> y;
punto1[8] = 8*ND -> AX + ND -> x; punto1[9] = 11*ND -> AY + ND -> y;
punto1[10] = 2*ND -> AX + ND -> x; punto1[11] = 11*ND -> AY +ND -> y;
fillpoly( 6, punto1 );
}
}
vez = 1;
return 0;
}
void Fuente_Amplia( char *Frase, p_graphics *FA )
{
// C A R T E L D I G I T A L
//*// ( 27 ) - 2 ===> 25 [ Fuente de 8x8 ]
//* ^___ El tama¤o ha sido reoptimizado para que sea variable seg£n las
//* necesidades de cada programador. ( cuando AX = AY = 1 --> T^ )
//* ........ . . . o . . . . o o o o o o . .
//* ........ . . o . o . . . . o . . . . o .
//* ........ . o . . . o . . . o . . . . o .
//* ........ o . . . . . o . . o o o o o . .
//* ........ o o o o o o o . . o . . . . o .
//* ........ o . . . . . o . . o . . . . o .
//* ........ o . . . . . o . . o . . . o . .
//* ........ o . . . . . o . o o o o o . . .
//*
int i;
char j, j1;
static char FraseBit[110][8];
static char Frase1[100];
static unsigned int loop;
static unsigned int Flen;
char c_elec;
char bit_s;
char *Frase_seg;
static char Flen1;
Frase_seg = Frase1;
if ( strcmp( Frase1, Frase ) != 0 )
{
strncpy( Frase1, Frase, 99 );
Frase1[99] = '\0';
j = i = strlen( Frase );
Flen = i * 8;
char cont = 0;
if ( i < FA -> ndigitos )
i += FA -> ndigitos - i;
else
i += 5;
Flen1 = i;
// Almacenamos en la Frase a Bit's la FRASE A BIT'S
while( cont <= i )
{
// Descomponemos cada caracter en un patron de BIT's
if ( (cont - j) > 0 )
{
FraseBit[cont][0] = 0x00;
FraseBit[cont][1] = 0x00;
FraseBit[cont][2] = 0x00;
FraseBit[cont][3] = 0x00;
FraseBit[cont][4] = 0x00;
FraseBit[cont][5] = 0x00;
FraseBit[cont][6] = 0x00;
FraseBit[cont][7] = 0x00;
} else
switch( *Frase_seg )
{
case 'A':
case 'a':
FraseBit[cont][0] = 0x10; // 0001 0000;
FraseBit[cont][1] = 0x38; // 0011 1000;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'B':
case 'b':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0x78; // 0111 1000;
FraseBit[cont][4] = 0x6C; // 0110 1100;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xFC; // 1111 1100;
break;
case 'C':
case 'c':
FraseBit[cont][0] = 0x78; // 0111 1000;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0xC0; // 1100 0000;
FraseBit[cont][3] = 0xC0; // 1100 0000;
FraseBit[cont][4] = 0xC0; // 1100 0000;
FraseBit[cont][5] = 0xC0; // 1100 0000;
FraseBit[cont][6] = 0xCC; // 1100 1100;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'D':
case 'd':
FraseBit[cont][0] = 0xF8; // 1111 1000;
FraseBit[cont][1] = 0x6C; // 0110 1100;
FraseBit[cont][2] = 0x66; // 0110 0110;
FraseBit[cont][3] = 0x66; // 0110 0110;
FraseBit[cont][4] = 0x66; // 0110 0110;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x6C; // 0110 1100;
FraseBit[cont][7] = 0xF8; // 1111 1000;
break;
case 'E':
case 'e':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x68; // 0110 1000;
FraseBit[cont][4] = 0x78; // 0111 1000;
FraseBit[cont][5] = 0x68; // 0110 1010;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case 'F':
case 'f':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x68; // 0110 1000;
FraseBit[cont][4] = 0x78; // 0111 1000;
FraseBit[cont][5] = 0x68; // 0110 1000;
FraseBit[cont][6] = 0x60; // 0110 0000;
FraseBit[cont][7] = 0xF0; // 1111 0000;
break;
case 'G':
case 'g':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC2; // 1100 0010;
FraseBit[cont][3] = 0xC0; // 1100 0000;
FraseBit[cont][4] = 0xDE; // 1101 1110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0x3A; // 0011 1010;
break;
case 'H':
case 'h':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xFE; // 1111 1110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'I':
case 'i':
FraseBit[cont][0] = 0x7E; // 0111 1110;
FraseBit[cont][1] = 0x18; // 0001 1000;
FraseBit[cont][2] = 0x18; // 0001 1000;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x18; // 0001 1000;
FraseBit[cont][5] = 0x18; // 0001 1000;
FraseBit[cont][6] = 0x18; // 0001 1000;
FraseBit[cont][7] = 0x7E; // 0111 1110;
break;
case 'J':
case 'j':
FraseBit[cont][0] = 0x1E; // 0001 1110;
FraseBit[cont][1] = 0x0C; // 0000 1100;
FraseBit[cont][2] = 0x0C; // 0000 1100;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0xCC; // 1100 1100;
FraseBit[cont][6] = 0xCC; // 1100 1100;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'K':
case 'k':
FraseBit[cont][0] = 0xE6; // 1110 0110;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0x78; // 0111 1000;
FraseBit[cont][4] = 0x6C; // 0110 1100;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xE6; // 1110 0110;
break;
case 'L':
case 'l':
FraseBit[cont][0] = 0xF0; // 1111 0000;
FraseBit[cont][1] = 0x60; // 0110 0000;
FraseBit[cont][2] = 0x60; // 0110 0000;
FraseBit[cont][3] = 0x60; // 0110 0000;
FraseBit[cont][4] = 0x60; // 0110 0000;
FraseBit[cont][5] = 0x62; // 0110 0010;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case 'M':
case 'm':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xEE; // 1110 1110;
FraseBit[cont][2] = 0xD6; // 1101 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'N':
case 'n':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xE6; // 1110 0110;
FraseBit[cont][2] = 0xF6; // 1111 0110;
FraseBit[cont][3] = 0xDE; // 1101 1110;
FraseBit[cont][4] = 0xCE; // 1100 1110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case '¥':
case '¤':
FraseBit[cont][0] = 0x64; // 0110 0100;
FraseBit[cont][1] = 0x98; // 1001 1000;
FraseBit[cont][2] = 0x00; // 0000 0000;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xF6; // 1111 0110;
FraseBit[cont][5] = 0xDE; // 1101 1110;
FraseBit[cont][6] = 0xCE; // 1100 1110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'O':
case 'o':
FraseBit[cont][0] = 0x38; // 0011 1000;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x38; // 0011 1000;
break;
case 'P':
case 'p':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0x62; // 0110 0010;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x7C; // 0111 1100;
FraseBit[cont][4] = 0x60; // 0110 0000;
FraseBit[cont][5] = 0x60; // 0110 0000;
FraseBit[cont][6] = 0x60; // 0110 0000;
FraseBit[cont][7] = 0xF0; // 1111 0000;
break;
case 'Q':
case 'q':
FraseBit[cont][0] = 0x00; // 0011 1000;
FraseBit[cont][1] = 0x00; // 1100 0110;
FraseBit[cont][2] = 0x00; // 1100 0110;
FraseBit[cont][3] = 0x00; // 1100 0110;
FraseBit[cont][4] = 0x00; // 1101 0110;
FraseBit[cont][5] = 0x00; // 1101 1110;
FraseBit[cont][6] = 0x00; // 0111 1100;
FraseBit[cont][7] = 0x00;
FraseBit[cont][0] = 0x38; // 0011 1000;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xCE; // 1100 1110;
FraseBit[cont][6] = 0x38; // 0011 1000;
FraseBit[cont][7] = 0x0E; // 0000 1110;
break;
case 'R':
case 'r':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0x62; // 0110 0010;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x7C; // 0111 1100;
FraseBit[cont][4] = 0x6E; // 0110 1110;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xE6; // 1110 0110;
break;
case 'S':
case 's':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0x60; // 0110 0000;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case 'T':
case 't':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0xB4; // 1011 0100;
FraseBit[cont][2] = 0x30; // 0011 0000;
FraseBit[cont][3] = 0x30; // 0011 0000;
FraseBit[cont][4] = 0x30; // 0011 0000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'U':
case 'u':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case 'V':
case 'v':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0x6C; // 0110 1100;
FraseBit[cont][6] = 0x38; // 0011 1000;
FraseBit[cont][7] = 0x10; // 0001 0000;
break;
case 'W':
case 'w':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xD6; // 1101 0110;
FraseBit[cont][5] = 0xD6; // 1101 0110;
FraseBit[cont][6] = 0x7C; // 0111 1100;
FraseBit[cont][7] = 0x28; // 0010 1000;
break;
case 'X':
case 'x':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0x44; // 0100 0100;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0x38; // 0011 1000;
FraseBit[cont][4] = 0x38; // 0011 1000;
FraseBit[cont][5] = 0x6C; // 0110 1100;
FraseBit[cont][6] = 0x44; // 0100 0100;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'Y':
case 'y':
FraseBit[cont][0] = 0xCC; // 1100 1100;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0xCC; // 1100 1100;
FraseBit[cont][3] = 0x78; // 0111 1000;
FraseBit[cont][4] = 0x30; // 0011 0000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'Z':
case 'z':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0x8C; // 1000 1100;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x30; // 0011 0000;
FraseBit[cont][5] = 0x62; // 0110 0010;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case '0':
FraseBit[cont][0] = 0x38; // 0011 1000;
FraseBit[cont][1] = 0xCE; // 1100 1110;
FraseBit[cont][2] = 0xCE; // 1100 1110;
FraseBit[cont][3] = 0xD6; // 1101 0110;
FraseBit[cont][4] = 0xD6; // 1101 0110;
FraseBit[cont][5] = 0xE6; // 1110 0110;
FraseBit[cont][6] = 0xE6; // 1110 0110;
FraseBit[cont][7] = 0x38; // 0011 1000;
break;
case '1':
FraseBit[cont][0] = 0x0C; // 0000 1100;
FraseBit[cont][1] = 0x1C; // 0001 1100;
FraseBit[cont][2] = 0x3C; // 0011 1100;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0x0C; // 0000 1100;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x1E; // 0001 1110;
break;
case '2':
FraseBit[cont][0] = 0x78; // 0111 1000;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0x06; // 0000 0110;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x18; // 0001 1000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x60; // 0110 0000;
FraseBit[cont][7] = 0x7E; // 0111 1110;
break;
case '3':
FraseBit[cont][0] = 0x78; // 0111 1000;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0x06; // 0000 0110;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x18; // 0001 1000;
FraseBit[cont][5] = 0x0C; // 0000 1100;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '4':
FraseBit[cont][0] = 0x0C; // 0000 1100;
FraseBit[cont][1] = 0x1C; // 0001 1100;
FraseBit[cont][2] = 0x2C; // 0010 1100;
FraseBit[cont][3] = 0x4C; // 0100 1100;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0x0C; // 0000 1100;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x1E; // 0001 1110;
break;
case '5':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0xC0; // 1100 0000;
FraseBit[cont][2] = 0xC0; // 1100 0000;
FraseBit[cont][3] = 0xF8; // 1111 1000;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '6':
FraseBit[cont][0] = 0x3E; // 0011 1110;
FraseBit[cont][1] = 0x60; // 0110 0000;
FraseBit[cont][2] = 0xC0; // 1100 0000;
FraseBit[cont][3] = 0xFC; // 1111 1100;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '8':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0x7C; // 0111 1100;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '9':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0x7E; // 0111 1110;
FraseBit[cont][4] = 0x06; // 0000 0110;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case '*':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x18; // 0001 1000;
FraseBit[cont][2] = 0x5A; // 0101 1010;
FraseBit[cont][3] = 0x3C; // 0011 1100;
FraseBit[cont][4] = 0x7E; // 0111 1110;
FraseBit[cont][5] = 0x3C; // 0011 1100;
FraseBit[cont][6] = 0x5A; // 0101 1010;
FraseBit[cont][7] = 0x18; // 0001 1000;
break;
case '-':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x00; // 0000 0000;
FraseBit[cont][2] = 0x00; // 0000 0000;
FraseBit[cont][3] = 0xFE; // 1111 1110;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0x00; // 0000 0000;
FraseBit[cont][6] = 0x00; // 0000 0000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '_':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x00; // 0000 0000;
FraseBit[cont][2] = 0x00; // 0000 0000;
FraseBit[cont][3] = 0x00; // 0000 0000;
FraseBit[cont][4] = 0x00; // 0000 0000;
FraseBit[cont][5] = 0x00; // 0000 0000;
FraseBit[cont][6] = 0xFE; // 1111 1110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case '+':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x18; // 0001 1000;
FraseBit[cont][2] = 0x18; // 0001 1000;
FraseBit[cont][3] = 0xFE; // 1111 1110;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0x18; // 0001 1000;
FraseBit[cont][6] = 0x18; // 0001 1000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '<':
case '(':
FraseBit[cont][0] = 0x18; // 0001 1000;
FraseBit[cont][1] = 0x30; // 0011 0000;
FraseBit[cont][2] = 0x60; // 0110 0000;
FraseBit[cont][3] = 0xC0; // 1100 0000;
FraseBit[cont][4] = 0xC0; // 1100 0000;
FraseBit[cont][5] = 0x60; // 0110 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x18; // 0001 1000;
break;
case '>':
case ')':
FraseBit[cont][0] = 0x18; // 0001 1000;
FraseBit[cont][1] = 0x0C; // 0000 1100;
FraseBit[cont][2] = 0x06; // 0000 0110;
FraseBit[cont][3] = 0x03; // 0000 0011;
FraseBit[cont][4] = 0x03; // 0000 0011;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x18; // 0001 1000;
break;
case ':':
case ';':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x30; // 0011 0000;
FraseBit[cont][2] = 0x30; // 0011 0000;
FraseBit[cont][3] = 0x00; // 0000 0000;
FraseBit[cont][4] = 0x00; // 0000 0000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '\'':
FraseBit[cont][0] = 0x0C; // 0000 1100;
FraseBit[cont][1] = 0x0C; // 0000 1100;
FraseBit[cont][2] = 0x0C; // 0000 1100;
FraseBit[cont][3] = 0x10; // 0001 1000;
FraseBit[cont][4] = 0x00; // 0000 0000;
FraseBit[cont][5] = 0x00; // 0000 0000;
FraseBit[cont][6] = 0x00; // 0000 0000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '\\':
FraseBit[cont][0] = 0xD0; // 1100 0000;
FraseBit[cont][1] = 0x60; // 0110 0000;
FraseBit[cont][2] = 0x30; // 0011 0000;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x0D; // 0000 1100;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0x03; // 0000 0011;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '/':
FraseBit[cont][0] = 0x03; // 0000 0011;
FraseBit[cont][1] = 0x06; // 0000 0110;
FraseBit[cont][2] = 0x0D; // 0000 1100;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x30; // 0011 0000;
FraseBit[cont][5] = 0x60; // 0110 0000;
FraseBit[cont][6] = 0xD0; // 1100 0000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '|':
FraseBit[cont][0] = 0x18; // 0001 1000;
FraseBit[cont][1] = 0x18; // 0001 1000;
FraseBit[cont][2] = 0x18; // 0001 1000;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x18; // 0001 1000;
FraseBit[cont][5] = 0x18; // 0001 1000;
FraseBit[cont][6] = 0x18; // 0001 1000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
default:
FraseBit[cont][0] = 0x00;
FraseBit[cont][1] = 0x00;
FraseBit[cont][2] = 0x00;
FraseBit[cont][3] = 0x00;
FraseBit[cont][4] = 0x00;
FraseBit[cont][5] = 0x00;
FraseBit[cont][6] = 0x00;
FraseBit[cont][7] = 0x00;
break;
}
cont++;
Frase_seg++;
}
} else {
// Rotamos la frase
char FrBit_tmp[8];
// Almacenamos el 1er bit que vamos a perder...
for ( j1=0; j1<8; j1++ )
FrBit_tmp[j1] = 0x01 & ( FraseBit[0][j1] >> 7 );
for ( j=0; j<Flen1; j++ )
{
for ( j1=0; j1<8; j1++ )
FraseBit[j][j1] = FraseBit[j][j1] << 1;
for ( j1=0; j1<8; j1++ )
FraseBit[j][j1] = ( FraseBit[j][j1] & 0xFE ) | (0x01 & (FraseBit[j+1][j1] >> 7 ) );
}
for ( j1=0; j1<8; j1++ )
FraseBit[Flen1-1][j1] = ( FraseBit[Flen1-1][j1] & 0xFE ) | FrBit_tmp[j1];
}
// ndigitos --> m x. = 40
for ( i=0; i < FA->ndigitos; i ++ )
{
for ( j=0, j1=0; j1<8; j+=2*FA->AX, j1++ )
{
// Analizamos el patron de BIT's y lo imprimimos
// FraseBit[cont][0]
// ^ ^----- N£mero de byte del digito ( 8x8 )
// |_________ N£mero de digito alfa-numerico
for ( bit_s = 0; bit_s < 8; bit_s++ )
{
if ( FraseBit[i][bit_s] & ( (char)0x01 << (7-j1) ) ) c_elec = FA->C2; else c_elec = FA->C1;
putpixel ( FA->x + j + i*8*2*FA->AX, FA->y + 2*bit_s*FA->AY, c_elec );
}
}
}
}
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
void Fuente_Amplia2( char *Frase, p_graphics *FA )
{
// C A R T E L D I G I T A L
//*// ( 27 ) - 2 ===> 25 [ Fuente de 8x8 ]
//* ^___ El tama¤o ha sido reoptimizado para que sea variable seg£n las
//* necesidades de cada programador. ( cuando AX = AY = 1 --> T^ )
//* ........ . . . o . . . . o o o o o o . .
//* ........ . . o . o . . . . o . . . . o .
//* ........ . o . . . o . . . o . . . . o .
//* ........ o . . . . . o . . o o o o o . .
//* ........ o o o o o o o . . o . . . . o .
//* ........ o . . . . . o . . o . . . . o .
//* ........ o . . . . . o . . o . . . o . .
//* ........ o . . . . . o . o o o o o . . .
//*
int i;
char j, j1;
static char FraseBit[110][8];
static char Frase1[100];
static unsigned int loop;
static unsigned int Flen;
char c_elec;
char bit_s;
char *Frase_seg;
static char Flen1;
Frase_seg = Frase1;
if ( strcmp( Frase1, Frase ) != 0 )
{
strncpy( Frase1, Frase, 99 );
Frase1[99] = '\0';
j = i = strlen( Frase );
Flen = i * 8;
char cont = 0;
if ( i < FA -> ndigitos )
i += FA -> ndigitos - i;
else
i += 5;
Flen1 = i;
// Almacenamos en la Frase a Bit's la FRASE A BIT'S
while( cont <= i )
{
// Descomponemos cada caracter en un patron de BIT's
if ( (cont - j) > 0 )
{
FraseBit[cont][0] = 0x00;
FraseBit[cont][1] = 0x00;
FraseBit[cont][2] = 0x00;
FraseBit[cont][3] = 0x00;
FraseBit[cont][4] = 0x00;
FraseBit[cont][5] = 0x00;
FraseBit[cont][6] = 0x00;
FraseBit[cont][7] = 0x00;
} else
switch( *Frase_seg )
{
case 'A':
case 'a':
FraseBit[cont][0] = 0x10; // 0001 0000;
FraseBit[cont][1] = 0x38; // 0011 1000;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'B':
case 'b':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0x78; // 0111 1000;
FraseBit[cont][4] = 0x6C; // 0110 1100;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xFC; // 1111 1100;
break;
case 'C':
case 'c':
FraseBit[cont][0] = 0x78; // 0111 1000;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0xC0; // 1100 0000;
FraseBit[cont][3] = 0xC0; // 1100 0000;
FraseBit[cont][4] = 0xC0; // 1100 0000;
FraseBit[cont][5] = 0xC0; // 1100 0000;
FraseBit[cont][6] = 0xCC; // 1100 1100;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'D':
case 'd':
FraseBit[cont][0] = 0xF8; // 1111 1000;
FraseBit[cont][1] = 0x6C; // 0110 1100;
FraseBit[cont][2] = 0x66; // 0110 0110;
FraseBit[cont][3] = 0x66; // 0110 0110;
FraseBit[cont][4] = 0x66; // 0110 0110;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x6C; // 0110 1100;
FraseBit[cont][7] = 0xF8; // 1111 1000;
break;
case 'E':
case 'e':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x68; // 0110 1000;
FraseBit[cont][4] = 0x78; // 0111 1000;
FraseBit[cont][5] = 0x68; // 0110 1010;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case 'F':
case 'f':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x68; // 0110 1000;
FraseBit[cont][4] = 0x78; // 0111 1000;
FraseBit[cont][5] = 0x68; // 0110 1000;
FraseBit[cont][6] = 0x60; // 0110 0000;
FraseBit[cont][7] = 0xF0; // 1111 0000;
break;
case 'G':
case 'g':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC2; // 1100 0010;
FraseBit[cont][3] = 0xC0; // 1100 0000;
FraseBit[cont][4] = 0xDE; // 1101 1110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0x3A; // 0011 1010;
break;
case 'H':
case 'h':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xFE; // 1111 1110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'I':
case 'i':
FraseBit[cont][0] = 0x7E; // 0111 1110;
FraseBit[cont][1] = 0x18; // 0001 1000;
FraseBit[cont][2] = 0x18; // 0001 1000;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x18; // 0001 1000;
FraseBit[cont][5] = 0x18; // 0001 1000;
FraseBit[cont][6] = 0x18; // 0001 1000;
FraseBit[cont][7] = 0x7E; // 0111 1110;
break;
case 'J':
case 'j':
FraseBit[cont][0] = 0x1E; // 0001 1110;
FraseBit[cont][1] = 0x0C; // 0000 1100;
FraseBit[cont][2] = 0x0C; // 0000 1100;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0xCC; // 1100 1100;
FraseBit[cont][6] = 0xCC; // 1100 1100;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'K':
case 'k':
FraseBit[cont][0] = 0xE6; // 1110 0110;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0x78; // 0111 1000;
FraseBit[cont][4] = 0x6C; // 0110 1100;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xE6; // 1110 0110;
break;
case 'L':
case 'l':
FraseBit[cont][0] = 0xF0; // 1111 0000;
FraseBit[cont][1] = 0x60; // 0110 0000;
FraseBit[cont][2] = 0x60; // 0110 0000;
FraseBit[cont][3] = 0x60; // 0110 0000;
FraseBit[cont][4] = 0x60; // 0110 0000;
FraseBit[cont][5] = 0x62; // 0110 0010;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case 'M':
case 'm':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xEE; // 1110 1110;
FraseBit[cont][2] = 0xD6; // 1101 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'N':
case 'n':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xE6; // 1110 0110;
FraseBit[cont][2] = 0xF6; // 1111 0110;
FraseBit[cont][3] = 0xDE; // 1101 1110;
FraseBit[cont][4] = 0xCE; // 1100 1110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case '¥':
case '¤':
FraseBit[cont][0] = 0x64; // 0110 0100;
FraseBit[cont][1] = 0x98; // 1001 1000;
FraseBit[cont][2] = 0x00; // 0000 0000;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xF6; // 1111 0110;
FraseBit[cont][5] = 0xDE; // 1101 1110;
FraseBit[cont][6] = 0xCE; // 1100 1110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'O':
case 'o':
FraseBit[cont][0] = 0x38; // 0011 1000;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x38; // 0011 1000;
break;
case 'P':
case 'p':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0x62; // 0110 0010;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x7C; // 0111 1100;
FraseBit[cont][4] = 0x60; // 0110 0000;
FraseBit[cont][5] = 0x60; // 0110 0000;
FraseBit[cont][6] = 0x60; // 0110 0000;
FraseBit[cont][7] = 0xF0; // 1111 0000;
break;
case 'Q':
case 'q':
FraseBit[cont][0] = 0x00; // 0011 1000;
FraseBit[cont][1] = 0x00; // 1100 0110;
FraseBit[cont][2] = 0x00; // 1100 0110;
FraseBit[cont][3] = 0x00; // 1100 0110;
FraseBit[cont][4] = 0x00; // 1101 0110;
FraseBit[cont][5] = 0x00; // 1101 1110;
FraseBit[cont][6] = 0x00; // 0111 1100;
FraseBit[cont][7] = 0x00;
FraseBit[cont][0] = 0x38; // 0011 1000;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xCE; // 1100 1110;
FraseBit[cont][6] = 0x38; // 0011 1000;
FraseBit[cont][7] = 0x0E; // 0000 1110;
break;
case 'R':
case 'r':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0x62; // 0110 0010;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x7C; // 0111 1100;
FraseBit[cont][4] = 0x6E; // 0110 1110;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xE6; // 1110 0110;
break;
case 'S':
case 's':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0x60; // 0110 0000;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case 'T':
case 't':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0xB4; // 1011 0100;
FraseBit[cont][2] = 0x30; // 0011 0000;
FraseBit[cont][3] = 0x30; // 0011 0000;
FraseBit[cont][4] = 0x30; // 0011 0000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'U':
case 'u':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case 'V':
case 'v':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0x6C; // 0110 1100;
FraseBit[cont][6] = 0x38; // 0011 1000;
FraseBit[cont][7] = 0x10; // 0001 0000;
break;
case 'W':
case 'w':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xD6; // 1101 0110;
FraseBit[cont][5] = 0xD6; // 1101 0110;
FraseBit[cont][6] = 0x7C; // 0111 1100;
FraseBit[cont][7] = 0x28; // 0010 1000;
break;
case 'X':
case 'x':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0x44; // 0100 0100;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0x38; // 0011 1000;
FraseBit[cont][4] = 0x38; // 0011 1000;
FraseBit[cont][5] = 0x6C; // 0110 1100;
FraseBit[cont][6] = 0x44; // 0100 0100;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'Y':
case 'y':
FraseBit[cont][0] = 0xCC; // 1100 1100;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0xCC; // 1100 1100;
FraseBit[cont][3] = 0x78; // 0111 1000;
FraseBit[cont][4] = 0x30; // 0011 0000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'Z':
case 'z':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0x8C; // 1000 1100;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x30; // 0011 0000;
FraseBit[cont][5] = 0x62; // 0110 0010;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case '0':
FraseBit[cont][0] = 0x38; // 0011 1000;
FraseBit[cont][1] = 0xCE; // 1100 1110;
FraseBit[cont][2] = 0xCE; // 1100 1110;
FraseBit[cont][3] = 0xD6; // 1101 0110;
FraseBit[cont][4] = 0xD6; // 1101 0110;
FraseBit[cont][5] = 0xE6; // 1110 0110;
FraseBit[cont][6] = 0xE6; // 1110 0110;
FraseBit[cont][7] = 0x38; // 0011 1000;
break;
case '1':
FraseBit[cont][0] = 0x0C; // 0000 1100;
FraseBit[cont][1] = 0x1C; // 0001 1100;
FraseBit[cont][2] = 0x3C; // 0011 1100;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0x0C; // 0000 1100;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x1E; // 0001 1110;
break;
case '2':
FraseBit[cont][0] = 0x78; // 0111 1000;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0x06; // 0000 0110;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x18; // 0001 1000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x60; // 0110 0000;
FraseBit[cont][7] = 0x7E; // 0111 1110;
break;
case '3':
FraseBit[cont][0] = 0x78; // 0111 1000;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0x06; // 0000 0110;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x18; // 0001 1000;
FraseBit[cont][5] = 0x0C; // 0000 1100;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '4':
FraseBit[cont][0] = 0x0C; // 0000 1100;
FraseBit[cont][1] = 0x1C; // 0001 1100;
FraseBit[cont][2] = 0x2C; // 0010 1100;
FraseBit[cont][3] = 0x4C; // 0100 1100;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0x0C; // 0000 1100;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x1E; // 0001 1110;
break;
case '5':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0xC0; // 1100 0000;
FraseBit[cont][2] = 0xC0; // 1100 0000;
FraseBit[cont][3] = 0xF8; // 1111 1000;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '6':
FraseBit[cont][0] = 0x3E; // 0011 1110;
FraseBit[cont][1] = 0x60; // 0110 0000;
FraseBit[cont][2] = 0xC0; // 1100 0000;
FraseBit[cont][3] = 0xFC; // 1111 1100;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '8':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0x7C; // 0111 1100;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '9':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0x7E; // 0111 1110;
FraseBit[cont][4] = 0x06; // 0000 0110;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case '*':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x18; // 0001 1000;
FraseBit[cont][2] = 0x5A; // 0101 1010;
FraseBit[cont][3] = 0x3C; // 0011 1100;
FraseBit[cont][4] = 0x7E; // 0111 1110;
FraseBit[cont][5] = 0x3C; // 0011 1100;
FraseBit[cont][6] = 0x5A; // 0101 1010;
FraseBit[cont][7] = 0x18; // 0001 1000;
break;
case '-':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x00; // 0000 0000;
FraseBit[cont][2] = 0x00; // 0000 0000;
FraseBit[cont][3] = 0xFE; // 1111 1110;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0x00; // 0000 0000;
FraseBit[cont][6] = 0x00; // 0000 0000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '_':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x00; // 0000 0000;
FraseBit[cont][2] = 0x00; // 0000 0000;
FraseBit[cont][3] = 0x00; // 0000 0000;
FraseBit[cont][4] = 0x00; // 0000 0000;
FraseBit[cont][5] = 0x00; // 0000 0000;
FraseBit[cont][6] = 0xFE; // 1111 1110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case '+':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x18; // 0001 1000;
FraseBit[cont][2] = 0x18; // 0001 1000;
FraseBit[cont][3] = 0xFE; // 1111 1110;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0x18; // 0001 1000;
FraseBit[cont][6] = 0x18; // 0001 1000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '<':
case '(':
FraseBit[cont][0] = 0x18; // 0001 1000;
FraseBit[cont][1] = 0x30; // 0011 0000;
FraseBit[cont][2] = 0x60; // 0110 0000;
FraseBit[cont][3] = 0xC0; // 1100 0000;
FraseBit[cont][4] = 0xC0; // 1100 0000;
FraseBit[cont][5] = 0x60; // 0110 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x18; // 0001 1000;
break;
case '>':
case ')':
FraseBit[cont][0] = 0x18; // 0001 1000;
FraseBit[cont][1] = 0x0C; // 0000 1100;
FraseBit[cont][2] = 0x06; // 0000 0110;
FraseBit[cont][3] = 0x03; // 0000 0011;
FraseBit[cont][4] = 0x03; // 0000 0011;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x18; // 0001 1000;
break;
case ':':
case ';':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x30; // 0011 0000;
FraseBit[cont][2] = 0x30; // 0011 0000;
FraseBit[cont][3] = 0x00; // 0000 0000;
FraseBit[cont][4] = 0x00; // 0000 0000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '\'':
FraseBit[cont][0] = 0x0C; // 0000 1100;
FraseBit[cont][1] = 0x0C; // 0000 1100;
FraseBit[cont][2] = 0x0C; // 0000 1100;
FraseBit[cont][3] = 0x10; // 0001 1000;
FraseBit[cont][4] = 0x00; // 0000 0000;
FraseBit[cont][5] = 0x00; // 0000 0000;
FraseBit[cont][6] = 0x00; // 0000 0000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
default:
FraseBit[cont][0] = 0x00;
FraseBit[cont][1] = 0x00;
FraseBit[cont][2] = 0x00;
FraseBit[cont][3] = 0x00;
FraseBit[cont][4] = 0x00;
FraseBit[cont][5] = 0x00;
FraseBit[cont][6] = 0x00;
FraseBit[cont][7] = 0x00;
break;
}
cont++;
Frase_seg++;
}
} else {
// Rotamos la frase
char FrBit_tmp[8];
// Almacenamos el 1er bit que vamos a perder...
for ( j1=0; j1<8; j1++ )
FrBit_tmp[j1] = 0x01 & ( FraseBit[0][j1] >> 7 );
for ( j=0; j<Flen1; j++ )
{
for ( j1=0; j1<8; j1++ )
FraseBit[j][j1] = FraseBit[j][j1] << 1;
for ( j1=0; j1<8; j1++ )
FraseBit[j][j1] = ( FraseBit[j][j1] & 0xFE ) | (0x01 & (FraseBit[j+1][j1] >> 7 ) );
}
for ( j1=0; j1<8; j1++ )
FraseBit[Flen1-1][j1] = ( FraseBit[Flen1-1][j1] & 0xFE ) | FrBit_tmp[j1];
}
// . . . . . .
// .ï ï. .ï ï. .ï ï.
// . . . . .
// __________.________________________.______________________.______________
// . . . . . .
// . . . . . .
// ' .. ' ' .. ' ' .. '
//
// . .
// . ï ï .
// . .
// ____________________._____________________.______________________________
// . . ` ï
// . . ` ï
// . . ` ï
// . . . ` ï
// ` . . ï
// ndigitos --> m x. = 40
//float i1;
int i1;
for ( i=0, i1=2; i < FA->ndigitos; i ++ )
{
for ( j=0, j1=0; j1<8; j+=2*FA->AX, j1++ )
{
// Analizamos el patron de BIT's y lo imprimimos
// FraseBit[cont][0]
// ^ ^----- N£mero de byte del digito ( 8x8 )
// |_________ N£mero de digito alfa-numerico
for ( bit_s = 0; bit_s < 8; bit_s++, i1++/*+=.02*/ )
{
if ( FraseBit[i][bit_s] & ( (char)0x01 << (7-j1) ) ) c_elec = FA->C2; else c_elec = FA->C1;
//putpixel ( FA->x + j + bit_s*2 + i*8*2*FA->AX, FA->y + sin( i1 )*20 + 2*bit_s*FA->AY, c_elec );
putpixel ( FA->x + j - bit_s*2+(TabS[ (i+bit_s+j/*bit_s*/) % 255 ]-90) + i*8*2*FA->AX, FA->y - 100 +/* sin( i1 )*20*/TabS[i1 % 255] + 2*bit_s*FA->AY, c_elec );
}
//y--> TabS[(i+j+bit_s) MOD FLen1]
//x-->
}
}
}
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////
void Fuente_Amplia3( char *Frase, p_graphics *FA )
{
int i;
char j, j1;
static char FraseBit[110][8];
static char Frase1[100];
static unsigned int loop;
static unsigned int Flen;
char c_elec;
char bit_s;
char *Frase_seg;
static char Flen1;
Frase_seg = Frase1;
if ( strcmp( Frase1, Frase ) != 0 )
{
strncpy( Frase1, Frase, 99 );
Frase1[99] = '\0';
j = i = strlen( Frase );
Flen = i * 8;
char cont = 0;
if ( i < FA -> ndigitos )
i += FA -> ndigitos - i;
else
i += 5;
Flen1 = i;
// Almacenamos en la Frase a Bit's la FRASE A BIT'S
while( cont <= i )
{
// Descomponemos cada caracter en un patron de BIT's
if ( (cont - j) > 0 )
{
FraseBit[cont][0] = 0x00;
FraseBit[cont][1] = 0x00;
FraseBit[cont][2] = 0x00;
FraseBit[cont][3] = 0x00;
FraseBit[cont][4] = 0x00;
FraseBit[cont][5] = 0x00;
FraseBit[cont][6] = 0x00;
FraseBit[cont][7] = 0x00;
} else
switch( *Frase_seg )
{
case 'A':
case 'a':
FraseBit[cont][0] = 0x10; // 0001 0000;
FraseBit[cont][1] = 0x38; // 0011 1000;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'B':
case 'b':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0x78; // 0111 1000;
FraseBit[cont][4] = 0x6C; // 0110 1100;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xFC; // 1111 1100;
break;
case 'C':
case 'c':
FraseBit[cont][0] = 0x78; // 0111 1000;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0xC0; // 1100 0000;
FraseBit[cont][3] = 0xC0; // 1100 0000;
FraseBit[cont][4] = 0xC0; // 1100 0000;
FraseBit[cont][5] = 0xC0; // 1100 0000;
FraseBit[cont][6] = 0xCC; // 1100 1100;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'D':
case 'd':
FraseBit[cont][0] = 0xF8; // 1111 1000;
FraseBit[cont][1] = 0x6C; // 0110 1100;
FraseBit[cont][2] = 0x66; // 0110 0110;
FraseBit[cont][3] = 0x66; // 0110 0110;
FraseBit[cont][4] = 0x66; // 0110 0110;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x6C; // 0110 1100;
FraseBit[cont][7] = 0xF8; // 1111 1000;
break;
case 'E':
case 'e':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x68; // 0110 1000;
FraseBit[cont][4] = 0x78; // 0111 1000;
FraseBit[cont][5] = 0x68; // 0110 1010;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case 'F':
case 'f':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x68; // 0110 1000;
FraseBit[cont][4] = 0x78; // 0111 1000;
FraseBit[cont][5] = 0x68; // 0110 1000;
FraseBit[cont][6] = 0x60; // 0110 0000;
FraseBit[cont][7] = 0xF0; // 1111 0000;
break;
case 'G':
case 'g':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC2; // 1100 0010;
FraseBit[cont][3] = 0xC0; // 1100 0000;
FraseBit[cont][4] = 0xDE; // 1101 1110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0x3A; // 0011 1010;
break;
case 'H':
case 'h':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xFE; // 1111 1110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'I':
case 'i':
FraseBit[cont][0] = 0x7E; // 0111 1110;
FraseBit[cont][1] = 0x18; // 0001 1000;
FraseBit[cont][2] = 0x18; // 0001 1000;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x18; // 0001 1000;
FraseBit[cont][5] = 0x18; // 0001 1000;
FraseBit[cont][6] = 0x18; // 0001 1000;
FraseBit[cont][7] = 0x7E; // 0111 1110;
break;
case 'J':
case 'j':
FraseBit[cont][0] = 0x1E; // 0001 1110;
FraseBit[cont][1] = 0x0C; // 0000 1100;
FraseBit[cont][2] = 0x0C; // 0000 1100;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0xCC; // 1100 1100;
FraseBit[cont][6] = 0xCC; // 1100 1100;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'K':
case 'k':
FraseBit[cont][0] = 0xE6; // 1110 0110;
FraseBit[cont][1] = 0x66; // 0110 0110;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0x78; // 0111 1000;
FraseBit[cont][4] = 0x6C; // 0110 1100;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xE6; // 1110 0110;
break;
case 'L':
case 'l':
FraseBit[cont][0] = 0xF0; // 1111 0000;
FraseBit[cont][1] = 0x60; // 0110 0000;
FraseBit[cont][2] = 0x60; // 0110 0000;
FraseBit[cont][3] = 0x60; // 0110 0000;
FraseBit[cont][4] = 0x60; // 0110 0000;
FraseBit[cont][5] = 0x62; // 0110 0010;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case 'M':
case 'm':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xEE; // 1110 1110;
FraseBit[cont][2] = 0xD6; // 1101 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'N':
case 'n':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xE6; // 1110 0110;
FraseBit[cont][2] = 0xF6; // 1111 0110;
FraseBit[cont][3] = 0xDE; // 1101 1110;
FraseBit[cont][4] = 0xCE; // 1100 1110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case '¥':
case '¤':
FraseBit[cont][0] = 0x64; // 0110 0100;
FraseBit[cont][1] = 0x98; // 1001 1000;
FraseBit[cont][2] = 0x00; // 0000 0000;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xF6; // 1111 0110;
FraseBit[cont][5] = 0xDE; // 1101 1110;
FraseBit[cont][6] = 0xCE; // 1100 1110;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'O':
case 'o':
FraseBit[cont][0] = 0x38; // 0011 1000;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x38; // 0011 1000;
break;
case 'P':
case 'p':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0x62; // 0110 0010;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x7C; // 0111 1100;
FraseBit[cont][4] = 0x60; // 0110 0000;
FraseBit[cont][5] = 0x60; // 0110 0000;
FraseBit[cont][6] = 0x60; // 0110 0000;
FraseBit[cont][7] = 0xF0; // 1111 0000;
break;
case 'Q':
case 'q':
FraseBit[cont][0] = 0x00; // 0011 1000;
FraseBit[cont][1] = 0x00; // 1100 0110;
FraseBit[cont][2] = 0x00; // 1100 0110;
FraseBit[cont][3] = 0x00; // 1100 0110;
FraseBit[cont][4] = 0x00; // 1101 0110;
FraseBit[cont][5] = 0x00; // 1101 1110;
FraseBit[cont][6] = 0x00; // 0111 1100;
FraseBit[cont][7] = 0x00;
FraseBit[cont][0] = 0x38; // 0011 1000;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xCE; // 1100 1110;
FraseBit[cont][6] = 0x38; // 0011 1000;
FraseBit[cont][7] = 0x0E; // 0000 1110;
break;
case 'R':
case 'r':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0x62; // 0110 0010;
FraseBit[cont][2] = 0x62; // 0110 0010;
FraseBit[cont][3] = 0x7C; // 0111 1100;
FraseBit[cont][4] = 0x6E; // 0110 1110;
FraseBit[cont][5] = 0x66; // 0110 0110;
FraseBit[cont][6] = 0x66; // 0110 0110;
FraseBit[cont][7] = 0xE6; // 1110 0110;
break;
case 'S':
case 's':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0x60; // 0110 0000;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case 'T':
case 't':
FraseBit[cont][0] = 0xFC; // 1111 1100;
FraseBit[cont][1] = 0xB4; // 1011 0100;
FraseBit[cont][2] = 0x30; // 0011 0000;
FraseBit[cont][3] = 0x30; // 0011 0000;
FraseBit[cont][4] = 0x30; // 0011 0000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'U':
case 'u':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case 'V':
case 'v':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0x6C; // 0110 1100;
FraseBit[cont][6] = 0x38; // 0011 1000;
FraseBit[cont][7] = 0x10; // 0001 0000;
break;
case 'W':
case 'w':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0xC6; // 1100 0110;
FraseBit[cont][4] = 0xD6; // 1101 0110;
FraseBit[cont][5] = 0xD6; // 1101 0110;
FraseBit[cont][6] = 0x7C; // 0111 1100;
FraseBit[cont][7] = 0x28; // 0010 1000;
break;
case 'X':
case 'x':
FraseBit[cont][0] = 0xC6; // 1100 0110;
FraseBit[cont][1] = 0x44; // 0100 0100;
FraseBit[cont][2] = 0x6C; // 0110 1100;
FraseBit[cont][3] = 0x38; // 0011 1000;
FraseBit[cont][4] = 0x38; // 0011 1000;
FraseBit[cont][5] = 0x6C; // 0110 1100;
FraseBit[cont][6] = 0x44; // 0100 0100;
FraseBit[cont][7] = 0xC6; // 1100 0110;
break;
case 'Y':
case 'y':
FraseBit[cont][0] = 0xCC; // 1100 1100;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0xCC; // 1100 1100;
FraseBit[cont][3] = 0x78; // 0111 1000;
FraseBit[cont][4] = 0x30; // 0011 0000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case 'Z':
case 'z':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0x8C; // 1000 1100;
FraseBit[cont][3] = 0x18; // 0001 1000;
FraseBit[cont][4] = 0x30; // 0011 0000;
FraseBit[cont][5] = 0x62; // 0110 0010;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case '0':
FraseBit[cont][0] = 0x38; // 0011 1000;
FraseBit[cont][1] = 0xCE; // 1100 1110;
FraseBit[cont][2] = 0xCE; // 1100 1110;
FraseBit[cont][3] = 0xD6; // 1101 0110;
FraseBit[cont][4] = 0xD6; // 1101 0110;
FraseBit[cont][5] = 0xE6; // 1110 0110;
FraseBit[cont][6] = 0xE6; // 1110 0110;
FraseBit[cont][7] = 0x38; // 0011 1000;
break;
case '1':
FraseBit[cont][0] = 0x0C; // 0000 1100;
FraseBit[cont][1] = 0x1C; // 0001 1100;
FraseBit[cont][2] = 0x3C; // 0011 1100;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0x0C; // 0000 1100;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x1E; // 0001 1110;
break;
case '2':
FraseBit[cont][0] = 0x78; // 0111 1000;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0x06; // 0000 0110;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x18; // 0001 1000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x60; // 0110 0000;
FraseBit[cont][7] = 0x7E; // 0111 1110;
break;
case '3':
FraseBit[cont][0] = 0x78; // 0111 1000;
FraseBit[cont][1] = 0xCC; // 1100 1100;
FraseBit[cont][2] = 0x06; // 0000 0110;
FraseBit[cont][3] = 0x0C; // 0000 1100;
FraseBit[cont][4] = 0x18; // 0001 1000;
FraseBit[cont][5] = 0x0C; // 0000 1100;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '4':
FraseBit[cont][0] = 0x0C; // 0000 1100;
FraseBit[cont][1] = 0x1C; // 0001 1100;
FraseBit[cont][2] = 0x2C; // 0010 1100;
FraseBit[cont][3] = 0x4C; // 0100 1100;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0x0C; // 0000 1100;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x1E; // 0001 1110;
break;
case '5':
FraseBit[cont][0] = 0xFE; // 1111 1110;
FraseBit[cont][1] = 0xC0; // 1100 0000;
FraseBit[cont][2] = 0xC0; // 1100 0000;
FraseBit[cont][3] = 0xF8; // 1111 1000;
FraseBit[cont][4] = 0x0C; // 0000 1100;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '6':
FraseBit[cont][0] = 0x3E; // 0011 1110;
FraseBit[cont][1] = 0x60; // 0110 0000;
FraseBit[cont][2] = 0xC0; // 1100 0000;
FraseBit[cont][3] = 0xFC; // 1111 1100;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '8':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0x7C; // 0111 1100;
FraseBit[cont][4] = 0xC6; // 1100 0110;
FraseBit[cont][5] = 0xC6; // 1100 0110;
FraseBit[cont][6] = 0xC6; // 1100 0110;
FraseBit[cont][7] = 0x7C; // 0111 1100;
break;
case '9':
FraseBit[cont][0] = 0x7C; // 0111 1100;
FraseBit[cont][1] = 0xC6; // 1100 0110;
FraseBit[cont][2] = 0xC6; // 1100 0110;
FraseBit[cont][3] = 0x7E; // 0111 1110;
FraseBit[cont][4] = 0x06; // 0000 0110;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x78; // 0111 1000;
break;
case '*':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x18; // 0001 1000;
FraseBit[cont][2] = 0x5A; // 0101 1010;
FraseBit[cont][3] = 0x3C; // 0011 1100;
FraseBit[cont][4] = 0x7E; // 0111 1110;
FraseBit[cont][5] = 0x3C; // 0011 1100;
FraseBit[cont][6] = 0x5A; // 0101 1010;
FraseBit[cont][7] = 0x18; // 0001 1000;
break;
case '-':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x00; // 0000 0000;
FraseBit[cont][2] = 0x00; // 0000 0000;
FraseBit[cont][3] = 0xFE; // 1111 1110;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0x00; // 0000 0000;
FraseBit[cont][6] = 0x00; // 0000 0000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '_':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x00; // 0000 0000;
FraseBit[cont][2] = 0x00; // 0000 0000;
FraseBit[cont][3] = 0x00; // 0000 0000;
FraseBit[cont][4] = 0x00; // 0000 0000;
FraseBit[cont][5] = 0x00; // 0000 0000;
FraseBit[cont][6] = 0xFE; // 1111 1110;
FraseBit[cont][7] = 0xFE; // 1111 1110;
break;
case '+':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x18; // 0001 1000;
FraseBit[cont][2] = 0x18; // 0001 1000;
FraseBit[cont][3] = 0xFE; // 1111 1110;
FraseBit[cont][4] = 0xFE; // 1111 1110;
FraseBit[cont][5] = 0x18; // 0001 1000;
FraseBit[cont][6] = 0x18; // 0001 1000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '<':
case '(':
FraseBit[cont][0] = 0x18; // 0001 1000;
FraseBit[cont][1] = 0x30; // 0011 0000;
FraseBit[cont][2] = 0x60; // 0110 0000;
FraseBit[cont][3] = 0xC0; // 1100 0000;
FraseBit[cont][4] = 0xC0; // 1100 0000;
FraseBit[cont][5] = 0x60; // 0110 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x18; // 0001 1000;
break;
case '>':
case ')':
FraseBit[cont][0] = 0x18; // 0001 1000;
FraseBit[cont][1] = 0x0C; // 0000 1100;
FraseBit[cont][2] = 0x06; // 0000 0110;
FraseBit[cont][3] = 0x03; // 0000 0011;
FraseBit[cont][4] = 0x03; // 0000 0011;
FraseBit[cont][5] = 0x06; // 0000 0110;
FraseBit[cont][6] = 0x0C; // 0000 1100;
FraseBit[cont][7] = 0x18; // 0001 1000;
break;
case ':':
case ';':
FraseBit[cont][0] = 0x00; // 0000 0000;
FraseBit[cont][1] = 0x30; // 0011 0000;
FraseBit[cont][2] = 0x30; // 0011 0000;
FraseBit[cont][3] = 0x00; // 0000 0000;
FraseBit[cont][4] = 0x00; // 0000 0000;
FraseBit[cont][5] = 0x30; // 0011 0000;
FraseBit[cont][6] = 0x30; // 0011 0000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
case '\'':
FraseBit[cont][0] = 0x0C; // 0000 1100;
FraseBit[cont][1] = 0x0C; // 0000 1100;
FraseBit[cont][2] = 0x0C; // 0000 1100;
FraseBit[cont][3] = 0x10; // 0001 1000;
FraseBit[cont][4] = 0x00; // 0000 0000;
FraseBit[cont][5] = 0x00; // 0000 0000;
FraseBit[cont][6] = 0x00; // 0000 0000;
FraseBit[cont][7] = 0x00; // 0000 0000;
break;
default:
FraseBit[cont][0] = 0x00;
FraseBit[cont][1] = 0x00;
FraseBit[cont][2] = 0x00;
FraseBit[cont][3] = 0x00;
FraseBit[cont][4] = 0x00;
FraseBit[cont][5] = 0x00;
FraseBit[cont][6] = 0x00;
FraseBit[cont][7] = 0x00;
break;
}
cont++;
Frase_seg++;
}
} else {
// Rotamos la frase
char FrBit_tmp[8];
// Almacenamos el 1er bit que vamos a perder...
for ( j1=0; j1<8; j1++ )
FrBit_tmp[j1] = 0x01 & ( FraseBit[0][j1] >> 7 );
for ( j=0; j<Flen1; j++ )
{
for ( j1=0; j1<8; j1++ )
FraseBit[j][j1] = FraseBit[j][j1] << 1;
for ( j1=0; j1<8; j1++ )
FraseBit[j][j1] = ( FraseBit[j][j1] & 0xFE ) | (0x01 & (FraseBit[j+1][j1] >> 7 ) );
}
for ( j1=0; j1<8; j1++ )
FraseBit[Flen1-1][j1] = ( FraseBit[Flen1-1][j1] & 0xFE ) | FrBit_tmp[j1];
}
// . . . . . .
// .ï ï. .ï ï. .ï ï.
// . . . . .
// __________.________________________.______________________.______________
// . . . . . .
// . . . . . .
// ' .. ' ' .. ' ' .. '
//
// . .
// . ï ï .
// . .
// ____________________._____________________.______________________________
// . . ` ï
// . . ` ï
// . . ` ï
// . . . ` ï
// ` . . ï
// ndigitos --> m x. = 40
float i1;
for ( i=0, i1=3; i < FA->ndigitos; i ++ )
{
for ( j=0, j1=0; j1<8; j+=2*FA->AX, j1++ )
{
// Analizamos el patron de BIT's y lo imprimimos
// FraseBit[cont][0]
// ^ ^----- N£mero de byte del digito ( 8x8 )
// |_________ N£mero de digito alfa-numerico
for ( bit_s = 0; bit_s < 8; bit_s++, i1+=.003 )
{
if ( FraseBit[i][bit_s] & ( (char)0x01 << (7-j1) ) ) c_elec = FA->C2; else c_elec = FA->C1;
putpixel ( FA->x + j + bit_s*2+ i*8*2*FA->AX, FA->y + sin( i1 )*70 + 2*bit_s*FA->AY, c_elec );
}
}
}
}