2008年4月26日

RRDTool 中文 Ebuild

※注意:現在的 RRDTool 應該已經都能正常處理 UTF-8 的中文了..... 吧!

※如果使用 1.3.3 版的話,中文輸出就會正常… 嗎?個人的看法是… 可以顯示,但在指定中文字型時似乎不太正常。

※如果使用 1.2.27 版的話,中文輸出就會變成方塊字… 這麼有趣的改變著實令人.....

※在新版 1.2.15-r1 時,可以在 UTF-8 環境下正確輸出中文字了!

這兩天又在回頭搞 RRDTool 這個工具,它很複雜,可是相對的彈性也夠。像是這兩天在搞的 ADSL ATU-R 線路狀態 (已失連) 中的 4 個數據可以擠在同一個圖片中相互比較就比 MRTG 方便很多。

本來我早已做了不輸出中文的心理建設,無奈 RRDTool 在輸出訊息時是捉取系統上的設定,這導至在繪製 X 軸時的日期部份會變成一串雜訊(參照 RRDTool 的中文支援),這個情形就實在讓人很 了...

所幸,在 1.0.x 版時曾提出中文解套方案的 abelyang 這次又來啦,又來解救大家啦!他在 酷!學園 中留下了修改的方式,而我花了一個晚上的時間總算把 rrdtool-1.2.12-r1.ebuild (已失連) 這個檔給生出來了。在 AMD64 環境下初步測試的結果似乎可以完成編譯(但是有一堆 warning… )、可以將資料寫入 RRD、當然也可以繪製含中文字的圖形。有需要的人可以自行試試看,若是沒啥問題的話也可能繳回 GOT Ebuild 專案中(但是大概就不再維護吧… :p )。

使用這個修正版 RRDTool 的注意事項:

  1. 自動依據系統上的語系設定做文字轉碼,這應該可以符合 CJK 環境的需要。
  2. 透過 zh_TW 這個 USE 選項作為 patch 的依據,關閉這個選項後會連帶關閉與中文有關的修改。
  3. 對應的兩個 patch 檔目前放在個人的 blog 主機上,如果無法下載的話請稍候再試。
  4. 如果看不到字或看是一團亂碼(參照 RRDTool 的中文支援),那表示 rrdgraph 看到的中文字編碼與 LC_ALL 指定的不一樣。
  5. 如果看到的是方格子的話,則是該區塊並未指定正確的字型設定資訊。