2018年04月19日

ファミコン風フォント改訂版

FamicomFont.ttf←クリックでダウンロードされます。

英数字、カタカナひらがな、記号は !?#*%&()+-./:<=>[]_←→「」・‥。ー

登録されてない文字を入力するとなぜか「ヲ」て表示されますw
なぜかよくわかりません。


以前にもInkScapeで「FamiFont」というファミコン風のフォントを作ったんですが、いろいろと個人的に不満がありました。

本当は縦横8ドットの正方形を縦に二つ並べて、下にベースとなる文字を作成し、上に濁点、半濁点を作成する、つまり縦16横8ドットで1文字ってのをやりたかったんですが…いまいちInkScapeのSVGフォントエディターの使い方が分からず、よく分からないけどいちおう形にはなったので公開した、という感じでした。

今回、あれからいろいろと分かったこともあったので、再びフォント作成にチャレンジ!
InkScapeで出力したSVGファイルをテキストエディタで編集したりして、ちゃんと縦横比が2:1になるようになった(はず!)。

フォント名は「FamicomFont」です。

あと、RPGツクールのメニュー画面で、英数字の「HP」とか「Lv○○」てのがちょっと地味だな〜とも思いました。
前回のやつは、Wizardryのフォントをモデルにしてて特に英語とか文字としてはかっこいい!て思ってたんだけど、「HP」などの項目名として使うとちょっと貧弱な気がして、英数字はもっとぶっとく力強い感じにしました。


で、ウディタやRPGツクールで実際に検証してみた。

ウディタ.png
「だいたいOk」というのは、字詰めが0の状態でもデフォルトで1ドット空いてるからです。改行も3にすると近似値だけどやっぱり1ドットずれてます。
ていうか、なんで3?本当は何も設定せず0の状態でベストになるように作ったはずなのに!
ひょっとしたら、こういうことになってるかもしれません。

po.png → po2.png

つまり勝手にCenterに表示されているのかも。
この後、RPGツクールMVでもこれを思わせる現象にぶつかったので、その可能性は高いです。
でも、エディタ側の仕様なのか、フォントファイルの仕様なのかはよくわからないです。
まあ、とりあえず数値をいじればだいたい、いい感じにできるということで…。

1ドットずれてるためか、本来FontSizeは8の倍数でいい感じになると思うんですが、なぜか15でいい感じになりました。16だとちょっと形がいびつになります。

VXace.png

RPGツクールVXaceは、上記の設定にすれば完璧!!
前回はデフォルトでアンチエイリアスがかかると思い込んでいたんですが、FontSizeを適切に設定すればアンチエイリアスがかからずくっきり表示されるってのが分かりました。
XPとVXは未検証だけど、スクリプトが同じRubyだからきっとうまくできるはず。

mv.png

残念なのはMV。
どうしてもアンチエイリアスがかかる…。
1ドットを3倍に引き延ばして表示しているので、やはりFontSize48がいちばんいい線いってるけど、うっすらアンチエイリアスがかかります。
あと、行間やパディングを適切に表示させようと思うとけっこうめんどいです。
めんどいし、どうせアンチエイリアスがかかるし…でも気持ち悪い、と思い表示位置だけはバッチリになるように調整しました。

・Window_Baseにある、「standardFontSize」と「lineHeight」を48にする。
・同じく、「standardPadding」と「textPadding」を24にする。
・Window_Baseのメソッド「calcTextHeight」内(423行)、「textHeight += maxFontSize + 8;」の「+8」を消す。
・Window_Messageのメソッド「newPage」内(4485行)、「textState.y = 0;」を「textState.y = 7;」にする。
・Window_Messageのメソッド「needsNewPage」内(4526行)、の最後に+ 7をする。(textState.y + textState.height > this.contents.height + 7);

プラグインの書き方などは割愛します(プログラムはド素人なので…)。

ウディタでもそうでしたが、MVの場合textState.y = 0 だと7ドット上にずれて表示されちゃうので7ドット下に表示してあります。
次のページに切り替わるタイミングも7ドット下にずらしてあります。
しかしVXaceでは素直に表示されたんだがなあ。やはりエディタの仕様なのか…。


ちなみにRPGツクールMVで「どうしてもアンチエイリアスをかけたくない!!」という場合は、私の知る限り「VE_SFont」という海外のプラグインを使う必要があります。これを使うには「BasicModule」というプラグインも導入する必要があります。
でもこれ、フォントファイルではなくPNGのフォント画像を作る必要があるんですが…。
いちおう自分は使ったことあるので、これに関してはまた別の機会にでも紹介しようと思います。
posted by マルムギコウジ at 18:34| Comment(0) | 制作日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

×

この広告は180日以上新しい記事の投稿がないブログに表示されております。