http://hsp.tv/play/pforum.php?mode=all&num=93974
のURLにあるこのコードですが、
私が使おうとしているフォントは、exeファイルにパックしないと再配布になるからダメ!!
//フォントをインストールせずに使用するモジュール #include "gdi32.as" #define FW_NORMAL 0x190 #define FALSE 0x0 #define ANSI_CHARSET 0x0 #define OUT_DEFAULT_PRECIS 0x0 #define CLIP_DEFAULT_PRECIS 0x0 #define DEFAULT_QUALITY 0x0 #define FF_DONTCARE 0x0 #module #const use_fonts 10 //登録できるフォントの最大数(変更可能) #const global FR_PRIVATE 0x10 //「登録したフォントをこのプログラムだけで使用する」オプション #const global FR_NOT_ENUM 0x20 //「登録したフォントがフォント選択ダイアログ等で表示されないようにする」オプション #deffunc font_file_init l_flag=0 dim l_opt,use_fonts sdim l_name,64,use_fonts return //font_file p1,p2,p3 //指定したメモリ内のファイル名のフォントを一時的に使えるように登録する。 //p1はフォントのファイル名。 //p2を1にした場合はこれまでの登録を解除。(省略時は0) //p3はFR_PRIVATEかFR_NOT_ENUMか、もしくは0かを指定。(省略時はFR_PRIVATEとFR_NOT_ENUMの両方とも有効) #define global font_file(%1,%2=0,%3=0x30) _font_file %1,%2,%3 #deffunc _font_file str file,int cl_flag,int opt if cl_flag : font_clean if l_flag>=use_fonts : return 0 l_opt(l_flag)=opt l_name(l_flag)=file l_flag++ AddFontResourceEx file,opt,0 if stat=0 : l_flag-- return stat #deffunc font_clean onexit repeat if l_flag<=0 : break l_flag-- RemoveFontResourceEx l_name(l_flag),l_opt(l_flag),0 loop return #global
となっています。
hsp掲示板の過去ログを見ても何が何だかわかりませんでした。
(私はWindowsAPIは全然わかりません。)
②
先日の「謎の長い名前の、海外フォント」の件で、
そのフォントも、exeファイルにパックしないと再配布になるからダメ!!
となっていますが、①と同じく、hsp掲示板の過去ログを見ても何が何だかわかりませんでした。
長文失礼しました。