- PR -

Swingで外字表示

1
投稿者投稿内容
銀きち
会議室デビュー日: 2009/02/04
投稿数: 2
投稿日時: 2009-02-04 22:01
◆質問
Java(Swing)で作成したアプリケーションにユーザー定義文字(外字)を表示させようとしていますが、外字が□で表示されてしまいます。
Java2時代の情報としては幾つか拾えたのですがJava6での対処方法が分かりません。
対処方法をご教授頂きたいです。

◆環境
OS:WindowsVista
JDK:Java6u1

◆状況
(1)外字登録
 外字エディタにて該当文字は登録済み
 文字コード ・・・ 0xF040
 登録文字  ・・・ ※割愛
 すべてのフォントにリンク
(2)登録状態確認
 テキストエディタ(メモ帳、ワードパッド)では登録済み文字は表示される
 表示フォント ・・・ MSゴシック、MS明朝、etc...
(3)Javaアプリの挙動
 (3-1)AWTコンポーネント(TextArea、TextField)では正常に表示される
 (3-2)Swingコンポーネント(JTextArea、JTextField)では文字化け(□表示)

Swingコンポーネント利用時の何らか(fontconfig.properties???)の設定が必要と考えているのですが、参考にしている内容がJava2のせいか正しく設定できていないようです

よろしくお願い致します。
やんち
常連さん
会議室デビュー日: 2008/10/24
投稿数: 32
投稿日時: 2009-02-04 22:29
http://www.alles.or.jp/~torutk/oojava/maneuver/1998/swing/swing_ja.html
このページとか参考になるんじゃないかな。
銀きち
会議室デビュー日: 2009/02/04
投稿数: 2
投稿日時: 2009-02-05 21:21
拝見しました。

フォント構成ファイル周りの設定を行えばよいと思われるのですが、
Java2とJava6でフォント構成ファイルの内容が変わってしまっていました。
(※Java2 font.properties.ja)
(※Java6 fontconfig.properties)

概念としては、外字ファイル(EUDC.TFF)へパスを通せばよいと考えて、
http://java-house.jp/ml/archive/j-h-b/030762.html#body
http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/intl/fontconfig.html
を参考に設定してみましたが、外字は表示されないままです。

Java(Swing)の外字関連の情報が薄いのは、リッチクライアンントはC#という潮流でしょうか...
1

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