fswebcam: невозможно загрузить шрифт 'luxisr': libgd не был создан с поддержкой шрифтов FreeType - PullRequest
1 голос
/ 28 марта 2011

Я занимаюсь разработкой на встроенном устройстве с использованием OpenWRT.Всякий раз, когда я пытаюсь использовать fswebcam для захвата и изображения из моего / dev / video0 и хочу добавить какой-либо текст к изображению (переключатель --info), я получаю эту ошибку.

Поэтому стандартный шрифт 'luxisr'не работаетЯ попытался предоставить свой собственный шрифт .ttf.Тот же результат.Есть ли шрифт, который fswebcam сможет использовать без изменения текущей установки, то есть текущей сборки libgd?Я думаю, что включение поддержки шрифтов freetype в libgd, перестройка и переустановка будет нетривиальным (почему бы тогда не включить его по умолчанию).

Спасибо за любую помощь в этом ...

ОБНОВЛЕНИЕ [31 марта 2011]: Я задал этот вопрос Филиппу Херону, автору fswebcam.Этим утром он дал мне знать, что:

fswebcam сейчас может использовать только шрифты TTF и полагается на поддержку freetype в libgd для возможности их рендеринга.Есть два варианта:
  1. Перестроить libgd с поддержкой freetype.Я не знаком с системой сборки OpenWRT, но это может быть самый простой вариант.Freetype, похоже, уже упакован, поэтому он не должен быть слишком болезненным.

  2. libgd также имеет встроенный простой растровый шрифт.Я мог бы заставить fswebcam откатиться на это, если не обнаружена поддержка freetype, но она будет выглядеть не так хорошо.

-Phil

Так что яЯ собираюсь перекомпилировать libgd с поддержкой freetype.

Ответы [ 3 ]

3 голосов
/ 19 октября 2011

Что вы можете сделать, это:

  • Добавить libfreetype в .config
  • Изменение [buildroot_DIR]/package/feeds/packages/gd/Makefile

и установите строку --without-freetype в --with-freetype=$(STAGING_DIR)/usr

  • (пере) сборка пакетов libgd и libfreetype и обновление системы OpenWrt
  • Затем получите копию нужного ttf (например, ubuntu /usr/share/fonts/truetype/freefont/FreeSans.ttf)

  • экспорт GDFONTPATH ​​

  • установить нужный шрифт в fswebcam.config
0 голосов
/ 12 мая 2014

Я нашел этот вопрос в Google с той же ошибкой. Просто для информации в Debian:

apt-get install ttf-xfree86-nonfree

и добавьте в fswebcam.conf:

font /usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisr.ttf

и запустить

fswebcam --config /etc/fswebcam.conf

0 голосов
/ 11 июля 2011

У меня была точно такая же проблема. Насколько мне известно, fswebcam использует библиотеку libgd, которая использует переменную среды $ GDFONTPATH ​​для поиска шрифтов. В моей среде (Ubuntu 11.04) такая переменная не была установлена.

Ввод командной строки в командной строке

$ strace fswebcam --font Arial:12 --save /tmp/test/test.jpg

Результатом стал следующий вывод

доступ ("/ usr / X11R6 / lib / X11 / fonts / TrueType / Arial.ttf", R_OK) = -1 ENOENT (нет такого файла или каталога)

...

access ("/ usr / X11R6 / lib / X11 / fonts / TTF / Arial.ttf", R_OK) = -1 ENOENT (нет такого файла или каталога)

...

Что заставило меня подумать, что были некоторые проблемы с поиском шрифта.

Установка GDFONTPATH ​​обошла проблему. Например, я использовал следующее

$ export GDFONTPATH=~/.fonts/

Использовать (или любой другой шрифт)

$ locate Arial.ttf

Чтобы получить каталог шрифтов, который зависит от вашей ОС (/ usr / local / share / fonts / truetype, / usr / share / fonts / truetype, ...). Ваш корм может варьироваться.

Я уверен, что можно использовать что-нибудь более чистое, но это решение работает. Надеюсь, что это поможет.

...