UTF 8 設定めも - wachikun/yaskkserv2 GitHub Wiki
UTF-8 設定めも
実際に UTF-8 で運用している設定のメモです。 絵文字も問題なく使えています。
EUC から移行するならば、個人辞書のバックアップを忘れずに。
.emacs.d/init.el
;; ddskk の utf-8 設定
(setq skk-jisyo-code 'utf-8)
;; ddskk <- yaskkserv2 のみ utf-8 で通信するための設定
(defun skk-open-server-decoding-utf-8 ()
"辞書サーバと接続する。サーバープロセスを返す。 decoding coding-system が euc ではなく utf8 となる。"
(unless (skk-server-live-p)
(setq skkserv-process (skk-open-server-1))
(when (skk-server-live-p)
(let ((code (cdr (assoc "euc" skk-coding-system-alist))))
(set-process-coding-system skkserv-process
'utf-8 code))))
skkserv-process)
(setq skk-mode-hook '(lambda ()
(advice-add 'skk-open-server :override 'skk-open-server-decoding-utf-8)))
;; 絵文字を表示するには Cairo 版 Emacs (HEAD はデフォルトで Cairo が使われるはず) で下記設定も必要 (2021年4月4日(日) 現在)
(progn
(set-fontset-font t 'unicode (face-attribute 'default :family))
(set-fontset-font t '(#x2300 . #x27e7) "Noto Color Emoji" nil 'append)
(set-fontset-font t '(#x27F0 . #x1FAFF) "Noto Color Emoji" nil 'append))
辞書の作成
下記辞書を使わせていただいています。
- https://github.com/skk-dev/dict
- https://github.com/dyama/skk-dict-kancolle
- https://github.com/ymrl/SKK-JISYO.emoji-ja
- https://github.com/uasi/skk-emoji-jisyo
yaskkserv2_make_dictionary は必要な場合のみ自前で辞書の文字コード変換をするので、事前に nkf などで変換をせず、そのまま指定することに注意が必要です。
絵文字など、 UTF-8 <-> EUC 変換できない文字がありますので、入力も出力も UTF-8 にしている所がミソです。
$ yaskkserv2_make_dictionary --utf8 --dictionary-filename=SKK-JISYO.total+zipcode+kancolle.emoji.yaskkserv2.utf8 SKK-JISYO.total+zipcode SKK-JISYO.kancolle SKK-JISYO.emoji-ja.utf8 SKK-JISYO.emoji.utf8
yaskkserv2 の起動
yaskkserv2 --google-suggest --google-cache-filename=/CACHE-PATH/yaskkserv2_test.cache.utf8 /DIC-PATH/SKK-JISYO.total+zipcode+kancolle+emoji.yaskkserv2.utf8