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などへのコピペは綺麗にできている.しばらく様子見.

2013年03月11日22時52分 | Permalink | 0 Comments | このエントリーを含むはてなブックマーク