返信が非常に遅れました。
自分はユニコード対応のエディタを使用しているので、こんな感じで良いのですかね…?
#include "hsp3utf.as"
//last_is_patchim(文字列)
//文字列の最後の文字がハングルで、パッチムがある文字なら1を、そうでないなら0を返す。
#ifdef __hsp3utf__
#module
#defcfunc last_is_patchim str _s
len=strlen(_s)
if len<3 : return 3 //判定する文字はすべて3バイトなので、文字列が3バイト未満の場合は中断
s=_s : a=peek(s,len-3)
if (a&0xF0)!=0xE0 : return 2 //後ろから3バイト目が「3バイト文字の1バイト目」かどうかをチェック
x=((a&0x0F)<<12) | ((peek(s,len-2)&0x3F)<<6) | (peek(s,len-1)&0x3F) //UTF-16に変換
if x>=0x11A8 & x<=0x11FF : return 1 //ハングル字母のうちパッチムに相当するもの
if x>=0xD7CB & x<=0xD7FB : return 1 //ハングル字母拡張Bのうちパッチムに相当するもの
if x=0x3133 | x=0x3135 | x=0x3136 : return 1 //ハングル互換字母のうちパッチムに相当するもの
if x>=0x313B & x<=0x313F : return 1 //同上
if x>=0x3167 & x<=0x316D : return 1 //同上
if x=0x316F | x=0x3170 | x=0x3182 | x=0x3183 : return 1 //同上
if x>=0xAC00 & x<=0xD7AF { //ハングル音節文字
return (x-0xAC00)\28!=0 //0xAC00を引き、28で割った結果が0以外ならパッチムあり
}
return 2
#global
#else
#define global ctype last_is_patchim(%1) 2
#endif
font "Malgun Gothic",16
sdim word,64,2
word="는","은","은(는)"
hangul=""
objmode 2
objsize 200,32
input hangul
button gosub "판정",*go
stop
*go
dialog hangul+word(last_is_patchim(hangul))
return