【Unity】InputFieldの絵文字削除

概要

UnityのInputFieldで入力するとき、大抵の絵文字はそのまま表示できません。

今回は絵文字の入力を反映させないスクリプトを作成しました。

サンプル

https://github.com/Okamochi000/ValidTextChecher

実証環境

  • OS:Windows
  • Unityバージョン:2021.1.24f1
  • Androidバージョン : 11

除去する文字について

絵文字の削除にはサロゲートペアで判定していますが、Androidだとサロゲートペアで判定されない絵文字も存在します。

サロゲートペアの文字は文字化けとなり分かりやすいですが、そうでない絵文字は空欄だけどメモリ内には入っていることがあり分かりにくいです。

今回、サロゲートペアでない絵文字に関してはTextコンポーネントの文字サイズを見て横幅が0であれば無視するようにして対応しています。

投稿者プロフィール

おかもち
おかもち
ゲームとか作ってます。
Unity触ってることが多いです。
   

コメントを残す


CAPTCHA