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


HSPTV!掲示板


未解決 解決 停止 削除要請

2012
0529
k5342HSPでの特殊記号の描画4解決


k5342

リンク

2012/5/29(Tue) 01:09:52|NO.46922

TwitterのクライアントをHSPでつくろうと考えています。
HSP3.3では特殊記号入り文字列をinputなどのシステムオブジェクトには化けずに入力することができたのですが、
mesなどの画面に描画する命令で同様に文字列を書き出そうとすると、化けてしまいます。

例として、Twitterでよく回ってくる
☝( ՞ਊ ՞)☝ という顔文字をmesで書き出すと、 ?( ?? ?)? になります。

システムオブジェクト上でこれらの文字列を表示したくなかったので、画面描画で表示したいと思っています。
どうにかHSP上でこれらの記号を元の形のまま表示させることはできないでしょうか。

また、これらの文字列データはTwitterのサーバーからストリーミングで送信されたものを取得し、表示します。

HSP上というのは、表示部分がHSPで書かれたもので外部DLLなどを使うとするならば、WindowsAPIのみ使用できるものとさせてください。

よろしくお願いします。



この記事に返信する


ヂオン

リンク

2012/5/29(Tue) 13:02:43|NO.46928

ユニコードの文字列を処理するには、winapi の ワイド文字用の 命令を使用する必要があります。
テキストを描画するには DrawTextW TextOutW 等を使用します。


#include "user32.as" // 初期フォント FixedSys には Unicode文字列が登録されていない為 // 有効なフォントに変更しなければ失敗する。 font MSMINCHO,32 // スクリプト上から描画するには // バイナリ化した物を指定する必要が有る。 buf=0x0028261d,0x055e0020,0x00200a0a,0x0029055e,0x0000261d// ☝( ՞ਊ ՞)☝ をバイナリ化したもの rc=0,0,ginfo_winx,ginfo_winy DrawTextW hdc,varptr(buf),-1,varptr(rc),0



skyblue

リンク

2012/5/29(Tue) 19:03:53|NO.46934

ユニコード関係の命令か関数がもとからありませんでした?



ヂオン

リンク

2012/5/30(Wed) 04:18:05|NO.46944

ascii と unicode の相互変換。なら有ったと思いますが。
スクリプトエディタに記述された ユニコード を 描画する 関数は無いと思います。

そもそも、スクリプトエディタに記述されたユニコードを、正確に読み込む機能は hsp には無かった気がします。


#include "user32.as" font MSMINCHO,32 buf="☝( ՞ਊ ՞)☝"// ☝( ՞ਊ ՞)☝ をバイナリ化したもの rc=0,0,ginfo_winx,ginfo_winy DrawTextW hdc,varptr(buf),-1,varptr(rc),0 redraw



k5342

リンク

2012/6/4(Mon) 18:46:20|NO.47029

ありがとうございます、使用させていただきます



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