HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
1113
トリーttf形式のフォントの読み込みについて5解決


トリー

リンク

2007/11/13(Tue) 14:57:27|NO.12372

初書き込み失礼します。

とあるゲームプログラムを作成中なのですが、その中で使われるフォントに
知り合いの作ったフォントを使いたいと思っています。
しかしfont命令では実行ファイルと同じ場所にいれたttfは読み込んでくれず
表示するためにはOSのほうでフォントを組み込んでから名前で指定しないとできない状況です。
文字部分を全て画像にして表示、なども考えたのですが量を考えると容量的に難しくあります。

プレイして頂く方にOSにフォントを組み込んでもらうということも考えましたが
プレイヤーの手間とfontの管理を考えると避けたいのです。(font自体はフリーですが・・・)


なんとか同梱したttfファイルからフォントの書体を読み込むといったことはできないでしょうか?
ご教授のほど、よろしくお願いします;



この記事に返信する


Elfizm

リンク

2007/11/13(Tue) 18:56:38|NO.12378

フォントを登録する時に若干時間かがかかりますが、
下のモジュールを使ってみてください。
ちなみにこの方法ではpackfileの中にあるttfファイルを登録できません。


// ------------- モジュール ------------- #module #uselib "gdi32.dll" #func AddFontResourceEx "AddFontResourceExA" sptr, int, nullptr #func RemoveFontResourceEx "RemoveFontResourceExA" sptr, int, nullptr #deffunc addFont str fontFileName AddFontResourceEx fontFileName, 0x10 sendmsg 0xffff, 0x001D, 0, 0 return #deffunc removeFont str fontFileName RemoveFontResourceEx fontFileName, 0x10 sendmsg 0xffff, 0x001D, 0, 0 return #global // ここまでコピーしてください。 // ------------- サンプル ------------- fontFile = "D:/RecycleIt.ttf" addFont fontFile // フォントを追加 font "RecycleIt", 64 mes "test" removeFont fontFile // 終了前に実行してください。

サンプルで使っているフォントはこちらにあります。
http://rfonts.com/download.php?z=recycle_it



Kpan

リンク

2007/11/13(Tue) 20:47:53|NO.12388

念のため書いておくと、Elfizmさんが提示されているモジュールは
WinNT系OSのみ対応、9x系では利用できないですー。



トリー

リンク

2007/11/14(Wed) 12:57:10|NO.12396

>>Elfizm様
わざわざモジュールまで作って頂いてありがとうございます!
まさかこんな方法があるとは・・・; 勇気を出して質問してよかったです。
packfileに組み込めないのはちょっと残念ですがお陰でなんとか目処が立ちそうです!
本当にありがとうございます。

>>Kpan様
なるほど・・・つまりWindows98などでは使えないわけですね。
身近に9x系のOSがないためチェックなどができませんがプログラム起動時にOSを識別して
代理のフォントを読み込むようにしようかと思います。
(それか9x系の場合に限りフォントを各自で入れてもらうか・・)



Elfizm様、Kpan様 ありがとうございました!



Akim

リンク

2007/11/14(Wed) 13:32:20|NO.12397

HSP3ラウンジに同じ質問がありました。

[ネットで配布されているのフォントファイルを使って文章を表示させるには?]
http://fs-cgi-basic01.freespace.jp/~hsp/ver3/hsp3.cgi?print+200701/07060023.txt

こちらは Windows9X でも使えます。



トリー

リンク

2007/11/16(Fri) 15:47:06|NO.12430

返信が遅れました、申し訳ない;
>>Akimさま
なるほど、こういう方法もあるわけですね
こっちも参考にさせて頂きます (´ω`*)

皆さん色々とありがとうございました!



ONION software Copyright 1997-2023(c) All rights reserved.