戻る 06.フォント変更 次へ

文字や画像の描画が出来て、さぁこれで自由に作れると思ったら
なんと標準のフォントでは日本語が出ませんヽ(;´Д`)ノ

そこで「getAvailableFontFamilyNames()」にて内蔵されているフォントを調べたところ…
見事に標準のフォントしかありませんw
しかもどれ選んでも同じ形ww意味ねーww

それでもWindowsなどでは日本語も内蔵されているのですが…

ということで無ければテキストが多いゲームなどでは致命的ですし
画像ですべての文字を持つなんて労力の面で割りにあいませんw

どうにか外部フォントを読み込んでみましょう。

BD-Jを調べているとAUXDATAにはフォントデータやサウンドデータを入れるとなっています。
という事で改変する前のAVCHDのAUXDATAを見ると何やら「dvd.fontindex」というファイルがあります。
どうやらここにフォントを入れるようですので早速書き換え
フォントはモナーフォントを使わせていただきましたw
フォントのファイル名は一応数字で元のファイルを差し替え。
名前は「mona」とします。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package org.homebrew;
	import	java.awt.*;
	import	java.awt.event.*;
	import	javax.tv.xlet.*;
	import	org.havi.ui.*;
	import	org.dvb.ui.*;

public class MyXlet extends Component implements Xlet{
	private HScene hs;
	Font	font;

	public void initXlet(XletContext context){
		hs= HSceneFactory.getInstance().getFullScreenScene(
			HScreen.getDefaultHScreen().getDefaultHGraphicsDevice());
		setBounds(hs.getBounds());
		hs.add(this);

		hs.setVisible(true);
		requestFocus();

		try{
			FontFactory FontF;
			FontF= new FontFactory();
			font= FontF.createFont("mona", java.awt.Font.PLAIN,12);
		}catch(Exception e){
		}
		repaint();
	}
	public void startXlet(){	}
	public void pauseXlet(){	}
	public void destroyXlet(boolean unconditional){	}

	public void paint(Graphics g){
		g.setColor(new Color(255,255,255));
		g.setFont(font);
		g.drawString("日本語表示もOK", 100, 50);
	}
}
これで色んなフォントが呼べますし
TrueTypeですのでサイズも自由です♪^^
さぁどんどんゲームを作っていきましょうw