ЗАО «ЗЭО»

Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  

Новости:

Автор Тема: FreeType шрифты в Qt  (Прочитано 4753 раз)

0 Пользователей и 1 Гость просматривают эту тему.

bone

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 6
FreeType шрифты в Qt
« : 12 Ноября, 2010, 05:41:53 »

Какие параметры надо прописать в файле .config, чтобы при сборке Buildroot была включена поддержка русских FreeType шрифтов в Qt? В частности мы хотим использовать шрифты семейства DejaVu. В данный момент на формах созданых в Qt Desinger данный шрифт отображается в виде кдвадратов (в том числе цифры и английские буквы), но при этом они меняют свой размер, если в стилях css задавать разный размер шрифта. Семейство и размер шрифта задается в отдельном файле со стилями, который подгружается программно.
Используется Qt 4.6

Следующий код в программе не дает результата (исходники в UTF-8).
   QLocale::setDefault(QLocale(QLocale::Russian,QLocale::RussianFederation));
  
    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForTr(QTextCodec::codecForLocale());
    QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
« Последнее редактирование: 12 Ноября, 2010, 06:21:19 от bone »
Записан

asv

  • Hero Member
  • *****
  • Оффлайн Оффлайн
  • Сообщений: 1405
Re: FreeType шрифты в Qt
« Ответ #1 : 12 Ноября, 2010, 10:20:14 »

<qt-src>/doc/html/qt-embedded-fonts.html
Записан

scad

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 48
Re: FreeType шрифты в Qt
« Ответ #2 : 12 Ноября, 2010, 12:51:04 »

Для поддержки freetype шрифтов конфигурируйте с ключом -qt-freetype:
./configure -qt-freetype

Лучше брать Qt 4.5.2. В 4.6 и более новых какие-то проблемы наблюдаются, см. тут:
http://www.zao-zeo.ru/forum/index.php?topic=436.0
и тут: http://bugreports.qt.nokia.com/browse/QTBUG-7904
Записан

laborer

  • Newbie
  • *
  • Оффлайн Оффлайн
  • Сообщений: 29
Re: FreeType шрифты в Qt
« Ответ #3 : 13 Ноября, 2010, 11:25:49 »

Для поддержки freetype шрифтов конфигурируйте с ключом -qt-freetype:
./configure -qt-freetype

Лучше брать Qt 4.5.2. В 4.6 и более новых какие-то проблемы наблюдаются, см. тут:
http://www.zao-zeo.ru/forum/index.php?topic=436.0
и тут: http://bugreports.qt.nokia.com/browse/QTBUG-7904

Что касается бага QTBUG-7904, то там указывают workaround с "#define QT_QLOCALE_USES_FCVT". Я помню у себя этот идентификатор и такие проблемы со 100%-ой загрузкой CPU. У меня они проявлялись при вызове методов QString работающих с плавучкой. А QString используется практически везде, так что эта проблема может вылезти где угодно.
У вас тулчейн наверное с uCLibc? В моём случае это было так и причина тому - не полное соответствие uCLibc стандартам. Собственно, для меня эта ошибка была одной из причин перехода на тулчейн с glibc. И версия Qt тут кажется не причём: я в гугле находил похожие проблемы ещё с Qt 3.x
Записан