Russian Qt Forum

Qt => Вопросы новичков => Тема начата: kodoo от Июль 26, 2012, 18:35



Название: Использование точечный шрифт аля ASCII VGA IBM PC
Отправлено: kodoo от Июль 26, 2012, 18:35
Доброго времени суток!
Подскажите пожалуйста, как возможно реализовать.
Нужно сделать вывод символов визуально напоминающий обычную консоль Windows например.
IBM PC cp 437 16x8:
(http://rghost.ru/39425133/image.png)
То есть, например какой нибудь Courier New просто установить при создании QFont'a не поможет, ибо он ttf, и больно гладенький, что такого рэтро-эффекта (прошу меня простить) не дает. Так же важнейших символов - рамочек и прочих curses радостей - в нем нету.
Вот и что посоветуете, что бы у меня могло получится нечто вроде такого чуда:
(http://tvision.sourceforge.net/tv2-QNX-tvscreen.jpg)
(Разумеется ничего подобного я делать не собираюсь)
При этом вывод осуществляется через QPainter, т.к. нужно полноценное RGB (в виндовой консоли вроде это не возможно)
Вот такая вышла экзотическая задачка.
---
Мои идеи на этот счет, разве что заимпортить некий самопаленый ttf шрифт, что бы и символы были, и выглядел похоже.
Жду ваших смелых решений и помощи.
Заранее благодарен.


Название: Re: Использование точечный шрифт аля ASCII VGA IBM PC
Отправлено: Bepec от Июль 26, 2012, 20:13
Эммм... это же натуральный АСКИ консольный.  Насчёт дернуть его незнаю, но по идее он должен быть в стандартном паке.


Название: Re: Использование точечный шрифт аля ASCII VGA IBM PC
Отправлено: LisandreL от Июль 26, 2012, 20:50
Ну а сам Terminal вас не устраивает?


Название: Re: Использование точечный шрифт аля ASCII VGA IBM PC
Отправлено: kodoo от Июль 26, 2012, 21:09
Может я что не так делаю, но вот просто вывожу символы, типо
Код:
textFont = QFont("Courier New", 10);
painter->setFont(textFont);
...
painter->drawText( TextX, TextY, QString ( 1, QChar(i) ));
Если позабыть, что хотелось бы искренней попиксельной отрисовки, то все равно рамочек и прочего нету
Для Terminal:
(http://rghost.ru/39427507/image.png)
Для Courier New:
(http://rghost.ru/39427521/image.png)
На тех местах вот как раз, собственно, пустое место.


Название: Re: Использование точечный шрифт аля ASCII VGA IBM PC
Отправлено: kodoo от Июль 27, 2012, 14:07
Ну а сам Terminal вас не устраивает?
Если вы имеете ввиду консольное окошечко, то весь то сок в том, что нужно полноценное RGB, а виндовая консоль при всех издевательствах это не поддерживает (в отличии, скажем, от никовского или маковского терминала)
---
По сути мне нужно визуализовать консоль через QPainter, вот я прошу вашей помощи.
Возможно ли подгрузить .fon? И все таки, вопрос новичка, как подгрузить костом .ttf шрифт для вывода?
Заранее благодарен.


Название: Re: Использование точечный шрифт аля ASCII VGA IBM PC
Отправлено: Bepec от Июль 27, 2012, 14:19
Можно в принципе и самому шрифт выводить. Но это немного ... мм... плоховато.

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


Название: Re: Использование точечный шрифт аля ASCII VGA IBM PC
Отправлено: Kurles от Июль 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 то внутрях хранит вроде все в уникоде, посему хрень и выводит. Ну и более кросплатформенно заоддно получиться.