小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


statSVNでグラフ中の日本語の文字化けを直す方法

はじめに

statSVNは、Subversionのリポジトリの使用状況を可視化してくれる便利なツールです。statSVNについて詳しく知りたい方は以下のエントリを読むと良いです。

ただ、statSVNはグラフ中の日本語が文字化けしてしまうので、ライブラリを一部改造し、日本語が文字化けしないようにする方法をまとめてみました。

必要なもの
概要

statSVNは内部で姉妹プロジェクトのstatcvs.jarというライブラリを内包していて、このstatcvs.jarがグラフ化の部分を担っています。グラフ中の日本語の文字化けを直すには、statcvs.jarのソースを改造する必要があります。具体的には、以下のような手順でライブラリを改造します。
1. statCVSのソースを修正する
2. statCVSをリビルドしてstatcvs.jarを生成する
3. statsvnが内包しているstatcvs.jarをリビルドしたあたらしいファイルで置き換える
4. statsvnをリビルドしてstatsvn.jarを生成する

事前準備

あらかじめ、statSVNとstatCVSのソースをダウンロードしておきます。
また、ソースのコンパイルにはJDKのインストールおよびEclipseのインストールが必要なので、以下のエントリを参照してインストールしてください。

statCVSのプロジェクトをEclipseで開く

1. Eclipseを起動し、メニューからファイル−インポートを選択します。
2. 一般−既存プロジェクトをワークスペースへを選択します。

3. ルートディレクトリの参照ボタンをクリックして、statcvsのソースの場所を指定します。

グラフ化している部分を修正する

statCVSはjFreeChartというjavaのライブラリを使っていて、これでグラフを描画しています。日本語が文字化けしているのは、jFreeChartのレガシーテーマが設定されていないことが原因のようです。

リンク先の内容を簡単にまとめると、ソース内でChartFactory.createXXChartメソッド(createPieChartやcreateBarChartなど複数あります)を呼び出している箇所の前に、以下のコードを挿入することで文字化けを直すことができそうです。

ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());

また上記ソースを挿入しただけではコンパイルが通らないので、ソース上部でStandardChartThemeをインポートしておきます。

import org.jfree.chart.StandardChartTheme;
statCVSをビルドする

1. jdk14.batを開き、JAVA_HOMEとpathを環境にあわせて修正します。

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_30
set PATH=C:\Program Files\Java\jdk1.6.0_30\bin;%PATH%

2. build.xmlを選択した状態で、右クリック−実行−Ant ビルドでビルドします。
3. ビルドが成功するとdistフォルダ配下にstatcvs.jarができあがあります。

statcvs.jarをstatSVNに取り込む

1. 今度はstatSVNのプロジェクトをEclipseにインポートします。
2. libフォルダ配下にstatcvs-0.7.0.jarというファイルがあるので、これをさきほど自分でリビルドしたjarファイルで置き換えます。(ファイル名はstatcvs-0.7.0.jarとします)
3. statSVNはソースの修正は必要ありませんので、statCVSと同じ要領でbuild.xmlをAnt ビルドします。
4. ビルドが成功するとdistフォルダ配下にstatsvn.jarができあがあります。
生成されたstatsvn.jarを使って、レポートを出力するとグラフ中の日本語も文字化けせずに表示できるようになります。


Subversion実践入門:達人プログラマに学ぶバージョン管理(第2版)
Mike Mason
オーム社
売り上げランキング: 6979