最近、Webサービスでユーザー名がブロックされていることに気付きました。これは、文字を文字、数字、および特定の記号に制限するために配置した正規表現フィルターと一致しなかったためです。文字列は「ゲーム」でしたが、私のゲームでは、ユーザーがUnicode文字列をテキスト入力フィールドに貼り付けたに違いないことがわかりました。これは、それまで考えていなかったことです。
少し調べてみたところ、C#正規表現はUnicodeに対応しており、より多くの組み合わせを許可するために\ p {L} \ p {M} \ p {Z} \ p {N}を追加できますが、それでもできません。適切な組み合わせをすべて許可または禁止したことを確認してください。特に、若いプレーヤー(または年配のプレーヤー)を怒らせる可能性のある特定の単語の使用をブロックできるようにしたかったのです。現在、ユーザーがエントリを完了した後に適用する不適切な単語フィルターがあります。これは、ASCIIを使用して構成した場合にのみ、不快なユーザー名を作成するほとんどの試みをブロックするのに役立ちます。
特定のUnicode文字がゲーム用に選択された特定のフォントで表されておらず、特定のUnicodeの組み合わせが実際にディスプレイの配置を台無しにする可能性がある場合、他のゲームはこれをどのように処理しますか?