ищу русский шрифт 6*4 или 6*5

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Потрогал лапой паяльник
Сообщения: 392
Зарегистрирован: Сб дек 12, 2009 02:15:45

Сообщение neon-f »

Друзья. Понадобился мне тут для одного устройства русский знакогенератор 6 на 4, или 6 на 5 точек(главное 6 точек в высоту). Поискал в интернете, но не нашел. 8*6, 8*7 - валом, а вот такого как мне надо - нет. Может кто видел такой, подскажите где. а то самому муторно рисовать. Мне нужны только русские буквы, можно только строчные и основные знаки препинания. цифры я уже нарисовал, кстати очень симпотно получились для такого разрешения.
Или может у кого программулина какая есть для облегчения рисования.
Реклама
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

Могу предложить софтину для натыкивания картинок, которую я написал для проекта Mega3D (собственно, в ней я создавал массив знакогенератора, но размер символа у меня 5х7). Поддерживает высоту символа до восьми точек, однако никто не мешает не использовать две строки. Формат выходного файла прост: каждый столбец - байт. В теме про Mega3D, в выложенном архиве лежит и другой софт, который может оказаться полезным.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Реклама
Потрогал лапой паяльник
Сообщения: 392
Зарегистрирован: Сб дек 12, 2009 02:15:45

Сообщение neon-f »

Спасибо, если готового никто не подкинет, буду сам рисовать.
а чем можно конвертировать потом в шестнадцатеричный вид? я например нарисовал букву "0" 6на4. ваша программулина выдала файл который я открыл блокнотом и увидил "ь„„ь". я так понимаю блокнот вывел символы которые соответствуют кодам. а чем увидить именно сами коды в шестнадцатеричном виде ??
Друг Кота
Аватара пользователя
Сообщения: 3874
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Сообщение Engineer_Keen »

Можно открыть полученный файл hex-редактором, или поставить например notepad+ Я им бинарные файлы редактирую.
Реклама
Эиком - электронные компоненты и радиодетали
YS
Друг Кота
Аватара пользователя
Сообщения: 7518
Зарегистрирован: Вс мар 29, 2009 22:09:05

Сообщение YS »

А можно написать простейшую программу для конвертации, например, так (меня обуревает лень, поэтому прямо сюда пишу исходник в потоке мысли :) ):

Код: Выделить всё

#include <stdio.h>
#include <conio.h>

void main(void)
{
  FILE *fin,*fout;
  char ch;

  fin=fopen("infile.m3d","rb");
  fout=fopen("outfile.asm","wt");

  if ((fin==NULL) || (fout==NULL))
  {
    printf("File i/o error.\n");
    getch();
  }
  else
    while(fscanf(fin,"%c",&ch)!=EOF)
      fprintf(fout,"0x%X,",ch);

  fclose(fin);
  fclose(fout);
  
  return 0;
}
Всего то.
Разница между теорией и практикой на практике гораздо больше, чем в теории.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7392
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

а чем можно конвертировать потом в шестнадцатеричный вид?
Зачем? я например иногда делаю так:

Код: Выделить всё

char30line0:    set     b'01111100'
char30line1:    set     b'11000110'
char30line2:    set     b'11001110'
char30line3:    set     b'11011110'
char30line4:    set     b'11110110'
char30line5:    set     b'11100110'
char30line6:    set     b'01111100'
char30line7:    set     b'00000000'
char31line0:    set     b'00110000'
char31line1:    set     b'01110000'
char31line2:    set     b'00110000'
char31line3:    set     b'00110000'
char31line4:    set     b'00110000'
char31line5:    set     b'00110000'
char31line6:    set     b'11111100'
char31line7:    set     b'00000000'
Если приглядеться можно даже разглядеть... Хотя на самом деле я рисую сначала более контрастными символами например '.' и 'Ж', а в конце search'n'replace массово.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Реклама
Потрогал лапой паяльник
Сообщения: 392
Зарегистрирован: Сб дек 12, 2009 02:15:45

Сообщение neon-f »

короче отдал часик и нарисовал. Выкладываю, вдруг кому понадобиться, все таки 6на5 жуткая редкость в инете.
самая проблемная буква - щ, с остальными вроде сносно выкрутился....

Код: Выделить всё

unsigned char letters [44][5]={   
{0x1E, 0x29, 0x25, 0x1E, 0x00},       // 0
{0x00, 0x22, 0x3F, 0x20, 0x00},       // 1
{0x32, 0x29, 0x25, 0x22, 0x00},       // 2
{0x11, 0x25, 0x25, 0x1B, 0x00},       // 3
{0x07, 0x04, 0x04, 0x3F, 0x00},       // 4
{0x17, 0x25, 0x25, 0x19, 0x00},       // 5
{0x1E, 0x25, 0x25, 0x18, 0x00},       // 6
{0x01, 0x39, 0x05, 0x03, 0x00},       // 7
{0x1A, 0x25, 0x25, 0x1A, 0x00},       // 8
{0x06, 0x29, 0x29, 0x1E, 0x00},       // 9
{0x00, 0x36, 0x36, 0x00, 0x00},       // :
{0x00, 0x00, 0x00, 0x00, 0x00},       // пробел
{0x0C, 0x0C, 0x0C, 0x0C, 0x00},       // минус
{0x3C, 0x0A, 0x09, 0x3F, 0x00},       // А
{0x3F, 0x25, 0x25, 0x19, 0x00},       // Б
{0x3F, 0x25, 0x25, 0x1A, 0x00},       // В
{0x3F, 0x01, 0x01, 0x01, 0x00},       // Г
{0x30, 0x1E, 0x11, 0x1F, 0x30},       // Д
{0x3F, 0x25, 0x25, 0x25, 0x00},       // Е
{0x33, 0x0C, 0x3F, 0x0C, 0x33},       // З
{0x25, 0x25, 0x25, 0x3F, 0x00},       // Ж
{0x3F, 0x08, 0x04, 0x3F, 0x00},       // И
{0x3F, 0x0C, 0x12, 0x21, 0x00},       // К
{0x3C, 0x02, 0x01, 0x3F, 0x00},       // Л
{0x3F, 0x02, 0x04, 0x02, 0x3F},       // М
{0x3F, 0x04, 0x04, 0x3F, 0x00},       // Н
{0x1E, 0x21, 0x21, 0x1E, 0x00},       // О
{0x3F, 0x01, 0x01, 0x3F, 0x00},       // П
{0x3F, 0x09, 0x09, 0x06, 0x00},       // Р
{0x1E, 0x21, 0x21, 0x12, 0x00},       // С
{0x01, 0x3F, 0x01, 0x00, 0x00},       // Т
{0x27, 0x28, 0x28, 0x1F, 0x00},       // У
{0x06, 0x09, 0x3A, 0x09, 0x06},       // Ф
{0x33, 0x0C, 0x0C, 0x33, 0x00},       // Х
{0x3F, 0x20, 0x3F, 0x20, 0x00},       // Ц
{0x07, 0x08, 0x08, 0x3F, 0x00},       // Ч
{0x3F, 0x20, 0x3F, 0x20, 0x3F},       // Ш
{0x1F, 0x10, 0x1F, 0x10, 0x3F},       // Щ
{0x01, 0x3F, 0x24, 0x18, 0x00},       // Ъ
{0x3F, 0x24, 0x18, 0x00, 0x3F},       // Ы
{0x3F, 0x24, 0x18, 0x00, 0x00},       // Ь
{0x12, 0x21, 0x25, 0x1E, 0x00},       // Э
{0x3F, 0x04, 0x1E, 0x21, 0x1E},       // Ю
{0x26, 0x19, 0x09, 0x3F, 0x00}};      // Я 
Последний раз редактировалось neon-f Пт май 14, 2010 00:21:38, всего редактировалось 1 раз.
Открыл глаза
Сообщения: 79
Зарегистрирован: Сб май 08, 2010 09:33:42

Сообщение of_silence »

Спасибо, пригодится :)
Вымогатель припоя
Аватара пользователя
Сообщения: 580
Зарегистрирован: Сб дек 27, 2008 12:01:35
Откуда: Россия, Екатеринбург

Сообщение Alex_EXE »

Писал подобную программу, правда 8*5 Символьный генератор, для получения 6*5 нужно будет использовать только верхние 6 строчек.
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»