|
Write_15px
void Write_15px (char latters[40], int x1, int y1)
// Функция для рисования заглавных русских букв.
// Функция принимает заглавные латинские буквы, без пробелов и прочих знаков,
// Оканчивается слово добавлением символа "ноль".
// х1 и y1 - начальное положение
// Пример: Write_15px ("TEKST0", 180, 135);
// Цвет шрифта устанавливается функцией myGLCD.setColor, перед вызовом функции.
// A - A; J - Ж; N - Н; F - Ф; y - Ы;
// B - Б; Z - З; О - О; H - Х; b - Ь;
// V - В; I - И; P - П; Q - Ц; e - Э;
// G - Г; i - Й; R - Р; с - Ч; u - Ю;
// D - Д; K - K; S - С; w - Ш; Y - Я.
// E - E; L - Л; Т - Т; W - Щ;
// ~ - Ё; M - M; U - У; j - Ъ;
{
int p=-13; // Межбуквенный интервал (Начинаем с -13,так как первый же цикл прибавит 13px)
byte a; // Переменная для подсчета количества переданных в функцию символов.
byte z=0;
{for (a=0;latters[a]!='0';a++);} //Подсчитываем символы в массиве, перебирая значения,
//пока не доходим до стоп-символа '0'
for (z=0; z < a; z++) //Основной блок и счетик. Переберает буквы в массиве аргументе функции.
{
if (latters[z] == 'A')
{p=p+13; // Переменная для сдвига следующего символа вправо по оси Х.
// В некоторых буквах подстроена вручную.
myGLCD.fillRect (x1+4+p,y1+10,x1+7+p,y1+11);
myGLCD.fillRect (x1+5+p,y1+1,x1+6+p,y1+5);
myGLCD.drawVLine (x1+p,y1+13,1);
myGLCD.drawVLine (x1+1+p,y1+11,3);
myGLCD.drawVLine (x1+2+p,y1+8,6);
myGLCD.drawVLine (x1+3+p,y1+5,6);
myGLCD.drawVLine (x1+4+p,y1+3,4);
myGLCD.drawVLine (x1+7+p,y1+3,4);
myGLCD.drawVLine (x1+8+p,y1+5,6);
myGLCD.drawVLine (x1+9+p,y1+8,6);
myGLCD.drawVLine (x1+10+p,y1+11,3);
myGLCD.drawVLine (x1+11+p,y1+13,1);
}
if (latters[z] == 'B')
{
p=p+13;
myGLCD.fillRect (x1+2+p,y1+2,x1+3+p,y1+14);
myGLCD.fillRect (x1+10+p,y1+11,x1+11+p,y1+10);
myGLCD.drawHLine (x1+3+p,y1+1,6);
myGLCD.drawHLine (x1+4+p,y1+2,6);
myGLCD.drawHLine (x1+4+p,y1+7,5);
myGLCD.drawHLine (x1+4+p,y1+8,6);
myGLCD.drawHLine (x1+9+p,y1+9,2);
myGLCD.drawHLine (x1+9+p,y1+12,2);
myGLCD.drawHLine (x1+4+p,y1+13,6);
myGLCD.drawHLine (x1+4+p,y1+14,4);
}
if (latters[z] == 'V')
{
p=p+13;
myGLCD.fillRect (x1+1+p,y1+2,x1+2+p,y1+14);
myGLCD.fillRect (x1+9+p,y1+3,x1+10+p,y1+5);
myGLCD.fillRect (x1+8+p,y1+9,x1+9+p,y1+8);
myGLCD.fillRect (x1+9+p,y1+12,x1+8+p,y1+13);
myGLCD.fillRect (x1+3+p,y1+14,x1+7+p,y1+13);
myGLCD.fillRect (x1+3+p,y1+8,x1+7+p,y1+7);
myGLCD.drawHLine (x1+2+p,y1+1,5);
myGLCD.drawHLine (x1+3+p,y1+2,6);
myGLCD.drawHLine (x1+8+p,y1+6,1);
myGLCD.drawVLine (x1+9+p,y1+10,1);
myGLCD.drawVLine (x1+10+p,y1+9,3);
myGLCD.drawPixel (x1+8+p, y1+3);
}
if (latters[z] == 'G')
{
p=p+12;
myGLCD.fillRect (x1+2+p,y1+2,x1+3+p,y1+14);
myGLCD.drawHLine (x1+3+p,y1+1,6);
myGLCD.drawHLine (x1+4+p,y1+2,6);
}
if (latters[z] == 'D')
{
p=p+13;
myGLCD.fillRect (x1+2+p,y1+13,x1+8+p,y1+12);
myGLCD.fillRect (x1+3+p,y1+10,x1+2+p,y1+11);
myGLCD.fillRect (x1+3+p,y1+9,x1+4+p,y1+7);
myGLCD.fillRect (x1+4+p,y1+6,x1+5+p,y1+4);
myGLCD.fillRect (x1+5+p,y1+3,x1+6+p,y1+1);
myGLCD.fillRect (x1+7+p,y1+2,x1+10+p,y1+1);
myGLCD.fillRect (x1+9+p,y1+3,x1+10+p,y1+13);
myGLCD.drawVLine (x1+p,y1+12,3);
myGLCD.drawVLine (x1+1+p,y1+12,2);
myGLCD.drawVLine (x1+11+p,y1+12,3);
}
if (latters[z] == 'E')
{
p=p+12;
myGLCD.fillRect (x1+2+p,y1+2,x1+3+p,y1+13);
myGLCD.drawHLine (x1+3+p,y1+1,5);
myGLCD.drawHLine (x1+4+p,y1+2,5);
myGLCD.drawHLine (x1+4+p,y1+7,4);
myGLCD.drawHLine (x1+4+p,y1+8,3);
myGLCD.drawHLine (x1+4+p,y1+13,7);
myGLCD.drawHLine (x1+3+p,y1+14,7);
}
if (latters[z] == '~')
{
p=p+12;
myGLCD.fillRect (x1+2+p,y1+2,x1+3+p,y1+13);
myGLCD.drawHLine (x1+3+p,y1+1,5);
myGLCD.drawHLine (x1+4+p,y1+2,5);
myGLCD.drawHLine (x1+4+p,y1+7,4);
myGLCD.drawHLine (x1+4+p,y1+8,3);
myGLCD.drawHLine (x1+4+p,y1+13,7);
myGLCD.drawHLine (x1+3+p,y1+14,7);
myGLCD.drawPixel (x1+4+p, y1-1);
myGLCD.drawPixel (x1+7+p, y1-1);
}
if (latters[z] == 'J')
{
p=p+13;
myGLCD.fillRect (x1+6+p,y1+1,x1+7+p,y1+14);
myGLCD.drawLine (x1+2+p,y1+1,x1+5+p,y1+4);
myGLCD.drawLine (x1+2+p,y1+2,x1+5+p,y1+5);
myGLCD.drawLine (x1+8+p,y1+4,x1+11+p,y1+1);
myGLCD.drawLine (x1+8+p,y1+5,x1+11+p,y1+2);
myGLCD.drawVLine (x1+1+p,y1+12,2);
myGLCD.drawVLine (x1+2+p,y1+11,2);
myGLCD.drawVLine (x1+3+p,y1+10,2);
myGLCD.drawVLine (x1+4+p,y1+9,2);
myGLCD.drawVLine (x1+5+p,y1+8,1);
myGLCD.drawVLine (x1+8+p,y1+8,1);
myGLCD.drawVLine (x1+9+p,y1+9,2);
myGLCD.drawVLine (x1+10+p,y1+10,2);
myGLCD.drawVLine (x1+11+p,y1+11,2);
myGLCD.drawVLine (x1+12+p,y1+12,2);
}
if (latters[z] == 'Z')
{
p=p+14;
myGLCD.fillRect (x1+6+p,y1+7,x1+7+p,y1+8);
myGLCD.drawHLine (x1+1+p,y1+4,1);
myGLCD.drawHLine (x1+1+p,y1+3,2);
myGLCD.drawHLine (x1+2+p,y1+2,7);
myGLCD.drawHLine (x1+4+p,y1+1,4);
myGLCD.drawHLine (x1+7+p,y1+3,1);
myGLCD.drawHLine (x1+7+p,y1+12,1);
myGLCD.drawHLine (x1+4+p,y1+14,4);
myGLCD.drawHLine (x1+2+p,y1+13,6);
myGLCD.drawHLine (x1+1+p,y1+12,2);
myGLCD.drawHLine (x1+1+p,y1+11,1);
myGLCD.drawVLine (x1+9+p,y1+3,10);
myGLCD.drawVLine (x1+10+p,y1+3,2);
myGLCD.drawVLine (x1+8+p,y1+6,3);
myGLCD.drawVLine (x1+10+p,y1+10,2);
}
if (latters[z] == 'I')
{
p=p+13;
myGLCD.fillRect (x1+1+p,y1+1,x1+2+p,y1+14);
myGLCD.fillRect (x1+9+p,y1+1,x1+10+p,y1+14);
myGLCD.drawLine (x1+3+p,y1+9,x1+8+p,y1+4);
myGLCD.drawLine (x1+3+p,y1+10,x1+8+p,y1+5);
}
if (latters[z] == 'i')
{
p=p+13;
myGLCD.fillRect (x1+1+p,y1+1,x1+2+p,y1+14);
myGLCD.fillRect (x1+9+p,y1+1,x1+10+p,y1+14);
myGLCD.drawLine (x1+3+p,y1+9,x1+8+p,y1+4);
myGLCD.drawLine (x1+3+p,y1+10,x1+8+p,y1+5);
myGLCD.drawHLine (x1+5+p,y1+1,1);
myGLCD.drawPixel (x1+4+p,y1);
myGLCD.drawPixel (x1+7+p,y1);
}
if (latters[z] == 'K')
{
p=p+13;
myGLCD.fillRect (x1+1+p,y1+2,x1+2+p,y1+14);
myGLCD.drawVLine (x1+7+p,y1+6,3);
myGLCD.drawVLine (x1+8+p,y1+8,3);
myGLCD.drawVLine (x1+9+p,y1+10,4);
myGLCD.drawVLine (x1+10+p,y1+13,1);
myGLCD.drawLine (x1+3+p,y1+8,x1+10+p,y1+1);
myGLCD.drawLine (x1+3+p,y1+9,x1+10+p,y1+2);
myGLCD.drawPixel (x1+6+p, y1+7);
}
if (latters[z] == 'L')
{
p=p+14;
myGLCD.fillRect (x1+2+p,y1+5,x1+3+p,y1+13);
myGLCD.fillRect (x1+9+p,y1+2,x1+10+p,y1+14);
myGLCD.drawHLine (x1+0+p,y1+14,2);
myGLCD.drawHLine (x1+3+p,y1+4,1);
myGLCD.drawHLine (x1+4+p,y1+3,1);
myGLCD.drawHLine (x1+4+p,y1+2,4);
myGLCD.drawHLine (x1+6+p,y1+1,3);
myGLCD.drawPixel (x1+1+p, y1+13);
}
if (latters[z] == 'M')
{
p=p+14;
myGLCD.fillRect (x1+5+p,y1+5,x1+6+p,y1+6);
myGLCD.drawVLine (x1+0+p,y1+2,12);
myGLCD.drawVLine (x1+1+p,y1+1,13);
myGLCD.drawVLine (x1+2+p,y1+2,2);
myGLCD.drawVLine (x1+3+p,y1+3,1);
myGLCD.drawVLine (x1+4+p,y1+4,1);
myGLCD.drawVLine (x1+7+p,y1+4,1);
myGLCD.drawVLine (x1+8+p,y1+3,1);
myGLCD.drawVLine (x1+9+p,y1+2,2);
myGLCD.drawVLine (x1+10+p,y1+1,13);
myGLCD.drawVLine (x1+11+p,y1+2,12);
}
if (latters[z] == 'N')
{
p=p+13;
myGLCD.fillRect (x1+2+p,y1+1,x1+3+p,y1+14);
myGLCD.fillRect (x1+4+p,y1+7,x1+8+p,y1+8);
myGLCD.fillRect (x1+9+p,y1+1,x1+10+p,y1+14);
}
if (latters[z] == 'O')
{
p=p+10;
myGLCD.fillRect (x1+3+p,y1+3,x1+4+p,y1+12);
myGLCD.fillRect (x1+10+p,y1+3,x1+11+p,y1+12);
myGLCD.drawHLine (x1+5+p,y1+1,4);
myGLCD.drawHLine (x1+4+p,y1+2,6);
myGLCD.drawHLine (x1+4+p,y1+13,6);
myGLCD.drawHLine (x1+5+p,y1+14,4);
myGLCD.drawPixel (x1+5+p, y1+3);
myGLCD.drawPixel (x1+9+p, y1+3);
myGLCD.drawPixel (x1+5+p, y1+12);
myGLCD.drawPixel (x1+9+p, y1+12);
}
if (latters[z] == 'P')
{
p=p+15;
myGLCD.fillRect (x1+p,y1+1,x1+1+p,y1+14);
myGLCD.fillRect (x1+2+p,y1+1,x1+7+p,y1+2);
myGLCD.fillRect (x1+8+p,y1+1,x1+9+p,y1+14);
}
if (latters[z] == 'R')
{
p=p+13;
myGLCD.fillRect (x1+9+p,y1+4,x1+10+p,y1+5);
myGLCD.drawVLine (x1+1+p,y1+2,12);
myGLCD.drawVLine (x1+2+p,y1+1,13);
myGLCD.drawHLine (x1+3+p,y1+1,5);
myGLCD.drawHLine (x1+3+p,y1+2,6);
myGLCD.drawHLine (x1+8+p,y1+3,2);
myGLCD.drawHLine (x1+8+p,y1+6,2);
myGLCD.drawHLine (x1+3+p,y1+7,7);
myGLCD.drawHLine (x1+3+p,y1+8,6);
}
if (latters[z] == 'S')
{
p=p+13;
myGLCD.fillRect (x1+5+p,y1+1,x1+8+p,y1+2);
myGLCD.fillRect (x1+5+p,y1+13,x1+8+p,y1+14);
myGLCD.fillRect (x1+9+p,y1+2,x1+10+p,y1+3);
myGLCD.fillRect (x1+9+p,y1+12,x1+10+p,y1+13);
myGLCD.drawVLine (x1+2+p,y1+3,9);
myGLCD.drawVLine (x1+3+p,y1+2,11);
myGLCD.drawVLine (x1+4+p,y1+1,2);
myGLCD.drawVLine (x1+4+p,y1+12,2);
myGLCD.drawPixel (x1+10+p,y1+4);
myGLCD.drawPixel (x1+10+p,y1+11);
}
if (latters[z] == 'T')
{
p=p+13;
myGLCD.fillRect (x1+5+p,y1+3,x1+6+p,y1+14);
myGLCD.drawHLine (x1+p,y1+1,11);
myGLCD.drawHLine (x1+1+p,y1+2,9);
}
if (latters[z] == 'U')
{
p=p+13;
myGLCD.fillRect (x1+3+p,y1+13,x1+5+p,y1+14);
myGLCD.drawVLine (x1+2+p,y1+1,3);
myGLCD.drawVLine (x1+3+p,y1+1,4);
myGLCD.drawVLine (x1+4+p,y1+4,2);
myGLCD.drawVLine (x1+5+p,y1+5,2);
myGLCD.drawVLine (x1+6+p,y1+7,1);
myGLCD.drawVLine (x1+7+p,y1+7,6);
myGLCD.drawVLine (x1+6+p,y1+11,3);
myGLCD.drawVLine (x1+8+p,y1+5,6);
myGLCD.drawVLine (x1+9+p,y1+3,5);
myGLCD.drawVLine (x1+10+p,y1+1,4);
myGLCD.drawVLine (x1+11+p,y1+1,1);
}
if (latters[z] == 'F')
{
myGLCD.drawVLine (x1+1+p,y1+6,3);
myGLCD.drawVLine (x1+2+p,y1+4,7);
myGLCD.drawVLine (x1+6+p,y1+1,13);
myGLCD.drawVLine (x1+7+p,y1+1,13);
myGLCD.drawVLine (x1+11+p,y1+5,6);
myGLCD.drawVLine (x1+12+p,y1+6,3);
myGLCD.drawHLine (x1+3+p,y1+4,8);
myGLCD.drawHLine (x1+4+p,y1+3,5);
myGLCD.drawHLine (x1+3+p,y1+11,8);
myGLCD.drawHLine (x1+4+p,y1+12,5);
}
if (latters[z] == 'H')
{
p=p+13;
myGLCD.drawVLine (x1+2+p,y1+1,1);
myGLCD.drawVLine (x1+3+p,y1+1,3);
myGLCD.drawVLine (x1+4+p,y1+3,3);
myGLCD.drawVLine (x1+5+p,y1+5,5);
myGLCD.drawVLine (x1+4+p,y1+9,3);
myGLCD.drawVLine (x1+3+p,y1+11,3);
myGLCD.drawVLine (x1+2+p,y1+13,1);
myGLCD.drawVLine (x1+6+p,y1+6,3);
myGLCD.drawVLine (x1+7+p,y1+5,5);
myGLCD.drawVLine (x1+8+p,y1+3,3);
myGLCD.drawVLine (x1+9+p,y1+1,3);
myGLCD.drawVLine (x1+10+p,y1+1,1);
myGLCD.drawVLine (x1+8+p,y1+9,3);
myGLCD.drawVLine (x1+9+p,y1+11,3);
myGLCD.drawVLine (x1+10+p,y1+13,1);
}
if (latters[z] == 'Q')
{
p=p+14;
myGLCD.fillRect (x1+2+p,y1+1,x1+1+p,y1+11);
myGLCD.fillRect (x1+8+p,y1+11,x1+9+p,y1+1);
myGLCD.fillRect (x1+10+p,y1+15,x1+11+p,y1+14);
myGLCD.drawHLine (x1+1+p,y1+12,9);
myGLCD.drawHLine (x1+2+p,y1+13,9);
}
if (latters[z] == 'c')
{
p=p+13;
myGLCD.fillRect (x1+3+p,y1+6,x1+7+p,y1+7);
myGLCD.fillRect (x1+8+p,y1+1,x1+9+p,y1+14);
myGLCD.drawVLine (x1+1+p,y1+1,4);
myGLCD.drawVLine (x1+2+p,y1+1,5);
}
if (latters[z] == 'w')
{
p=p+14;
myGLCD.fillRect (x1+p,y1+1,x1+1+p,y1+13);
myGLCD.fillRect (x1+5+p,y1+1,x1+6+p,y1+12);
myGLCD.fillRect (x1+10+p,y1+1,x1+11+p,y1+13);
myGLCD.fillRect (x1+1+p,y1+13,x1+10+p,y1+14);
}
if (latters[z] == 'W')
{
p=p+15;
myGLCD.fillRect (x1+p,y1+1,x1+1+p,y1+12);
myGLCD.fillRect (x1+5+p,y1+1,x1+6+p,y1+11);
myGLCD.fillRect (x1+10+p,y1+1,x1+11+p,y1+11);
myGLCD.fillRect (x1+1+p,y1+12,x1+12+p,y1+13);
myGLCD.fillRect (x1+11+p,y1+14,x1+12+p,y1+15);
}
if (latters[z] == 'j')
{
p=p+14;
myGLCD.fillRect (x1+3+p,y1+1,x1+4+p,y1+13);
myGLCD.fillRect (x1+5+p,y1+6,x1+9+p,y1+7);
myGLCD.fillRect (x1+4+p,y1+13,x1+9+p,y1+14);
myGLCD.fillRect (x1+1+p,y1+1,x1+2+p,y1+2);
myGLCD.drawVLine (x1+10+p,y1+7,6);
myGLCD.drawVLine (x1+11+p,y1+8,4);
myGLCD.drawPixel (x1+9+p, y1+8);
myGLCD.drawPixel (x1+9+p, y1+12);
}
if (latters[z] == 'y')
{
p=p+17;
myGLCD.fillRect (x1-1+p,y1+1,x1+p,y1+13);
myGLCD.fillRect (x1+10+p,y1+1,x1+11+p,y1+14);
myGLCD.fillRect (x1+p,y1+13,x1+4+p,y1+14);
myGLCD.fillRect (x1+1+p,y1+6,x1+4+p,y1+7);
myGLCD.drawVLine (x1+5+p,y1+7,6);
myGLCD.drawVLine (x1+6+p,y1+8,4);
myGLCD.drawPixel (x1+4+p, y1+8);
myGLCD.drawPixel (x1+4+p, y1+12);
}
if (latters[z] == 'b')
{
p=p+13;
myGLCD.fillRect (x1+2+p,y1+1,x1+3+p,y1+13);
myGLCD.fillRect (x1+4+p,y1+6,x1+8+p,y1+7);
myGLCD.fillRect (x1+3+p,y1+13,x1+8+p,y1+14);
myGLCD.drawVLine (x1+9+p,y1+7,6);
myGLCD.drawVLine (x1+10+p,y1+8,4);
myGLCD.drawPixel (x1+8+p, y1+8);
myGLCD.drawPixel (x1+8+p, y1+12);
}
if (latters[z] == 'e')
{
p=p+13;
myGLCD.fillRect (x1+2+p,y1+4,x1+3+p,y1+3);
myGLCD.fillRect (x1+3+p,y1+2,x1+5+p,y1+3);
myGLCD.fillRect (x1+5+p,y1+1,x1+8+p,y1+2);
myGLCD.fillRect (x1+8+p,y1+2,x1+10+p,y1+3);
myGLCD.fillRect (x1+6+p,y1+7,x1+9+p,y1+8);
myGLCD.fillRect (x1+9+p,y1+11,x1+10+p,y1+13);
myGLCD.fillRect (x1+5+p,y1+13,x1+8+p,y1+14);
myGLCD.fillRect (x1+3+p,y1+12,x1+5+p,y1+13);
myGLCD.fillRect (x1+2+p,y1+11,x1+3+p,y1+12);
myGLCD.drawVLine (x1+10+p,y1+5,5);
myGLCD.drawVLine (x1+11+p,y1+4,7);
myGLCD.drawHLine (x1+9+p,y1+4,1);
myGLCD.drawPixel (x1+8+p, y1+12);
}
if (latters[z] == 'u')
{
p=p+15;
myGLCD.fillRect (x1+1+p,y1+1,x1+2+p,y1+14);
myGLCD.fillRect (x1+3+p,y1+7,x1+4+p,y1+8);
myGLCD.fillRect (x1+8+p,y1+1,x1+10+p,y1+2);
myGLCD.fillRect (x1+8+p,y1+13,x1+10+p,y1+14);
myGLCD.drawVLine (x1+5+p,y1+5,5);
myGLCD.drawVLine (x1+6+p,y1+3,9);
myGLCD.drawVLine (x1+7+p,y1+2,2);
myGLCD.drawVLine (x1+11+p,y1+2,2);
myGLCD.drawVLine (x1+12+p,y1+3,9);
myGLCD.drawVLine (x1+13+p,y1+5,5);
myGLCD.drawVLine (x1+7+p,y1+11,2);
myGLCD.drawVLine (x1+11+p,y1+11,2);
}
if (latters[z] == 'Y')
{
p=p+13;
myGLCD.fillRect (x1+5+p,y1+1,x1+8+p,y1+2);
myGLCD.drawVLine (x1+9+p,y1+1,13);
myGLCD.drawVLine (x1+10+p,y1+2,12);
myGLCD.drawVLine (x1+4+p,y1+2,6);
myGLCD.drawVLine (x1+3+p,y1+3,4);
myGLCD.drawHLine (x1+5+p,y1+8,3);
myGLCD.drawHLine (x1+6+p,y1+9,2);
myGLCD.drawLine (x1+2+p,y1+14,x1+6+p,y1+10);
myGLCD.drawLine (x1+3+p,y1+14,x1+7+p,y1+10);
myGLCD.drawPixel (x1+5+p, y1+3);
myGLCD.drawPixel (x1+5+p, y1+7);
}
}
}
|
|