読者です 読者をやめる 読者になる 読者になる

意識の高いLISPマシン

藤原惟/すかいゆき(@sky_y)の技術用ブログ

Emacs小ネタ: MacでPDFからコピーすると濁点が分離する問題を直す

Emacs

Macでは、PDFからコピーすると濁点が分離する問題があります。

参考: PDFからコピーした濁点/半濁点付きの文字列をFirefoxに貼り付けた時におかしくなる問題の対処方法 - 強火で進め

それをEmacs上で直すelispを書いてみました。

;; ucs-normalize-NFC-region で濁点分離を直す
;; M-x ucs-normalize-NFC-buffer または "C-x RET u" で、
;; バッファ全体の濁点分離を直します。
;; 参考:
;; http://d.hatena.ne.jp/nakamura001/20120529/1338305696 
;; http://www.sakito.com/2010/05/mac-os-x-normalization.html

(require 'ucs-normalize)
(prefer-coding-system 'utf-8-hfs)
(setq file-name-coding-system 'utf-8-hfs)
(setq locale-coding-system 'utf-8-hfs)

(defun ucs-normalize-NFC-buffer ()
  (interactive)
  (ucs-normalize-NFC-region (point-min) (point-max))
  )

(global-set-key (kbd "C-x RET u") 'ucs-normalize-NFC-buffer)

また、例のごとくgistに上げています。よければお使いください。

Emacs: MacでPDFからコピーすると濁点が分離する問題を直す

追記

(require 'ucs-normalize) しておくと、ucs-normalize-NFC-regionという関数が使えます。

濁点分離を直したい部分をリージョン選択して、「M-x ucs-normalize-NFC-region」でその部分だけ直ります。