2008-07-04

「神(示申)」と「神」

Twitter で、kazuho さん曰く

・kazuho 例: Mac 版 Firefox では「示申」をクリップボードへコピーすると「神」になる about 7 hours ago from web
・kazuho Mac 版 Firefox からクリップボード経由でコピーする際に NFC が行われて異体字が変換されてしまうのか about 7 hours ago from web
ということなので、文字コード関連は苦手なのだけど、ちょっと実験してみた。

だいたい書き終わって下書きを保存すると「示申」が全部「ネ申」に書き換えられてしまっていた。しかたがないので、上の引用も以下の本文も「示申」と「ネ申」と書き直したが、本当はどちらも一文字のもの。これは Blogger の問題か、Safari の問題か、あるいは Mac OS X の方の問題かよく分からないけど。

まずは Safari。ちゃんと表示は区別されている。「示申」をコピーするとその中味は以下の通り。
[mbp15:/tmp] rok% pbdutil -r text | hexdump
0000000 ef a8 99
0000003
次に「ネ申」だとこう。
[mbp15:/tmp] rok% pbdutil -r text | hexdump
0000000 e7 a5 9e
0000003
ちなみに、Sarafi からテキストをコピーすると、以下のように 16種類のデータが入っている。
[mbp15:/tmp] rok% pbdutil -lvvv
Available type(s):
com.apple.webarchive (size: 918)
Apple Web Archive pasteboard type (size: 918)
public.rtf (size: 195)
NeXT Rich Text Format v1.0 pasteboard type (size: 195)
public.utf8-plain-text (size: 3)
NSStringPboardType (size: 3)
dyn.agu8y63n2nuuha5dbrf1ca2pxqry0wkduqf31k3pcr7u1e3basv61a3k (size: 1)
NeXT plain ascii pasteboard type (size: 1)
public.utf16-external-plain-text (size: 4)
CorePasteboardFlavorType 0x75743136 (size: 4)
dyn.agk81n65yru (size: 148)
CorePasteboardFlavorType 0x7573746C (size: 148)
com.apple.traditional-mac-plain-text (size: 1)
CorePasteboardFlavorType 0x54455854 (size: 1)
dyn.agk81g7d3ru (size: 22)
CorePasteboardFlavorType 0x7374796C (size: 22)
これらの中から貼り付けられる側のアプリケーションが適切なタイプを指定して取り出すことになる。例で pbdutil コマンドで -r text と指定して取り出しているのは NSStringPboardType のもの。TextEdit.app をリッチテキストの編集モードにしていたり、ワープロなんかにペーストすると RTF のデータが使われるのだと思う。

さて、自分が使っている MacBook Pro には Firefox は 3.0 をインストールしていないので 2.0.0.15 で試してみる。
こちらは表示上は区別されずにどちらも「ネ申」になってしまっている。フォントはヒラギノ角ゴProW3(のはず)。さきほどと同じように前の「神」 (Safari で「示申」と表示されている方)をコピーすると、その中味は以下のように Safari から「示申」をコピーした場合と変わらない。
[mbp15:/tmp] rok% pbdutil -r text | hexdump
0000000 ef a8 99
0000003
「神」をコピーしたときも Safari と同様に 「e7 a5 9e」となる。

というわけで、ペーストされる側のアプリケーションが NSStringPboardType のデータを要求する限りにおいては Firefox 2.0 では表示上は区別できていなくても実データは区別できているみたいだ。ちなみに、VMware 上の Windows XP で動作している Firefox では Safari と同じ挙動を示す。kazuhoさんの言われるような挙動が観察されるということは Mac 版の Firefox 3 が変わっているのかもしれない。時間ができたら Firefox 3 をインストールして試してみよう。

参考: pbdutil コマンドについては 6 x 3: コマンドラインでコピペ あたりから手繰ってください。

追記: Blogger Draft と標準の Blogger の投稿エディタは混ぜて使わないほうがいいみたい。改行が全部なくなって大変なことになってしまった。しばらく使うのはやめておこう。なんか画像の配置もむずかしい……。これももしかして Safari 依存の問題?

No comments: