空白テキスト生成ツール
4 種類の不可視 Unicode 文字を、それぞれ異なる用途に合わせて用意しました。コードポイントで選べます。改行候補位置のマーキングは U+200B、空白のユーザー名やメッセージには U+2800 と U+3164、CJK の全角スペーシングには U+3000。
行が折り返せる位置を示すゼロ幅のフォーマット文字。不可視で幅を取りません。チャットアプリによっては stripping されます。
空白テキストとは何か
空白テキストとは、表示されるグリフを持たない Unicode 文字の並びのことです。「不可視文字」は単一ではなく複数種類があり、それぞれ挙動が異なります。U+200B のようなゼロ幅文字はスペースを消費せず、改行候補位置を示すために存在します。U+2800(点字ブランク)、U+3000(全角スペース)、U+3164(ハングルフィラー)のような「可視だが空白」の文字は、それぞれ 1 文字分のセルを占有しながら画面には何も描画しません。この違いが重要なのは、プラットフォームごとにフィルタの仕方が異なるからです。ほとんどのチャットアプリは先頭・末尾のホワイトスペースを削除し、通常スペース(U+0020)やタブは除去しますが、U+2800 と U+3164 は Unicode 上で記号・文字として分類されているため、そのまま残るケースが多くなります。だからこそ、空のユーザー名や空白メッセージを欲しい人はこの 2 つに行き着きます。
空白テキストの実用的な用途
空白文字ごとに挙動が違う理由
Unicode は各文字に一般カテゴリ(general category)を割り当てており、そのカテゴリによってプラットフォームでの扱いが決まります。U+0020(通常スペース)は Space Separator、U+200B(ゼロ幅スペース)は Format、U+2800(点字ブランク)は Symbol、U+3164(ハングルフィラー)は Letter、U+3000(全角スペース)は通常スペースと同じ Space Separator ただし全角、という分類です。チャットアプリが trim-whitespace ルーチンを走らせると、典型的には Space Separator が除去され、Format も時々対象になりますが、Symbol と Letter は残されます。だから点字ブランクとハングルフィラーは機能し、ゼロ幅スペースは stripping されるのです。2 つ目の変数は幅です。ゼロ幅文字は視覚的コストゼロですが、テキストを押し広げないためインデントには使えません。U+3000 は 1 em の幅を持ち、だからこそ CJK テキストでは通常スペースを重ねる代わりに段落インデントに使われます。U+2800 と U+3164 は 1 文字セルを占有するため、文字数を数えるユーザー名欄で空白行を保持するのに向いています。
貼り付ける前のメモ
単独の不可視文字が stripping される場合は 3 個か 5 個貼ってみてください。単独文字だけをトリムするフィルタもあります。
点字ブランク(U+2800)とハングルフィラー(U+3164)はホワイトスペース stripping を生き残ります。ゼロ幅スペース(U+200B)は生き残らないことが多いです。
全角スペース(U+3000)は 1 em の幅を持ちます。空白というより隙間として見えるため、空白ユーザー名ではなく CJK のインデントに使ってください。
一部の Android ビルドでは点字ブランクが薄い点線のボックスとして描画されます。頼る前に別デバイスでも確認を。
Discord のメッセージには最低 1 文字必要です。U+3164 はその要件を満たし、チャンネルの誰にも空白に見えます。
空白文字をハッシュタグや @メンションの中に入れないでください。リンクが壊れ、メンションも解決しません。
ゲームのサポートはアップデートのたびに変わります。前シーズンの PUBG で機能したものが今はフィルタされているかもしれません。まずプライベートマッチで試しましょう。
ウェブサイトや PDF からコピーしたテキストには不可視文字が含まれていることがあります。挙動がおかしければディテクタに貼って調べてください。
どの空白文字がどこで機能するか
ハングルフィラー(U+3164)の受け入れが最も広く、Discord のニックネームとメッセージ、Instagram のバイオとコメント、TikTok のバイオ、WhatsApp、Reddit のすべてでバリデーションを通過します。点字ブランク(U+2800)がそれに続き、モデレーション Bot がハングル文字をフィルタする場合はこちらがより良い選択肢になります。ゼロ幅スペース(U+200B)はブラウザやほとんどのテキスト欄で機能しますが、積極的に trim するチャットアプリでは stripping されます。TikTok は特にバイオからこれを除去します。全角スペース(U+3000)は CJK 言語のインターフェースや全角テキストを受け付ける欄では尊重されますが、何もない状態ではなく目に見える隙間として描画されます。Discord のユーザー名(@ハンドル)は 2023 年時点で小文字英数字のみを受け付けるため、ここでは不可視文字は一切機能しません。機能するのはサーバーニックネームと表示名だけです。
