![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
good_game |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте, уважаемые форумчане. Использую в своём проекте библиотеку freetype http://www.freetype.org/
Исходники этой библиотеки включены в исходники Qt: <Qt dir>\Src\qtbase\src\3rdparty\freetype\ Под Линуксом оказалось очень просто использовать эту библиотеку: в pro-файл добавляем
Всё чётко собирается и работает. Необходимые бибилиотеки ставятся пакетом libfreetypedev. А вот как эту библиотеку собрать под windows? Подскажите, пожалуйста. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
good_game |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Автоматически не получилось. Но кое в чём продвинулся. Добавил в PATH необходимые пути (недавно сносил Qt4 и ставил Qt5). Из директории исходников библиотеки запустил mingw32-make. Он собрал мне "freetype.a" (и ещё кучу объектников) Что с ней дальше делать?
В директории с созданной freetype.a есть также файл freetype.def c таким содержимым:
и какая-то утилита apinames.exe, котору. я никак не могу нормально запустить (скармливаю ей файлы необходимые по её мануалу, но она только ошибки выдаёт) Можно под windows библиотеку *.a пристыковать к проекту? |
|
|
good_game |
![]()
Сообщение
#4
|
Студент ![]() Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Оказалось, что можно. Решение такое: freetype.a переименовываем в freetype.lib и добавляем как статическую библиотеку к проекту. В результате в pro-файл добавится такое:
Всё, exe-шник собран и работает. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#5
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Можно под windows библиотеку *.a пристыковать к проекту? если под виндой собирал, то можно. у *.a файлов две эпостаси: - при создании динамической библиотеки, a-файл выполняет роль интерфейса к библиотеке (dll на Виндовозе), который линкером впихивается в программу; - при создании библиотеки для статической сборки с приложением - код, который будет воткнут в приложение. Решение такое: freetype.a переименовываем в freetype.lib вообще-то в Qt - кроссплатформенном инструменте - не принято делать такие НЕ кроссплатформенные ходы.Принято делать без указания расширения, qmake сам дотямает, что брать нужно и куда совать. Как у тебя и указано:
А вот нужность этого сомнительна: .
|
|
|
good_game |
![]()
Сообщение
#6
|
Студент ![]() Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
В продолжение этой темы... Юрию спасибо за помощь. Недавно вышел релиз программы
![]() Помогите разобраться, что за фигня? |
|
|
good_game |
![]()
Сообщение
#7
|
Студент ![]() Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Появилась одна версия. Вот что написано в доработках библиотеки freeType:
Behdad Esfahbod (on behalf of Google) contributed support for color embedded bitmaps (eg. color emoji). A new load flag, FT_LOAD_COLOR, makes FreeType load color embedded-bitmaps, following this draft specification https://color-emoji.googlecode.com/git/specification/v1.html Для символов есть глифы и есть цветные биткарты. Причём биткарты имеют преимущество перед глифами. Я попробовал у виджетов выставлять специальный флаг:
Но это не помогло. Сообщение отредактировал good_game - 29.1.2014, 10:37 |
|
|
good_game |
![]()
Сообщение
#8
|
Студент ![]() Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Появилась ещё одна зацепка: если шрифт установить в систему (в Маке), то всё работает нормально (как в винде и линуксе). В чём разница между установленным и неустановленным шрифтом? В чём отличаются механизмы использования?
|
|
|
good_game |
![]()
Сообщение
#9
|
Студент ![]() Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Выяснилась проблема, но решения не появилось. Под Маком при выполнении
шрифт добавляется в приложение криво. Функция не возвращает ошибку (то есть типа шрифтв добавлен верно), но семейство ему выдаётся вообще другое. В моём случае всем добавляемым таким образом шрифтам выдавалось семейство "Lucida Grande". Разумеется позже программа не могла найти шрифт с указанным мной именем.Что с этим делать? Сообщение отредактировал good_game - 19.2.2014, 8:57 |
|
|
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
шрифт добавляется в приложение криво. Функция не возвращает ошибку (то есть типа шрифтв добавлен верно), но семейство ему выдаётся вообще другое. В моём случае всем добавляемым таким образом шрифтам выдавалось семейство "Lucida Grande". Разумеется позже программа не могла найти шрифт с указанным мной именем.Что с этим делать? курить [буржуйский] интернет, в Qt была какая-то беда со шрифтами, одно время много шумели по этому поводу, но, вроде бы, ничего не поменялось. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 21:18 |