LINUX.ORG.RU

QT4.4 QFontDatabase. Некорректно прорисовывается пользовательский шрифт


0

0

Добрый день!

В qt4 программирую относительно недавно, вот столкнулся с такой проблемой: Не могу загрузить шрифт. Точнее шрифт грузится, но отображается некорректно.
Что я делаю:
1. Беру ГОСТ-овский шрифт http://www.scan.tomsk.ru/student/fonts.shtml и кладу его в каталог где исполняемый файл.
2.
[code]
int f_id = QFontDatabase::addApplicationFont("./GOST_A.TTF");
QFont f = QFont(QFontDatabase::applicationFontFamilies(f_id).first(),10,QFont::Normal);
[/code]
3. Использую этот шрифт для QPainter-a , ну или вообще как шрифт по умолчанию.
Получается такая штука, что все латинские буквы рисуются этим шрифтом, а все русские буквы - стандартным.
Еще что меня смутило - WritingSystem у этого шрифта "Latin" -
fd.writingSystems("GOST type A"). Название семейства правильное, проверял.

Что можно сделать чтобы заставить его корректно рисовать русские буквы?

Шрифты хотелось бы ГОСТ-овые ну или на крайний случай приближенные к ним.

QT4.4/Linux


Ответ на: комментарий от anonymous

Да не, для предприятия утилитку небольшую :)
А шрифты блин, всю малину обламывают.

EraSER
() автор топика

я в шрифтах разбираюсь плохо, но там нет глифов для уникода... глифы стоят на местах вских LATIN CAPITAL WITH ACUTE

это я выяснил с помощью fontforge <- программа такой

видимо придётся подредактировать шрифт либо писать не в уникоде, а в чём-то, типа(простите грешного) cp1251 ибо это не уникод шрифт

dimon555 ★★★★★
()
Ответ на: комментарий от dimon555

или вроде глифы стоят везде до кучи, но шрифт не отвечает за кирилический интервал, а только за латин-1

как-то так короче

dimon555 ★★★★★
()
Ответ на: комментарий от dimon555

Спасибо! Помогло!
Исправил пару символов, переформировал шрифт - и все стало нормально!


EraSER
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.