Встала задача русскоязычного вывода в своей программе. В Qt проблема решилась довольно просто через класс QTextCodec и функцию tr() (хорошая все-таки штука кроссплатформенность). Программка, которая выводит табличкой список доступных в системе шрифтов и вывод каждым из них на русском:
А вот настроить вывод на русском в консоль пока не могу. Понятно, что нужно настроить локаль, и инструкций на линукс-форумах действительно тонны. Но как решить эту задачу применительно к плате SK-9G45-OEM?
хм.. там все печально.. и меняется, как калейдоскоп..
для начала определитесь - что руссифицировать хотите:
консоль порта, экран ЖКИ или сетевую консоль
далее вечером посмотрю в архивах..
Ну с Debian-ом проблем нет, там совсем всё просто. Правка /etc/locale.gen (надо раскоментировать те локали, которые нужны) и запуск команды locale-gen вас спасёт. Потом любую нужную локаль можно ставить с помощью переменных окружения LANG или LC_ALL. Про buildroot ничего сказать не могу.
alekstr, извините, а сколько шрифтов у вас обнаружилось??? у меня находит только 4 и с отображением русского ниодного. QT_QWS_FONTDIR не помогает. Как QT подложить шрифты???
alekstr, спасибо за программку, работает на 5+, сам бы долго писал такое:). Добавить шрифты оказалось несложно, вот как это делается (если кто-то наступит на теже грабли):
создается файл fontdir, в директории со шрифтами КуТэ, в этот файл, в текстовом редакторе, пишите какой шрифт добавить в соответствии с http://doc.qt.nokia.com/4.7-snapshot/qt-embedded-fonts.html (смотрим в самом низу странички табличку:) ), одна строчка из моего fontdir выглядит так:
DejaVuSТ DejaVuSans.ttf FT no 75 0
далее запускаем скрипты:
#!/bin/sh
#добавляем мышку - TS
export QWS_MOUSE_PROTO=Tslib:/dev/event0
#оворим где шрыфты
export QT_QWS_FONTDIR=/usr/lib/fonts
ну и естественно, пробуем приложение запустить.
И еще, может кому пригодиться (я личчно незнал, что так можно ускорить процесс), после сборки buildroot'а шаманства со сборкой QT ненадо, он лежит готовый, просто добавляем в переменную ПАТЧ папку (для виртуальной машины из комплекта) ..../src/buildroot-2010.08/output/build/qt..../bin/, в ней готовый qmake. Смело запускаем крмпиляцию проекта КуТэ. Копировать никакие либы и шрифты, покрайне мере мне, не пришлось, в ФС было AllIn ("все включено"), достаточно проверить и доопределить переменную ПАТЧ на платке.
Незабываем пробовать разные кодировки на плате, если русский шрифт неотображается. У меня заотображался с кодировкой windows-1251.
И последние, для проверки наличия и отображнения шрифтов, выше приведена отличная программка от alekstr, жаль что в ней нет смены кодировок.
Подниму тему - вдруг кто из участников появится...
Тоже пробую писать по-русски в Qt 4.8.4, но пока неудачно - использую программку alekstr, строки c tr() выводятся пустыми символами, без tr() - квадратиками. Кодировка проекта в Creator - UTF8, и хотелось бы остаться только в ней, без 1251.
Пробовал ставить кодек в 1251, менял кодировку проекта на 1251 - ничего не меняется(
Может кто чего дельного посоветует?
Отпишусь на всякий случай - может кому поможет.
У меня проблема с выводом русских символов в графическом приложении решилась закидыванием дополнительных шрифтов qpf в папку fonts. Те, что были, содержали только латинский алфавит.
У меня qt собрана с поддержкой unicode, я пишу в креаторе в юникоде-8, я не устанавливаю никаких других кодировок (аля 1251).
Но очевидно, что файл шрифта размером 3,5 килобайта не может содержать какие-либо еще кодовые страницы, кроме латинской, а вот другие шрифты содержат.