2013年03月11日(月)
utf-8-hfs な Emacs から日本語を pbcopy した際の NFD / NFC 問題対策
コンピュータに関するりばにしの記事
2013年03月12日追記:どうやら言語設定をutf-8-hfsにしているのがそもそもの問題のようで.utf-8に変更しました.よって,この記事に書いてあることは用済みです笑
普段,Macで使っているEmacsの言語設定はutf-8-hfsにしてあるのですが,このEmacs(厳密にはiTerm2上でtmuxをした上で使っているEmacsだけど)で日本語をコピーして,OfficeのWordなんかに貼り付けた際に,濁点・半濁点部分が分解されてしまう,いわゆるNFD/NFCの扱いの問題に遭遇.
今まで,EmacsとMacのアプリとの間でコピペする設定としては,下記のサイトの設定を使わせていただいていた.
若き日の過ち: キルリングとクリップボードの共有(とりあえずMac)
macのコマンドpbcopyとpbpasteを利用しているだけだ。
from hakurei-shain.blogspot.jp at 2013年03月11日22時48分
しかし,Emacs上でのutf-8-hfs(iconvで言うところのUTF-8-MACなのかな?)として扱っていた文字列をpbcopyして,OfficeのWordなどに持って行く際に,utf-8(iconvで言うところのUTF-8かな?)にしてくれず,どうやらutf-8-hfsのままになっているようだ.
この状態では,濁点・半濁点部分に赤線が引かれるわ,他の人とファイルを共有した際に「読めない」と怒られるわで,困っていた.
ので,上記のサイトでpbcopyを呼ぶところを改造して,iconvでUTF-8-MACからUTF-8に変換してから,pbcopyに食わせるようにしてみた.って,実際はそういうスクリプトを作って,それを呼ぶようにした感じ.
ひとまず,OfficeのWordなどへのコピペは綺麗にできている.しばらく様子見.