私はチャートを作成していjFreeChart
ます:
final JFreeChart chart = ChartFactory.createLineChart(
"Line Chart Demo 1", // chart title
"Caf\00E9", // domain axis label
"Voil\00E0", // range axis label
dataset, // data
PlotOrientation.VERTICAL, // orientation
true, // include legend
true, // tooltips
false // urls
);
ご覧のとおり、軸のラベルには Unicode 文字があります。「Café」を表示する「Caf\00E9」と「Voilà」を表す「Voil\00E0」です。
このグラフを生成するアプリが「一部の」サーバーで実行されている場合にうまく機能します。その他の場合は、強調文字の代わりに疑問符 ("?") が表示されます。
常に実行されるわけではないため、エンコードを強制するという考えがありました。
問題は、これらの Unicode 文字を読み取り可能な文字に変換するようにラベルを強制するにはどうすればよいかということです。ドキュメントには、これらの文字列を適切に変換する方法が見つかりません。このようなネット上でいくつかのコードを見つけました
domainAxis.setTickLabelFont(new Font("Lucida Sans Unicode", Font.PLAIN, 12));
これは興味深いと思いますが、ドメイン軸と範囲軸のラベルにどのように適用できますか?
よろしく。
EDIT1:
フォントを使用して「強制」する方法を見つけました:
Font font = new Font("Tahoma", Font.PLAIN, 12);
categoryplot.getDomainAxis().setLabelFont(font);
しかし、出力はまだ奇妙です: "Caf\00E9" の場合、"Café" と表示されます。この文字列を読み取り可能なもの (Café) に変換する方法はありますか?