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


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0519
KENTA使用フォントの取得7解決


KENTA

リンク

2007/5/19(Sat) 08:33:05|NO.8337

font命令などで設定したフォントの大きさを取得する命令・関数はあるんですか?
教えてください。



この記事に返信する


Kpan

リンク

2007/5/19(Sat) 09:48:28|NO.8338

Y方向サイズなら、BMSCR構造体にあるのでmref命令で取得できると思います。
Google検索してみてください。



KENTA

リンク

2007/5/19(Sat) 11:13:33|NO.8341

mref関係で調べてみましたが、

mref var,int
のintのところが分かりません。
自分でも調べてみたんですけど、
(もうエラーばっかで・・・)
誰か知りませんか・・・・。



Akim

リンク

2007/5/19(Sat) 13:45:50|NO.8344

>フォントの大きさを取得する命令?関数はあるんですか?
BMSCR構造体とかは 初心者は 覚える必要はないのですが、、、
正しく言うとBMSCR構造体にはユーザーが指定した時の情報をHSPが記録として
残しているだけのものにすぎないので 指定フォントが無かった場合など、
実際Windows(API)が設定してくれるフォントとは違う時があります。
HSPラウンジに正確な取得モジュールがあります。
〔objmodeで指定されたフォントを取得するには?〕
http://smile.poosan.net/perl-bin/hsp/ver3/hsp3.cgi?print+200510/05120035.txt
これのサンプルで ウィンドウのフォントも取得しているので 分かると思います。
↓これ どういう意味だと思う?

s= abs.LF, LF.4>400|(((LF.5&$00FFFFFF)?$FE)&7)<<1|(peek(LF,26)!0)<<4
この人 すごすぎ!!



Akim

リンク

2007/5/19(Sat) 13:58:18|NO.8345

>?$FE)&7)
どういうわけか 、¥が文字化けするようです。
?に なっていたら 半角の¥に読み替えて下さい



AKIHIRO

リンク

2007/5/19(Sat) 14:20:28|NO.8346

ほとんどわかってるんじゃーなかったっけ?



FUJI

リンク

2007/5/19(Sat) 14:24:51|NO.8347

>↓これ どういう意味だと思う?
>
 s= abs.LF, LF.4>400|(((LF.5&$00FFFFFF)\$FE)&7)<<1|(peek(LF,26)!0)<<4

これは凄いですね。 LOGFONT構造体から、font命令のパラメータに変換しているようです。 LOGFONT構造体 http://yokohama.cool.ne.jp/chokuto/urawaza/struct/LOGFONT.html
abs.LF
lfHeightメンバからフォントサイズ
LF.4>400

lfWeightメンバから太字のフォントスタイル
(((LF.5&$00FFFFFF)\$FE)&7)<<1
lfItalic、lfUnderline、lfStrikeOutメンバからイタリック体、下線、抹消線のフォントスタイル
(peek(LF,26)!0)<<4

lfQualityメンバからアンチエイリアスのフォントスタイル 以上のように変換しているんだと思います。 特に
(((LF.5&$00FFFFFF)\$FE)&7)<<1
の式が凄いですね。



KENTA

リンク

2007/5/20(Sun) 08:22:59|NO.8365

みなさん、ありがとうございます。
分かってないところもありますが、解決にしときます。

>ほとんどわかってるんじゃーなかったっけ?
この質問を出したのは、分かってないということです。



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