Russian Qt Forum
Ноябрь 25, 2024, 05:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Использование точечный шрифт аля ASCII VGA IBM PC  (Прочитано 3652 раз)
kodoo
Гость
« : Июль 26, 2012, 18:35 »

Доброго времени суток!
Подскажите пожалуйста, как возможно реализовать.
Нужно сделать вывод символов визуально напоминающий обычную консоль Windows например.
IBM PC cp 437 16x8:

То есть, например какой нибудь Courier New просто установить при создании QFont'a не поможет, ибо он ttf, и больно гладенький, что такого рэтро-эффекта (прошу меня простить) не дает. Так же важнейших символов - рамочек и прочих curses радостей - в нем нету.
Вот и что посоветуете, что бы у меня могло получится нечто вроде такого чуда:

(Разумеется ничего подобного я делать не собираюсь)
При этом вывод осуществляется через QPainter, т.к. нужно полноценное RGB (в виндовой консоли вроде это не возможно)
Вот такая вышла экзотическая задачка.
---
Мои идеи на этот счет, разве что заимпортить некий самопаленый ttf шрифт, что бы и символы были, и выглядел похоже.
Жду ваших смелых решений и помощи.
Заранее благодарен.
Записан
Bepec
Гость
« Ответ #1 : Июль 26, 2012, 20:13 »

Эммм... это же натуральный АСКИ консольный.  Насчёт дернуть его незнаю, но по идее он должен быть в стандартном паке.
Записан
LisandreL
Птица говорун
*****
Offline Offline

Сообщений: 984


Надо улыбаться


Просмотр профиля
« Ответ #2 : Июль 26, 2012, 20:50 »

Ну а сам Terminal вас не устраивает?
Записан
kodoo
Гость
« Ответ #3 : Июль 26, 2012, 21:09 »

Может я что не так делаю, но вот просто вывожу символы, типо
Код:
textFont = QFont("Courier New", 10);
painter->setFont(textFont);
...
painter->drawText( TextX, TextY, QString ( 1, QChar(i) ));
Если позабыть, что хотелось бы искренней попиксельной отрисовки, то все равно рамочек и прочего нету
Для Terminal:

Для Courier New:

На тех местах вот как раз, собственно, пустое место.
Записан
kodoo
Гость
« Ответ #4 : Июль 27, 2012, 14:07 »

Ну а сам Terminal вас не устраивает?
Если вы имеете ввиду консольное окошечко, то весь то сок в том, что нужно полноценное RGB, а виндовая консоль при всех издевательствах это не поддерживает (в отличии, скажем, от никовского или маковского терминала)
---
По сути мне нужно визуализовать консоль через QPainter, вот я прошу вашей помощи.
Возможно ли подгрузить .fon? И все таки, вопрос новичка, как подгрузить костом .ttf шрифт для вывода?
Заранее благодарен.
Записан
Bepec
Гость
« Ответ #5 : Июль 27, 2012, 14:19 »

Можно в принципе и самому шрифт выводить. Но это немного ... мм... плоховато.

PS вот интересный вопрос, почему в таблице символов в винде есть необходимые вам знаки, а в программе
ти же знаки не показуются.
Записан
Kurles
Бывалый
*****
Offline Offline

Сообщений: 480



Просмотр профиля
« Ответ #6 : Июль 27, 2012, 14:48 »

Может я что не так делаю, но вот просто вывожу символы, типо
Код:
textFont = QFont("Courier New", 10);
painter->setFont(textFont);
...
painter->drawText( TextX, TextY, QString ( 1, QChar(i) ));
Если позабыть, что хотелось бы искренней попиксельной отрисовки, то все равно рамочек и прочего нету
наверное надо попробовать покопать в сторону QString QString::fromAscii ( const char * str, int size = -1 ) [static], так как QString то внутрях хранит вроде все в уникоде, посему хрень и выводит. Ну и более кросплатформенно заоддно получиться.
Записан

Код
C++ (Qt)
while(!asleep()) sheep++;
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.069 секунд. Запросов: 22.