- PR -

PJAの使用

1
投稿者投稿内容
ぽん
会議室デビュー日: 2003/10/28
投稿数: 2
投稿日時: 2003-10-28 20:24
毎回、ここを参考にさせてもらっている者です。
現在、PJAを利用して動的なグラフを表示させるアプリを作成しています。
Solaris上で実行した時に、グラフ内の日本語が、□□になって表示される
現象に悩まされています。
Linux(RedHat9)上では、上記の現象は起きず、正常に日本語が表示されています。
色々と調べましたが、行き詰ってしまい、投稿させて頂きました。
何が悪いのかアドバイスの方を宜しくお願い致します。

[環境]
Solaris 8
j2sdk1.3
pja2.3

[JVMの起動]
・PJA_HOMEは、pjaを展開しているディレクトリです。
また、JAVA_FONTSは、
/usr/openwin/lib/locale/ja/X11/fonts/TT
/usr/openwin/lib/X11/fonts/TrueType
${JAVA_HOME}/jre/lib/fonts
の3箇所を設定しています。

java -Xbootclasspath/a:${PJA_HOME}/lib/pja.jar \
-Dawt.toolkit=com.eteks.awt.PJAToolkit \
-Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment \
-Djava2d.font.usePlatformFont=false \
-Djava.awt.fonts=${JAVA_FONTS} \
-Duser.home={PJA_HOME} \
hogehoge

[その他の情報]
PJAに含まれているfont.propertiesに変更を加えずに
実行してもエラーメッセージが出ずに日本語が化けていたので
filenameの項目を以下のように変えてみましたが
同じく、何も出ずに日本語が化けています。
<変更してみた箇所>
filename.Lucida_Sans_Regular=LucidaSansRegular.ttf

filename.Lucida_Sans_Regular=HG-GothicB.ttf
など

ちなみに、Linuxで実行した時は、
Font specified in font.properties not found
[-monotype-courier new-bold-i---*-%d-*-*-m-*-iso8859-1]
などのメッセージが出まくっていましたが、
日本語は表示されていました。
かずくん
ぬし
会議室デビュー日: 2003/01/08
投稿数: 759
お住まい・勤務地: 太陽系第三惑星
投稿日時: 2003-10-28 21:28
直接解決に結びつかないかもしれませんが、参考までに。

ResourceBundleのことを良く分かっていなかったころ、SHIFT-JiISでプロパティファイルを用意し、読みこませたときに、同様の現象に遭遇しました。これはResourceBundleはISO-8859-1で読みこもうとすることによる、char-setの違いが原因です。
グラフ内の文字列をどのように読みこんだのかは分からないですが、char-setが同じであるかどうかをチェックしてみてはいかがでしょう。
teto
ベテラン
会議室デビュー日: 2002/07/31
投稿数: 61
投稿日時: 2003-10-28 23:08
はじめまして。

依然とあるサイトの株価チャート生成をSolaris上で
PJAとフリーのチャートライブラリを用い日次バッチとして
構築したことがあります。

で、、同様に日本語問題が発生し、私のスキル不足and
サーバ環境を自由にいじれないという理由で日本語依存部は
画像ファイルを別途用意することで逃げました。

そのとき参照にしたのが、下記ソースです。
http://java-house.jp/ml/archive/j-h-b/044515.html#body
すでに参照されているようでしたら、蛇足ですね。

では。
ぽん
会議室デビュー日: 2003/10/28
投稿数: 2
投稿日時: 2003-10-29 01:04
とても早くの返答ありがとうございます。
tetoさんが参照されたソースは見ていたのですが
似たような事を行なっても、結局文字化けは直らなかったです。
フォント関連のエラーが出ないので、原因の切り分けができません。
で、tetoさんの時は、正常に表示されたのでしょうか?
もし良かったら、その時のJVMの起動オプションや、
環境の設定手順などを教えて頂けないでしょうか?
宜しくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)