crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V   1 2 >  
Ответить в данную темуНачать новую тему
flankerr
  опции профиля:
сообщение 9.1.2008, 13:53
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Допустим есть шрифт MyFont.ttf
как его загрузить в QFont чтобы им вывесте текст на экран ??
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.1.2008, 14:06
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Можно воспользоваться: int QFontDatabase::addApplicationFont ( const QString & fileName ) [static]
Только нужно учесть, что:
Цитата
Currently only TrueType fonts and TrueType font collections are supported.


Сообщение отредактировал ViGOur - 9.1.2008, 14:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 9.1.2008, 15:06
Сообщение #3


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Цитата(ViGOur @ 9.1.2008, 14:06) *
Можно воспользоваться: int QFontDatabase::addApplicationFont ( const QString & fileName ) [static]
Только нужно учесть, что:
Цитата
Currently only TrueType fonts and TrueType font collections are supported.



это есть тока в 4.2 и выше на сколько понимаю.... А что делать если у меня 4.1 и нет возможности ставить 4.2 ??
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.1.2008, 15:41
Сообщение #4


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Посмотри, поддерживает 4.1 QDataStream & operator>> ( QDataStream & s, QFont & font )?

Думаю это тоже, то что нужно...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.1.2008, 16:31
Сообщение #5


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Ну чего, как дела, получилось?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 9.1.2008, 17:16
Сообщение #6


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


Цитата(ViGOur @ 9.1.2008, 16:31) *
Ну чего, как дела, получилось?


Сообщение отредактировал flankerr - 9.1.2008, 17:18
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.1.2008, 17:25
Сообщение #7


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Ты не понял, это делается примерно так:
        QFile *pFile = new QFile( "MyFont.ttf");
        if( pFile->open( QIODevice::ReadOnly))
        {
                QFont font;
                QDataStream out( pFile);
                out >> font

                // Все твой font прочитан...
        }
Если я все правильно понял, то именно так и должно работать, проверь...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 9.1.2008, 17:46
Сообщение #8


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


выглядит красиво но что-то у меня вылетает...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.1.2008, 17:51
Сообщение #9


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Что пишет? Я просто это на коленке писал...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 9.1.2008, 18:01
Сообщение #10


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


а ща перестало вылетать....
правда всё равно не работает...

QFont font;
QFile *pFile = new QFile( "BOD_BLAI.TTF");
if( pFile->open( QIODevice::ReadOnly))
{
QDataStream out( pFile);
out >> font ;

painter->setFont(font);
painter->drawText(700,100,QString("qwertyuiop"));
}
текст выводит с тремя горизонтальными полосками сверху по центру и снизу, при этом как то изменить font не удаёться ну та размер постаивть и т.п.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.1.2008, 18:02
Сообщение #11


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Попробуй стандартный фонт какой-нибудь прочитать, может просто твой не правильно составлен...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 9.1.2008, 18:05
Сообщение #12


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


так я с десяток шрифтов пробывал из стандартных - результат одинаковый
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.1.2008, 18:24
Сообщение #13


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Мда, по всей видимости это собственное сохранение-загрузка шрифтов.... :(

Сейчас попробовал:
int nFont = QFontDatabase::addApplicationFont (  "C:\\WINDOWS\\Fonts\\Arial.ttf");
QStringList fontList = QFontDatabase::applicationFontFamilies( nFont);
QString szFont = fontList[0]; // szFont == "Arial"
Первый вариант работает, он как я понял тебе не подходит...

p.s. на досуге посмотрю, может еще какой способ есть... :)

Сообщение отредактировал ViGOur - 9.1.2008, 18:26
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 9.1.2008, 20:31
Сообщение #14


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Цитата(ViGOur @ 9.1.2008, 18:41) *
Посмотри, поддерживает 4.1 QDataStream & operator>> ( QDataStream & s, QFont & font )?
Думаю это тоже, то что нужно...

Гонишь. :)
QFont - это просто набор параметров по которым выбирается наиболее близкая реализация шрифта которой будет идти вывод символов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 10.1.2008, 9:05
Сообщение #15


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(Tonal @ 9.1.2008, 20:31) *
QFont - это просто набор параметров
Не знал, теперь буду знать... :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
flankerr
  опции профиля:
сообщение 10.1.2008, 14:15
Сообщение #16


Активный участник
***

Группа: Участник
Сообщений: 356
Регистрация: 9.1.2008
Пользователь №: 65

Спасибо сказали: 2 раз(а)




Репутация:   0  


пока вопрос с прямой загрузкой не решён появился другой ворпос...
Как узнать есть ли в системе нужный мне шрифт ?
Просто ну хорошо задал я свойство фамэли у QFont а как я узнаю что он загрузил нужный мне шрифт а не подобраный аналог ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 10.1.2008, 14:36
Сообщение #17


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Может быть это?
Цитата
QStringList QFont::substitutes ( const QString & familyName ) [static]
Возвращает список имен семейств шрифтов, используемых для замены семейства familyName. Имя семейства не чуствительно к регистру.
Если не установлена замена для семейства familyName, то возвращается пустой список.
Просто другого вроде в Qt 4.1 нет...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
archimed7592
  опции профиля:
сообщение 10.1.2008, 16:54
Сообщение #18


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 27.12.2007
Из: Moscow
Пользователь №: 56

Спасибо сказали: 0 раз(а)




Репутация:   0  


Ещё, как вариант, можно скомуниздить сырки для загрузки шрифта из 4.2 :).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 16.7.2025, 21:30