CarginaCardia、フォント困った


 2016年 ~8月23日
 
  
 なんてシャレを言ってる場合じゃ無くて。
 
  
 どうも HSP Dishでは font命令が機能してないらしくて、どうやってもシステムフォントが表示される。

 システムフォントはデバイス(機種とかブラウザ)によって違ってるらしくて、この場合は FixedSysというものらしいのだが、例によって何の事か分からん。

 ググッてみたら、どうも普通にあるフォントの一つらしくて、グラフィックソフトの選択画面等には表示されない設定になっていて、メモ張に使われているフォントだとかいう事のようだ。

 どうも例によって HSPの情報は少なくてよく分からない。

 とりあえず font命令で何書いても、全部 FixedSysのフォントで表示されてるらしくて変化しない。
 どうしてなのかも、やり方も分からない。

 ちなみにこれはウインドウズ上での起動の場合で、mes命令で表示した文字はデバイスやブラウザによって異なる。

 ブラウザによっては青い文字で表示されたりして、流石に「何で?」と思ったりする。
 
 
 そんな訳だから、やっぱり原則全部文字をグラフィックにして準備するしか無い様だ。

 こんなカードゲームならまだしも RPGのセリフとか、どうなるんだろう?

 まあその辺はまた棚上げにするとして。

 
 
フォント情報のまとめ

 MSゴシック、MS明朝、メイリオについては Windows上で制作したものであれば、一応商用利用も可能らしい。
 確証は無いので各自確認、自己責任で。

 ただしフォント(.ttfファイルみたいの)を同封(再配布に当たる)してとかいうのはダメみたい。

 その他のフォントについてはそれぞれについて調べる必要があるみたい。
 例えば HGシリーズはリコーの著作権らしくて使えないみたい。

 フリーフォントとしては、花園フォントや、M+フォント、IPAフォントみたいのがある。
 それからビットマップフォントと言われるものにもフリーのものがあるみたい。
 沢山あるみたいなので探したら良いだろう。

 いや、MSゴシック最強論なら、始めからそれだけにするとかでも良いのかな?
 
 
 
ではフォントのグラフィック化を始める

 まずはオプション画面から。

img01042
 
 
 ザ・グラフィックスで描く
img01043

 グリッドは 16ドット、文字の大きさは 30ピクセル。

 フォントは試してみて花園フォントの太字にした。
 花園フォントはフリーの割りに綺麗な日本語が表示されるのであなどれない。
 
 
 置き換え
img01044

 う~ん、字が小さかったような気がする。
 でなければ太字じゃなくて普通の方が良かったか。

 位置を微調整して、時間が無いのでとりあえずこのまま次へ。
 
 
 
 次はこれ、町の表示
img01046
 
 
 描いて
img01048

 今回は MSゴシックで 32ピクセル。
 MSゴシックもメイリオと同じで、グラフィック化なら何も言われないはず。
 まあグレーだけど、個人の同人程度なら何も言われないだろうとは思う。
 
 
 置き換える
img01047

 て、アレ?これどう見ても元のと同じだよね。

 と言う事はデフォルトのフォントは FixedSysじゃ無くて MSゴシックだったって事????

 その辺がどうなのかはサッパリ分かりません。
 
 
 位置を整えて、と
img01049

 う~ん、やっぱり MSゴシック最強説?・・・
 
 
 ちなみにこの NORMALとか表示してるのは、画像化したアルファベットを置き換える方法(ビットマップフォントとか言われるもの)
 
 
 こんな感じで描いたのを
al1016
適当にこんな感じで表示してる

;----------- 文字表示 --------------------------------
#module

#deffunc ap str s,int x,int y,int t ; 英数字スモール、文字列
; s=文字列、x=x座標、y=y座標、t=文字色

	ss=s
	sg=strlen(s)		; 文字長さ、個数
	t2=t*32				; 文字色

	repeat sg			; 文字の数だけ繰り返し
	 n=peek(ss,cnt)		; 1文字読み出し
	  if n=32 : continue ; " "
	  pos x+cnt*11,y
	   if n>=65 and n<=90	: n2=n-65 : celput 6,n2+t2 : continue	; アルファベット
	   if n>=97 and n<=122	: n2=n-97 : celput 6,n2+t2 : continue	; アルファベット
	   if n>=48 and n<=57	: n2=n-48	; 数字
	   if n=47 : n2=28	; /
	   if n=40 : n2=26	; (
	   if n=41 : n2=27	; )
	   ;if n=46 : n2=13	; .
	   ;if n=43 : n2=14	; +
	   ;if n=45 : n2=15	; -
	   celput 6,n2+t2	; 表示
	loop

	return
#global

 
 
 数字版もある
fg1616

 字はドットエディッターの ALFARで描いてる。
 
 

#module	; 数字表示
#deffunc fp2 int n,int x,int y,int t	; 数字put 10_16

	ns=str(n)		; 文字に変換
	nb=strlen(ns)	; 個数確認
	t2=t*10
	repeat nb : cn=cnt
	 n2=peek(ns,cnt) : n3=n2-48+t2
	 pos x+cnt*11,y : celput 2,n3
	loop

	return
#global

 
 
 使い方はこんな感じ。

 ap “文字表示”,100,100,0
 fp2 8376,100,100,0
 
 
 この辺のは、もし使いたいという人がいれば黙って使ってもらって構わない。

 それにしてもこの方法は、漢字のある日本語では使いづらい、ひらカナくらいはできるんだろうけど・・・・
 
 
 
 最後にステージ表示とmob名表示だ。

img01050
 
 
 ステージ文字を作って
img01053
 
 
 フロア数を作って
img01055

 ってあれ?これ階じゃなくて Fになってるよ。
 
 
 mob名文字を作って
img01051
 
 
 mobの使う技名を作って
img01054
 
 
 後チョコチョコと直して。
 
 
 最後にオプションを MSゴシックで描き直し。

img01056

 花園フォントは明朝体らしくて、明朝体は細いので少し太いゴシック体のほうが普遍性があるかもしれない。
 
 
 う~ん、めんどくさい。
 何か別の方法を考えないと、多くなると大変だ。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です