<2013.01.21追記>
スマホからこのページ見てみると、
意図したとおりに表示されてないことに気がつきました^^;
表示がおかしい箇所については画像にして置き換えています。
ブラウザが対応してないんでしょうかね?
文字コードの問題にはいつも悩まされます。。。
妻から「Twitterで行をはみ出した顔文字があるんだけど、これはなに?」
と聞かれました。
どれどれと見てみると、
なんだこれは?私も初めて見ました。
調べてる過程で見つけた情報はかなり前のものもあったので
こういうもの自体はずっと前から使用されてたんでしょう。
私の目には止まらなかっただけで。
で、調べた結果これは「合成用区分符号」というものが使われている模様。
合成用区分符号の正体は
UnicodeでCombining Diacritical Marksと呼ばれる一連のコード
(U+0300からU+036Fまで)
のことらしいです。
これがなんのためにあるのかというと、
ダイアクリティカルマーク(英語:diacritical mark)は、ラテン文字等の文字で、同じ字形の文字であるが、発音が区別されるべき場合に文字に付される記号のこと。あえて日本語の文字で似た概念を探せば、濁点と半濁点に相当するであろう。満州文字における圏点もこれに類似したものといえる。
(Wikipediaより抜粋)
具体的に言うと
ウムラウト:ä, ö, ü
グレイヴ・アクセント:à, è, ì
チルダ:ñ, ã, õ
こういうやつです。
で、これがどうしたの?と思われるかもしれませんが(笑)
コンピュータ上では、例えば「ñ」の場合、”n”+” ̃”(U+0303) → ñ
という具合になっています。
(※よく使われる文字などには独立した文字コードが与えられています)
つまり、UnicodeでCombining Diacritical Marksと呼ばれる一連のコードは
直前の文字に記号を合成することが出来るという裏の使い方が
隠されていたということです!!(そんなにおおげさに言うことでもない)
では、冒頭の顔文字がどうやって作られているかというと。
1.まずは元となる顔文字を用意します。
( °з°)
2.次に合成用のダイアクリティカルマークを用意します。
3.元の顔文字の目の部分”°”の後ろにダイアクリティカルマークを追加します。
4.もう一つ追加します。
5.あとは好きなだけ追加すればOKです。
という感じ。理屈が分かってしまえば簡単ですね。
しかし、問題はダイアクリティカルマークをどうやって入力するか。
今回はこのサイトで生成したものをコピペしてきました。
でも、いちいちそんな面倒なことは出来ませんよね。
iPhoneだったらUnicoder Lite (App Store)というアプリがあるようです。
探してませんが、Androidにも似たようなものがあるんじゃないでしょうか?
PC/Macの場合はどうなんでしょうね?
ここまで調べてみたけど、今後使う事ないだろうなと思ったので最後は手抜きです^^;
コメント