Nyaatrap

アダルト百合ゲー開発ブログ。一部記事は18歳未満閲覧禁止です。

Home どれぱら デーモンマスタークリス 商用ゲーム フリーゲーム

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Ren'py でフォントを組み合わせて表示する

Ren'py の日本語のテンプレートは、アンドロイド等で標準のモトヤシーダ等幅フォントが使われています。
ですが、これは等幅なので半角英数が等幅になって、まともに表示されません。
そこで半角英数だけ違うフォントにしたい時、FontGroup というクラスを使えば、フォントを指定した範囲のユニコードで区切って、組み合わせることができます。
FontGroup を使う場合は、FontGroup のクラスに、置換したいテーブルのフォントを先に add で追加して、最後に一番範囲が広いフォントを add で追加します。
例えば、ラテン基本文字の範囲は 0x0020~0x007f (フランス語などの文字も含めたければ 0x0020~0x00ff)なので、以下の様なコードで、ラテン文字部分を日本語のモトヤシーダ等幅(MTLcm.ttf)から、Ren'pyのデフォルトフォント(DejaVuSans.ttf)に置き換えることができます。
style default:
font = FontGroup().add("DejaVuSans.ttf", 0x0020, 0x007f).add("MTLc3m.ttf", 0x0000, 0xffff)

カナ部分を置き換えてアンチック体を作ることもできます。カナ部分は0x3040~0x30ffになるので、
style default:
font = FontGroup().add("mincho.ttf", 0x3040, 0x30ff).add("MTLc3m.ttf", 0x0000, 0xffff)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。