crossplatform.ru

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


  Ответ в собрать freetype
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Алексей1153 Дата 10.4.2014, 10:25
  может быть, следует явно указать, что искать нужно именно в текущей директории

"./файл"
good_game Дата 9.4.2014, 22:19
  Найден косяк.
В QFontDatabase::addApplicationFont() под MacOS нужна обязательно указывать полный путь к файлу-шрифту. Под другими ОС можно указывать просто имя, находясь в его директории.
Litkevich Yuriy Дата 19.2.2014, 20:18
 
Цитата(good_game @ 19.2.2014, 10:56) *
шрифт добавляется в приложение криво. Функция не возвращает ошибку (то есть типа шрифтв добавлен верно), но семейство ему выдаётся вообще другое. В моём случае всем добавляемым таким образом шрифтам выдавалось семейство "Lucida Grande". Разумеется позже программа не могла найти шрифт с указанным мной именем.Что с этим делать?
курить [буржуйский] интернет, в Qt была какая-то беда со шрифтами, одно время много шумели по этому поводу, но, вроде бы, ничего не поменялось.
good_game Дата 19.2.2014, 8:56
  Выяснилась проблема, но решения не появилось. Под Маком при выполнении
QFontDatabase::addApplicationFont(font_name);
шрифт добавляется в приложение криво. Функция не возвращает ошибку (то есть типа шрифтв добавлен верно), но семейство ему выдаётся вообще другое. В моём случае всем добавляемым таким образом шрифтам выдавалось семейство "Lucida Grande". Разумеется позже программа не могла найти шрифт с указанным мной именем.
Что с этим делать?
good_game Дата 14.2.2014, 14:42
  Появилась ещё одна зацепка: если шрифт установить в систему (в Маке), то всё работает нормально (как в винде и линуксе). В чём разница между установленным и неустановленным шрифтом? В чём отличаются механизмы использования?
good_game Дата 29.1.2014, 10:27
  Появилась одна версия. Вот что написано в доработках библиотеки 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

Для символов есть глифы и есть цветные биткарты. Причём биткарты имеют преимущество перед глифами.
Я попробовал у виджетов выставлять специальный флаг:
QFont f;
f.setFamily(face->family_name);
f.setPixelSize(32);
f.setStyleStrategy(QFont::ForceOutline);

label_widget->setFont(f);

Но это не помогло.
good_game Дата 26.1.2014, 19:39
  В продолжение этой темы... Юрию спасибо за помощь. Недавно вышел релиз программы :) Правда вышел только под Windows и Linux. Под Mac не вышел. Причина следующая: программа использует для красоты всякие экзотические шрифты (типа таких http://designmodo.com/linecons-free/ , http://designmodo.com/linecons-free/). При использовании этих шрифтов на Windows или Linux, символы рисуются нормально, а под Мас-ом нет. Под Маком надписи на виджетах (например, название кнопки) из таких шрифтов пишутся квадратиками (как будто шрифт не распознан, глифы не найдены). НО! При выведении текста из такого шрифта в графическом виджете (например, QWebView) символы шрифта рисуются ЦВЕТНЫМИ картинками.
Помогите разобраться, что за фигня?
Litkevich Yuriy Дата 26.11.2013, 13:52
 
Цитата(good_game @ 25.11.2013, 0:29) *
Можно под windows библиотеку *.a пристыковать к проекту?
если под виндой собирал, то можно.
у *.a файлов две эпостаси:
- при создании динамической библиотеки, a-файл выполняет роль интерфейса к библиотеке (dll на Виндовозе), который линкером впихивается в программу;
- при создании библиотеки для статической сборки с приложением - код, который будет воткнут в приложение.


Цитата(good_game @ 25.11.2013, 1:10) *
Решение такое: freetype.a переименовываем в freetype.lib
вообще-то в Qt - кроссплатформенном инструменте - не принято делать такие НЕ кроссплатформенные ходы.

Принято делать без указания расширения, qmake сам дотямает, что брать нужно и куда совать. Как у тебя и указано:
LIBS += -L$$PWD/ -lfreetype


А вот нужность этого сомнительна:
PRE_TARGETDEPS += $$PWD/freetype ....
.
good_game Дата 24.11.2013, 23:10
  Оказалось, что можно. Решение такое: freetype.a переименовываем в freetype.lib и добавляем как статическую библиотеку к проекту. В результате в pro-файл добавится такое:
unix|win32: LIBS += -L$$PWD/ -lfreetype

INCLUDEPATH += $$PWD/
DEPENDPATH += $$PWD/

win32: PRE_TARGETDEPS += $$PWD/freetype.lib
else:unix: PRE_TARGETDEPS += $$PWD/libfreetype.a


Всё, exe-шник собран и работает.
good_game Дата 24.11.2013, 22:29
  Автоматически не получилось. Но кое в чём продвинулся. Добавил в PATH необходимые пути (недавно сносил Qt4 и ставил Qt5). Из директории исходников библиотеки запустил mingw32-make. Он собрал мне "freetype.a" (и ещё кучу объектников) Что с ней дальше делать?
В директории с созданной freetype.a есть также файл freetype.def c таким содержимым:
LIBRARY freetype.dll
DESCRIPTION  FreeType 2 DLL
EXPORTS
  FTC_CMapCache_Lookup
  FTC_CMapCache_New
  FTC_ImageCache_Lookup
  FTC_ImageCache_LookupScaler
  FTC_ImageCache_New
  FTC_Manager_Done
....

и какая-то утилита apinames.exe, котору. я никак не могу нормально запустить (скармливаю ей файлы необходимые по её мануалу, но она только ошибки выдаёт)

Можно под windows библиотеку *.a пристыковать к проекту?
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 29.3.2024, 10:57