Unityでチャット機能をC#で実装しようとしており、
その中で入力テキストの絵文字を判定する方法を探しています。
本当は絵文字も扱えるようにしたいのですがなかなか難しそうなので、
絵文字を判別して入力させない様にしたいと思います。
各サイトを参考にさせていただき、入力された文字列を1文字づつ以下のように調べて
絵文字であれば省くようにしました。
string inStr = messageInputField.text; if(inStr.Length != 0) { StringBuilder retStr = new StringBuilder(); System.Globalization.TextElementEnumerator tee = System.Globalization.StringInfo.GetTextElementEnumerator(inStr); tee.Reset(); while(tee.MoveNext()) { // 1文字取得 var te = tee.GetTextElement(); // 1文字が2つ以上のcharからなる場合は、サロゲートペアと判断 if(1 < te.Length) { // 文字列から除去 } else { retStr = Append(te); } } // InputFieldに返す messageInputField.text = retStr.ToString(); }
こちらを実装してiOS,Androidの実機で確認したところ、ある程度の絵文字は判別でき
入力から除外することができましたが、星座のシンボルマークや斜め矢印などの絵文字は
このチェックをすり抜けてしまいます。
絵文字を完全に判別できる方法はないでしょうか?
よろしくお願いいたします。

回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/01 06:01
2016/11/01 10:20