ASCIIのツリーがどれも斜線でできている理由
プレーンテキストには斜めの線がなく、格子に並んだ文字があるだけなので、もともと傾いている文字を借ります。/ と \ がツリーの両側になり、^ は一つのマスに両方の傾きを詰め込んでいるため、キャレットのツリーは遠目にモミの木に見えます。一段ごとに左右へ一列ずつ広がるので、枝が五段のツリーは根元で九文字の幅になります。奇数の幅には意味があります。本当の中央列が一本残り、そこに星の * と幹の [_] を左右に傾けずに置けるのです。
アスタリスク、アンダースコア、キャレットはチャットの書式に食われる
Markdown は、これらの絵が頼っている文字のいくつかを書式として扱います。Discord や Slack では、同じ行に * が二つあると間の文字が斜体になって星が消え、雪だるまの _===_ の帽子も同じようにアンダースコアを失うことがあります。Reddit は ^ を上付き文字の始まりとして読むので、キャレットのツリーが崩れます。もう一つの問題はプロポーショナルフォントで、空白とスラッシュが同じ幅を取らなくなります。Discord ではバッククォート三つで囲み、Reddit では各行の先頭に空白を四つ入れると、どちらのアプリも文字を一切いじらない固定幅のブロックに切り替わります。
カラー絵文字に化ける雪だるまと雪の結晶
☃ は U+2603 SNOWMAN、❄ は U+2744 SNOWFLAKE で、どちらも絵文字が生まれるずっと前の Unicode 1.1(1993年)で収録されています。その後それぞれに絵文字の形も与えられたため、一部のスマホやアプリはカラーの絵として描き直し、一文字が周りの文字の倍の幅になることがあります。文字の直後に異体字セレクタ U+FE0E を付けるとテキスト表示を求められますが、すべてのアプリが従うわけではありません。❅ U+2745 と ❆ U+2746 は絵文字の形を持たないので単色のままで、位置をそろえた絵の中ではこちらが安全です。
