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


HSPTV!掲示板


未解決 解決 停止 削除要請

2017
0824
tds12Unicode対応HSPについて(その2)27解決


tds12

リンク

2017/8/24(Thu) 01:02:23|NO.81081

お久しぶりです。tds12です。

しばらく触れていないうちに前スレッドは過去ログに行ってしまいました。
http://hsp.tv/play/pforum.php?mode=pastwch&num=74766

HSPのUnicode対応がhsp3utfとして公式パッケージに取り込まれているのはうれしいことです。

一旦は頻度が落ち着いてきましたが、ますますhsp3utfを改善させるにはまだまだ時間と協力が必要です。

そこでUnicode対応についてこのスレッドで続けて雑談いただければと思います。

バグ報告やご意見、質問などは歓迎しています。



この記事に返信する


tds12

リンク

2017/8/24(Thu) 01:05:45|NO.81082

本日、最新版を用意しました。

今回はWindows用HSP3DishがUnicode対応版として同梱されています。

こちらからお試し願います。
https://www.dropbox.com/s/jq9r3fkzvyel463/hsp3utf_20170824a.zip?dl=0

ソースコードは後ほど公開することになると思います。

よろしくお願いします。



tds12

リンク

2017/8/24(Thu) 02:08:02|NO.81084

DLできないかたはこちらからお願いします。
https://ux.getuploader.com/tds12_hsp/download/1



名無し

リンク

2017/8/24(Thu) 18:36:03|NO.81091

twitterにunicode対応してました、と書いてあったのでやめてしまったのかと思っていました。
よかったです。



tds12

リンク

2017/8/25(Fri) 15:01:49|NO.81101

なんだかんだ続けてます。
もう昔ほどの勢いはありませんが。



いののて

リンク

2017/9/18(Mon) 11:13:00|NO.81370

不具合ありました。
hsp3dish_utfのUnicode版HSPエディタで、設定が正しく読み込めていません。
エディタのフォントとタブのフォントが起動するたびに変わります。
非Unicode版のエディタのソースを見る限り、直接LOGFONT構造体を保存しているようなので、
ANSIとUnicodeの変換がうまくいっていないんじゃないかなと思います。



tds12

リンク

2017/9/20(Wed) 03:13:06|NO.81409

>hsp3dish_utfのUnicode版HSPエディタで、設定が正しく読み込めていません。
ありがとうございます。
確認しているのでそのうち修正すると思います。



tds12

リンク

2018/4/1(Sun) 11:31:32|NO.83849

文字列型変数はUTF-8で管理されています。
DLL呼び出し時に文字列のポインタをvarptrで渡すときUTF-8で渡ります。
UTF-8の文字列が必要な関数にはvarptrを使い、ポインタの整数を渡してください。
Shift-JISが必要な関数にはstrまたはsptrを使い文字列のまま渡してください。
UTF-16が必要な関数にはwstrまたはwptrを使い文字列のまま渡してください。

wstrまたはwptrで文字列を指定したときランタイムがUTF-16への変換を行います。
varptrは特にエンコーディングの変換を行いません。

MessageBoxWを含むほとんどのUnicode版Windows APIはUTF-16で渡してやる必要があります。
この場合はwstrかwptrを使って文字列のまま渡してください。



ゆうやん(旧ゆー)

リンク

2018/8/13(Mon) 11:08:34|NO.85053

mmplayで音が鳴りません。
修正よろしくお願いします。

#include "hsp3utf.as" mmload "test.wav",1 mmplay 1



tds12

リンク

2018/8/13(Mon) 14:27:30|NO.85054

>mmplayで音が鳴りません。
報告ありがとうございます。確認してみます。

--
ちょうどなので別の話題になりますがhsp3.51pのhsp3utfではgetpathの動作にバグが出ています。


#include "hsp3utf.as" s = "C:\\sample\\設定.as" mes getpath(s,2)

手元で再コンパイルしたものでは問題ないようなので近々公開します。
Unicode版エディタの更新やDish,HGIMG4なども準備していて同時に公開しようと思います。



tds12

リンク

2018/8/13(Mon) 14:37:58|NO.85055

>mmplayで音が鳴りません。
すみません。いまtest.wavを用意して確認したところこちらではそのスクリプトが正常に動作しています。
もう少しバージョンや動作環境、test.wavの置かれたフォルダ名、スクリプトの保存先等、詳しく教えてください。
こちらの環境はWindows 10上のhsp3.51pです。

あるいは、サウンドミキサーの設定などが関係すると思いますが確認いただけますか?



ゆうやん(旧ゆー)

リンク

2018/8/13(Mon) 14:53:04|NO.85056

音量ミキサーを確認してみた所、Hot Soup Processorと出ていませんでした。
「#include "hsp3utf.as"」を外すと出るみたいですが...
僕の環境だけでしょうか?



tds12

リンク

2018/8/13(Mon) 15:20:10|NO.85057

>僕の環境だけでしょうか?
私の環境では音量ミキサーにも表示されています。

最新版でもうまく再生できませんか?

http://hsp.tv/make/hsp351p.html



ゆうやん(旧ゆー)

リンク

2018/8/13(Mon) 16:23:01|NO.85058

最新にしても音は出ませんでした。
ファイル名を日本語1文字(あ.wav)にすると、出るみたいですが...



ゆうやん

リンク

2018/8/20(Mon) 16:49:06|NO.85133

 http://hsp.tv/play/pforum.php?mode=all&num=85109
inoviaさんによると、sndPlaySound関数が失敗しているようなので、修正よろしくお願いします。



ゆうやん

リンク

2018/8/25(Sat) 17:34:19|NO.85198

あとついでに提案なのですが、できればいいので、Unicodeに対応した64ビット版出して欲しいです。



tds12

リンク

2018/8/25(Sat) 19:31:33|NO.85202

>Unicodeに対応した64ビット版
やろうとは思っているんですが、まだ64ビット版自体が安定していなくて後回しにしてるんですよね。

ポインタ幅の整数型みたなのが組み込まれるようになってきてから検討しようかなと。
そのような予定があるかは知りませんが。



吹雪

リンク

2018/9/29(Sat) 20:05:05|NO.85473

バグ報告です。


listbox命令の代3パラに指定する初期文字列において、
1行の長さが一定以上の場合に途中までしか認識されないようです。

とりあえずはsendmsg命令で後から追加する方法で回避していますが、可能な時に修正お願いします。



tds12

リンク

2018/9/30(Sun) 03:19:59|NO.85482

吹雪さん、報告ありがとうございます。
>listbox命令の代3パラに指定する初期文字列において、
>1行の長さが一定以上の場合に途中までしか認識されないようです。
これはバグかどうか考えどころですね。
Unicode対応以前から一行あたり255バイトで設定されていました。
http://dev.onionsoft.net/trac/openhsp/browser/trunk/hsp3/win32gui/hspwnd_obj.cpp?rev=822#L266
ShiftJISで画面も小さい時代ではほぼ気にならなかったのかもしれません。
UTF-8では日本語の文字は以前より大きな3バイトを消費することが多く
4バイトの絵文字も含めると画面内でも表示が途切れることが増えたようです。
この部分のコードだけ見ると文字数を増やすことは難しくなさそうですが、
あるいは落とし穴があるかもしれません。

要約:これは以前からの仕様のようですが文字数の緩和を検討するかもしれません。

また何かあればご意見よろしくおねがいします。



吹雪

リンク

2018/9/30(Sun) 11:36:13|NO.85485

>>tds12 さん

 元々の仕様だったのですね。気づきませんでした。

 255/4=64ですので、少し緩和した方が良いかもしれません。
 ご検討よろしくお願いします。



ゆうやん

リンク

2019/4/13(Sat) 20:51:02|NO.87162

HSPの拡張プラグインをユニコード化することは可能ですか?



tds12

リンク

2019/4/15(Mon) 01:49:53|NO.87179

>HSPの拡張プラグインをユニコード化することは可能ですか?
可能です。



tds12

リンク

2019/8/30(Fri) 20:25:14|NO.88273

おや、なぜか上がってる。

>>Unicodeに対応した64ビット版
>やろうとは思っているんですが、まだ64ビット版自体が安定していなくて後回しにしてるんですよね。
>
>ポインタ幅の整数型みたなのが組み込まれるようになってきてから検討しようかなと。
>そのような予定があるかは知りませんが。

先月の話ですが
http://dev.onionsoft.net/trac/openhsp/changeset/989
64ビット版のランタイムはUTF-8がデフォルトになったみたいですね。

64ビット版が安定したのかはわかりませんが。



ゆうやん

リンク

2019/10/1(Tue) 16:54:18|NO.88553

Unicode版のスクリプトエディターで不具合がありました。
文字を選択して再変換で漢字に変換しようとすると文字化けします。
おそらく、漢字変換する際に文字コードが間違っているのだと思われます。



ゆうやん

リンク

2019/10/8(Tue) 23:12:34|NO.88613

普通に漢字変換する際、問題ないと思うのですが、再変換すると文字化けするので、修正した方がいいと思います。



ゆうやん

リンク

2019/10/28(Mon) 20:45:10|NO.88732

もう一つ Unicodeスクリプトエディタの不具合がありました。
#defineで定義する際に短いテキストだと問題ないのですが、長いテキストだと「デフォルトパラメータのないマクロの引数は省略できません。」というエラーが出ます。
普通のスクリプトエディタだと問題ないのですが、修正してほしいです。

#include "hsp3utf.as" #uselib "user32.dll" #func MessageBox "MessageBoxW" int,wstr,wstr,int #define MsgBox(%1,%2,%3) MessageBox hwnd,%1,%3,%2 MsgBox "あいうえおかきくけこ",64,""



tds12

リンク

2019/11/7(Thu) 12:10:58|NO.88818

> 文字を選択して再変換で漢字に変換しようとすると文字化けします。
確認しました。ちょっと面倒そうなバグですね。
なにかわかれば修正しようと思います。

> #defineで定義する際に短いテキストだと問題ないのですが、長いテキストだと「デフォルトパラメータのないマクロの引数は省略できません。」というエラーが出ます。
これは確か古いコンパイラの仕様だったような。
hspcmp.dllのほうを更新すれば良さそうなので試してみます。



ゆうやん

リンク

2020/3/24(Tue) 22:54:38|NO.89819

Unicodeのエディタでstrexchangeのファイルを作成しようとすると文字化けします。
通常のエディタでは問題なかったと思います。

// 言語ファイル準備用 #include "hsp3utf.as" #include "hspcmp.as" ;hspcmp.dllを呼び出して、HSPスクリプト->strmap出力を行います ;必ずHSP3.6β2以上のhspcmp.dllを使用してください sdim mesbuf,$10000 sdim rtname,256 fname="shutdown" hspname=fname+".hsp" ; スクリプトファイル名 objname="Japanese.strmap" ; strmapファイル名 hsc_ini hspname hsc_objname objname hsc_comp 8 ; strmap出力 res=stat:if res!=0 : dialog "ERROR" : end mes objname+" write done." exist objname if strsize>0 { notesel mesbuf noteload objname } objmode 1 mesbox mesbuf,636,446,5 stop



記事削除

記事NO.パスワード
(質問が解決したスレッドは他の利用者に活用してもらうため、削除しないようお願いします)

NO.81081への返信

マスコット

好きなマスコットを選んでください。

名前

e-mail
HOME
  1. 初めて利用する方は、HSP3掲示板の使い方をお読みください。
  2. 不要部分の多い長いスクリプトの投稿は ご遠慮ください。
  3. 書き込みは自動改行されません。適度に改行を入れてください。
  4. スクリプトは小文字の<pre>〜</pre>で囲むと見やすく表示できます。

削除用パスワード

エラー発生時、再送信すると二重送信になることがあります。
回答が得られたら、お礼書き込み時に[解決]チェックしてください。
SPAM防止のためURLから始まる文章は投稿できません。
SPAM防止のため英文字のみの本文を投稿することはできません。

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