собрать freetype, не могу собрать freetype |
Здравствуйте, гость ( Вход | Регистрация )
собрать freetype, не могу собрать freetype |
good_game |
24.11.2013, 20:20
Сообщение
#1
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Здравствуйте, уважаемые форумчане. Использую в своём проекте библиотеку freetype http://www.freetype.org/
Исходники этой библиотеки включены в исходники Qt: <Qt dir>\Src\qtbase\src\3rdparty\freetype\ Под Линуксом оказалось очень просто использовать эту библиотеку: в pro-файл добавляем
Всё чётко собирается и работает. Необходимые бибилиотеки ставятся пакетом libfreetypedev. А вот как эту библиотеку собрать под windows? Подскажите, пожалуйста. |
|
|
Litkevich Yuriy |
24.11.2013, 21:57
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
good_game |
24.11.2013, 22:29
Сообщение
#3
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Автоматически не получилось. Но кое в чём продвинулся. Добавил в PATH необходимые пути (недавно сносил Qt4 и ставил Qt5). Из директории исходников библиотеки запустил mingw32-make. Он собрал мне "freetype.a" (и ещё кучу объектников) Что с ней дальше делать?
В директории с созданной freetype.a есть также файл freetype.def c таким содержимым:
и какая-то утилита apinames.exe, котору. я никак не могу нормально запустить (скармливаю ей файлы необходимые по её мануалу, но она только ошибки выдаёт) Можно под windows библиотеку *.a пристыковать к проекту? |
|
|
good_game |
24.11.2013, 23:10
Сообщение
#4
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Оказалось, что можно. Решение такое: freetype.a переименовываем в freetype.lib и добавляем как статическую библиотеку к проекту. В результате в pro-файл добавится такое:
Всё, exe-шник собран и работает. |
|
|
Litkevich Yuriy |
26.11.2013, 13:52
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Можно под windows библиотеку *.a пристыковать к проекту? если под виндой собирал, то можно. у *.a файлов две эпостаси: - при создании динамической библиотеки, a-файл выполняет роль интерфейса к библиотеке (dll на Виндовозе), который линкером впихивается в программу; - при создании библиотеки для статической сборки с приложением - код, который будет воткнут в приложение. Решение такое: freetype.a переименовываем в freetype.lib вообще-то в Qt - кроссплатформенном инструменте - не принято делать такие НЕ кроссплатформенные ходы.Принято делать без указания расширения, qmake сам дотямает, что брать нужно и куда совать. Как у тебя и указано:
А вот нужность этого сомнительна: .
|
|
|
good_game |
26.1.2014, 19:39
Сообщение
#6
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
В продолжение этой темы... Юрию спасибо за помощь. Недавно вышел релиз программы Правда вышел только под Windows и Linux. Под Mac не вышел. Причина следующая: программа использует для красоты всякие экзотические шрифты (типа таких http://designmodo.com/linecons-free/ , http://designmodo.com/linecons-free/). При использовании этих шрифтов на Windows или Linux, символы рисуются нормально, а под Мас-ом нет. Под Маком надписи на виджетах (например, название кнопки) из таких шрифтов пишутся квадратиками (как будто шрифт не распознан, глифы не найдены). НО! При выведении текста из такого шрифта в графическом виджете (например, QWebView) символы шрифта рисуются ЦВЕТНЫМИ картинками.
Помогите разобраться, что за фигня? |
|
|
good_game |
29.1.2014, 10:27
Сообщение
#7
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Появилась одна версия. Вот что написано в доработках библиотеки 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 |
14.2.2014, 14:42
Сообщение
#8
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Появилась ещё одна зацепка: если шрифт установить в систему (в Маке), то всё работает нормально (как в винде и линуксе). В чём разница между установленным и неустановленным шрифтом? В чём отличаются механизмы использования?
|
|
|
good_game |
19.2.2014, 8:56
Сообщение
#9
|
Студент Группа: Участник Сообщений: 43 Регистрация: 18.8.2011 Пользователь №: 2815 Спасибо сказали: 1 раз(а) Репутация: 0 |
Выяснилась проблема, но решения не появилось. Под Маком при выполнении
шрифт добавляется в приложение криво. Функция не возвращает ошибку (то есть типа шрифтв добавлен верно), но семейство ему выдаётся вообще другое. В моём случае всем добавляемым таким образом шрифтам выдавалось семейство "Lucida Grande". Разумеется позже программа не могла найти шрифт с указанным мной именем.Что с этим делать? Сообщение отредактировал good_game - 19.2.2014, 8:57 |
|
|
Litkevich Yuriy |
19.2.2014, 20:18
Сообщение
#10
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
шрифт добавляется в приложение криво. Функция не возвращает ошибку (то есть типа шрифтв добавлен верно), но семейство ему выдаётся вообще другое. В моём случае всем добавляемым таким образом шрифтам выдавалось семейство "Lucida Grande". Разумеется позже программа не могла найти шрифт с указанным мной именем.Что с этим делать? курить [буржуйский] интернет, в Qt была какая-то беда со шрифтами, одно время много шумели по этому поводу, но, вроде бы, ничего не поменялось. |
|
|
Текстовая версия | Сейчас: 29.11.2024, 8:01 |