61 lines
1.7 KiB
EmacsLisp
61 lines
1.7 KiB
EmacsLisp
;;; input/chinese/config.el -*- lexical-binding: t; -*-
|
|
|
|
(def-package! pyim
|
|
:unless (featurep! +wubi)
|
|
:config
|
|
(setq pyim-dcache-directory (concat doom-cache-dir "pyim/")
|
|
pyim-page-tooltip t
|
|
default-input-method "pyim"))
|
|
|
|
|
|
(def-package! chinese-wbim
|
|
:when (featurep! +wubi)
|
|
:init
|
|
(setq chinese-wbim-use-tooltip nil) ; tooptip isn't good enough
|
|
:config
|
|
(setq default-input-method 'chinese-wubi)
|
|
|
|
(autoload 'chinese-wbim-use-package "chinese-wubi"
|
|
"Another emacs input method")
|
|
(register-input-method
|
|
"chinese-wubi" "euc-cn" 'chinese-wbim-use-package
|
|
"五笔" "汉字五笔输入法" "wb.txt")
|
|
(require 'chinese-wbim-extra)
|
|
(global-set-key ";" 'chinese-wbim-insert-ascii))
|
|
|
|
|
|
(def-package! pangu-spacing
|
|
:hook (doom-after-init . global-pangu-spacing-mode)
|
|
:config
|
|
;; Always insert `real' space in org-mode.
|
|
(setq-hook! 'org-mode-hook pangu-spacing-real-insert-separtor t))
|
|
|
|
|
|
(def-package! fcitx
|
|
:when (executable-find "fcitx-remote")
|
|
:after evil
|
|
:config (fcitx-evil-turn-on))
|
|
|
|
|
|
(def-package! ace-pinyin
|
|
:after (:or avy ace-window)
|
|
:config
|
|
(setq ace-pinyin-use-avy t)
|
|
(ace-pinyin-global-mode t))
|
|
|
|
|
|
;;
|
|
;;; Hacks
|
|
|
|
(defun +chinese*org-html-paragraph (paragraph contents info)
|
|
"Join consecutive Chinese lines into a single long line without unwanted space
|
|
when exporting org-mode to html."
|
|
(let* ((fix-regexp "[[:multibyte:]]")
|
|
(origin-contents contents)
|
|
(fixed-contents
|
|
(replace-regexp-in-string
|
|
(concat "\\(" fix-regexp "\\) *\n *\\(" fix-regexp "\\)")
|
|
"\\1\\2"
|
|
origin-contents)))
|
|
(list paragraph fixed-contents info)))
|
|
(advice-add #'org-html-paragraph :filter-args #'+chinese*org-html-paragraph)
|