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


HSPTV!掲示板


未解決 解決 停止 削除要請

2019
1124
Cubeobjimageのバグ?1解決


Cube

リンク

2019/11/24(Sun) 00:44:09|NO.88914

objimageを適用したbutton命令を置くとbutton命令で指定した文字列が文字化けします
hsp3.51でhsp3utf.asを使用した場合に起こります

以下実証コード


#include "hsp3utf.as" screen 0 buffer 1 color 255,0,0 : boxf gsel 0 objimage 1 button goto"こんにちは",*flag stop *flag stop



この記事に返信する


沢渡

リンク

2019/11/26(Tue) 23:39:56|NO.88928

検証してみたところ、「UTF-8 → UTF-16」の変換処理が2回行われてしまっているようですね。
かなり無理矢理で乱暴な方法ですが、UTF-8の文字列を事前にcnvwtosで「UTF-16 → UTF-8」の
変換を行うというやり方で対処してみました。
(あくまで応急処置であり、根本的な解決はアップデートを待つしかありませんが)

#include "hsp3utf.as" #module #deffunc even_buf var v,str _s //UTF-16文字列のバッファ長は偶数になり、末尾に2連続の"0x00"が付くので、 //無理矢理UTF-16の仕様に合致したバッファ内容に調整する。 s=_s x=strlen(s) sdim v,x+2+(x\2) memcpy v,s,x,0,0 return #global screen 0 buffer 1 color 255,0,0 : boxf gsel 0 objimage 1 a="こんにちは" even_buf b,a a=cnvwtos(b) button goto a,*flag stop *flag stop



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