2011-01-24 29 views
6

在使用graphviz做任何事情時,出現「無法找到/打開字體」錯誤。我已經縮小它歸結爲一個簡單圖形越好,文件simplest.dot中:Graphviz無法找到任何字體

digraph G { 
    node1 
} 

當運行$ dot simplest.dot -Tpng -O圖形渲染到simplest.dot.png,但我總是得到這個錯誤:Error: Could not find/open font,並且使用的字體在輸出中不是很漂亮。

根據graphviz faq,發生此錯誤時,您可以tell graphviz where to look for fonts。我一直在四處尋找我正在使用的系統上的字體,並且在/usr/share/fonts中似乎還有一些TrueType字體,其中包括Bitstream Vera字體,它們似乎生活在/usr/share/fonts/bitstream-vera中。

所以我試過設置fontpath,並在點圖fontname,幫助graphviz的理出頭緒:

digraph G { 
    fontpath="/usr/share/fonts/bitstream-vera" 
    fontname="Bitstream Vera Sans" 
    node1 
} 

但我仍然得到完全相同的錯誤。我已經嘗試過幾種路徑和字體名稱的變體,但我似乎無法做到。我究竟做錯了什麼?

回答

2

這可能是一個射進黑暗的,但在http://www.graphviz.org/doc/info/attrs.html#d:fontname它說如果指定的字體名= schlbk,該工具將尋找一個文件名爲schlbk.ttf或schlbk.pfa或schlbk.pfb在目錄中由fontpath屬性指定。

所以,我可能會嘗試

digraph G { 
    fontpath="/usr/share/fonts/bitstream-vera" 
    fontname="nameOfttfWITHOUTsuffix.ttf" 
    node1 
} 
+0

它實際上好像這個作品!我有點因爲不自己嘗試這個而感到很蠢。謝謝! – oyvindio 2011-01-25 14:48:59