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


HSPTV!掲示板


未解決 解決 停止 削除要請

2015
0922
kjm384フォントの特殊文字 (記号文字) の描画6解決


kjm384

リンク

2015/9/22(Tue) 16:02:39|NO.71850

Segoe UI Symbol や Segoe MDL2 Assets といったフォントの特殊文字 (記号文字)
を描画するにはどうしたらよろしいでしょうか?



この記事に返信する


toto

リンク

2015/9/23(Wed) 03:33:05|NO.71861

mesで表示するとなぜか文字化けしますね。

font "Segoe UI Symbol",20 objmode 2 sdim a,64 a="???";IMEパッドから入力する ;でも掲示板に投稿すると文字化けするから今回は一文字ずつwpokeで入力 wpoke a,0,0x98F1 wpoke a,2,0x99F1 wpoke a,4,0x9AF1 mesbox a,640,300 mes a



kanamaru

リンク

2015/9/23(Wed) 11:38:35|NO.71866

その二つのフォントは特殊なフォントでふつうのフォントと同じようには使えないそうです。
hspで使う方法としては、
無理やりフォントハンドルを突っ込むか(これでできるか未実証)
画像フォントとして、準備するかしないと無理だと思います。
https://msdn.microsoft.com/ja-jp/library/windows/apps/jj841126.aspx
に一覧があり、画像で表示してるので、右クリックから、
ありがたく使わせてもらえばいいと思います。
(ライセンスや著作権の問題は考えてません。)



Noap

リンク

2015/9/25(Fri) 15:39:16|NO.71940

もう見ていないとは思いますが


#module #uselib "user32.dll" #func DrawText "DrawTextW" sptr,wptr,int,var,int #define DT_CALCRECT $00000400 #deffunc _unimesketup str buf, local rect, local statbak, local statbak2, local bmscr statbak2=stat mref bmscr,67 dim rect,4 rect=ginfo_cx,ginfo_cy,0,0 DrawText hdc,buf,-1,rect,DT_CALCRECT DrawText hdc,buf,-1,rect redraw wpeek(bmscr.19,2) pos rect.0,rect.3 mref statbak,64 statbak=statbak2 return #global #define unimes(%1) _unimesketupval=""+%1 : _unimesketup _unimesketupval : dim _unimesketupval,1 cls sdim buf redraw 1//redrawの変更に対応 font "Segoe UI Symbol",20 buf="あ"//フォントに文字が含まれていない場合の代替表示 poke buf,2,'I' wpoke buf,3,$96F2 wpoke buf,5,$99F1 poke buf,7,"み" wpoke buf,9,$A0F1 wpoke buf,11,$A0F2 mref i,64:i=9999 unimes "みそ\n"+buf mes "aaaa" unimes 123//数字もだいじょうぶ mes stat //redraw 1



Noap

リンク

2015/9/25(Fri) 16:43:07|NO.71943

シーゴUIシンボルで使われている文字(ARIB外字)のShift JISの外字はcnvstowでは変換してくれませんがwptrでは対応するUnicodeの文字に変換してくれるので
cnvstowで変換するのではなくwptrを使っています



Noap

リンク

2015/9/25(Fri) 16:54:41|NO.71944

もし解釈に間違いがあればすみません。



kjm384

リンク

2015/9/26(Sat) 20:04:16|NO.71978

ありがとうございます。おかげで何とかなりそうです。
Windows 8 や Windows 10 などのデザインを実装するときにも役に立ちそうですね。



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