2011-03-27 19 views
1

我正在使用OpenWRT的嵌入式設備上進行開發。每當我嘗試使用fswebcam從我的/ dev/video0中捕獲圖像並且想要爲圖像添加一些文本(--info switch)時,我就會遇到這個錯誤。fswebcam:無法加載字體'luxisr':libgd未使用FreeType字體支持生成

所以標準字體'luxisr'不起作用。我試過提供我自己的.ttf字體。同樣的結果。有沒有一個字體,fswebcam將能夠使用,而無需更改我當前的安裝,即當前的libgd構建?我在考慮在libgd中包含freetype字體支持,重建和重新安裝將是不平凡的(爲什麼他們默認情況下不啓用它)。

感謝有這方面的幫助...

UPDATE [2011年3月31日]:我提出了這個問題鷺弘,fswebcam的作者。今天早上他讓我知道:

fswebcam現在只能使用TTF字體,並且依賴於libgd中的freetype支持才能呈現它們。有兩種選擇:

  1. 重建帶有freetype支持的libgd。我不熟悉OpenWRT構建系統,但這可能是最簡單的選擇。 Freetype似乎已經打包了,所以它不應該是痛苦。

  2. libgd也有一個簡單的位圖字體內置。如果沒有檢測到freetype支持,我可以讓fswebcam回落,但它看起來不會那麼好。

-Phil

所以我要前進,將非常具有RE /交叉編譯的libgd對於FreeType支持。

+0

顯然,我做的事情很不得人心。 :( – 2011-03-30 13:01:30

回答

3

你可以做的是:

  • 添加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

我有完全相同的問題。就我而言,fswebcam依賴於libgd庫,它使用$ GDFONTPATH環境變量來定位字體。在我的環境中(Ubuntu 11.04),這樣的變量沒有設置。

發出命令行上的strace的

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

在下面的輸出導致

訪問( 「/ USR/X11R6/LIB/X11 /字體/的TrueType/ARIAL.TTF」, R_OK)= -1 ENOENT(沒有這樣的文件或目錄)

...

訪問( 「在/ usr/X11R6/lib目錄/ X11 /字體/ TTF/ARIAL.TTF」,R_OK)= -1 ENO ENT(沒有這樣的文件或目錄)

...

這讓我思考,有一些問題字形查找。

設置GDFONTPATH解決了這個問題。舉例來說,我已經使用了以下

$ export GDFONTPATH=~/.fonts/ 

使用(或任何其他字體)

$ locate Arial.ttf 

爲了讓您的字體目錄,這取決於你的操作系統(在/ usr /本地/共享/字體不同而變/ truetype,/ usr/share/fonts/truetype,...)。你的米勒可能會有所不同。

我敢肯定,可以使用更清潔的東西,但這個解決方案可以解決問題。希望這個幫助。

0

我發現這個問題,在谷歌與同樣的錯誤。 只是在Debian的信息:

apt-get install ttf-xfree86-nonfree

,並加入到fswebcam.conf:

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

和運行

fswebcam --config /etc/fswebcam.conf