2006年4月25日

RRDTool 的中文支援

當 RRDTool 從 1.0.x 改版到 1.2.x 後,多了一個新的參數 --font 。

當我看到這個參數時真的眼睛一亮,以為終於可以原生支援中文輸出了。無奈事與願違,跟本沒這回事… =.=

雖然從 RRDTOOL 1.2 更新項目教學 中看到輸出的範例中有中文字,可是我努力畫、用力畫的結果如下(使用的版本是 rrdtool 1.2.12),也許我要再多加嘗試才行!
繪不出中文的標題

RRDGraph 繪製指令
$RRDEXEC graph $ONEYEAR \
-e $END \
-s $START \
-t "$sysDescr 線路狀態" \
-v "dB" \
-w 450 \
-h 250 \
-a PNG \
-n TITLE:12:/usr/share/fonts/arphicfonts/bsmi00lp.ttf \
DEF:dnm=$RRDFILE:DNM:MAX \
DEF:unm=$RRDFILE:UNM:MAX \
DEF:da=$RRDFILE:DA:MAX \
DEF:ua=$RRDFILE:UA:MAX \
           COMMENT:"ITEM Name -----------------  -- MAX --  -- AVEG --  -- MIN --  -- LAST --\n" \
  LINE2:dnm#0000ff:"Downstream Noise Margin" \
    GPRINT:dnm:MAX:"   %2.2lf" \
GPRINT:dnm:AVERAGE:"    %2.2lf" \
    GPRINT:dnm:MIN:"    %2.2lf" \
   GPRINT:dnm:LAST:"     %2.2lf\n" \
  LINE2:unm#00ff00:"Upstream Noise Margin  " \
    GPRINT:unm:MAX:"   %2.2lf" \
GPRINT:unm:AVERAGE:"    %2.2lf" \
    GPRINT:unm:MIN:"    %2.2lf" \
   GPRINT:unm:LAST:"     %2.2lf\n" \
   LINE2:da#ff0000:"Downstream Attenuation " \
     GPRINT:da:MAX:"   %2.2lf" \
 GPRINT:da:AVERAGE:"    %2.2lf" \
     GPRINT:da:MIN:"    %2.2lf" \
    GPRINT:da:LAST:"     %2.2lf\n" \
   LINE2:ua#ff00ff:"Upstream Attenuation   " \
     GPRINT:ua:MAX:"   %2.2lf" \
 GPRINT:ua:AVERAGE:"    %2.2lf" \
     GPRINT:ua:MIN:"    %2.2lf" \
    GPRINT:ua:LAST:"     %2.2lf\n" \
           COMMENT:"Uptime $sysUpTime\n" \
           COMMENT:"Generated at $SNAP_STR"