sci

最果て風呂

ダイアクリティカルマーク

StackOverflow で質問されていたもの。下の画像↓

f:id:nakinor:20170103193159p:plain

「文字化け」の意味がわからなくて(リンク先はなぜか見れない)、普段は使っていない Safari を立ち上げて見てみました。「ᙏ」と「̤」と「̫」が結合されてウサギの顔のように表示されますね。下の画像↓

f:id:nakinor:20170103193227p:plain

文字化けというか、表示がずれるという意味ならば、Firefox ではダメということになりますね。Chrome は持っていないのでわかりません。

この文章は (Cocoa)Emacs で入力しているのですが、こちらでは結合されず横に並んで見えます。下の画像↓

f:id:nakinor:20170103193236p:plain

Vim では下の行と重なってしまうけれども、なんとなく顔のように見えました。下の画像↓

f:id:nakinor:20170103193245p:plain

こういう表示系の仕事ってターミナル側の仕事なのでしょうか?ということで iTerm2 で試してみると、こちらでもちゃんと見えました。さらに試しでターミナルで起動した Emacs で見ると、こちらも問題なく見えます。下の画像↓

f:id:nakinor:20170103193255p:plain

その他にもテキストエディットや CotEditor で確認してみましたが、どちらもウサギさんに見えました。下の画像↓

f:id:nakinor:20170103193302p:plain f:id:nakinor:20170103193308p:plain

やはり調整をするのは表示を受け持つ側の仕事なのかしらね。

Gopher 君(ʕ◔ϖ◔ʔ)が流行ってから、多様な文字を目にするようになりましたが、今回のものは初めてです。それぞれの文字を調べてみると下記の表のようになりました。

文字 Unicode UTF-8
x164f E1 99 8F CANADIAN SYLLABICS CARRIER SO
̤ x0324 CC A4 COMBINING DIAERESIS BELOW
̫ x032b CC AB COMBINING INVERTED DOUBLE ARCH BELOW

U+0300 から U+036F まではダイアクリティカルマークというものらしいです。そして Non Spacing Mark といって、字幅のない記号なのだとか。こうなるとやっぱり表示に関して言えばエディタ側ではなくターミナル・ブラウザ側の仕事になるんでしょうね。

脱線。私は日記を sqlite3 に入れて、ブラウザで検索するという事をしています(ファイル数が多くて howm ではもう遅くて……)。このようにして表示した場合は、「ᙏ」と「未」と「湊」で表示されてしまいます。これは DB に出し入れする際に何かが生じているのでしょうね。下の画像↓

f:id:nakinor:20170103193316p:plain

(ちなみに文字参照の形「ᙏ」「̤」「̫」にすると、文字化けをせず、それぞれのグリフが表示されます。しかし結合に関しては、今まで見てきたものと同じ挙動です)

結論

拡大表示する前は、ウサギというよりも少年アシベに見えました。リ〜トゥ〜ダ〜〜○ン。