56 lines
1.6 KiB
EmacsLisp
56 lines
1.6 KiB
EmacsLisp
|
;;; input/japanese/config.el -*- lexical-binding: t; -*-
|
||
|
|
||
|
(def-package! migemo
|
||
|
:config
|
||
|
(setq migemo-command "cmigemo"
|
||
|
migemo-options '("-q" "--emacs" "-i" "\a")
|
||
|
migemo-user-dictionary nil
|
||
|
migemo-regex-dictionary nil
|
||
|
migemo-coding-system 'utf-8-unix
|
||
|
search-default-regexp-mode nil
|
||
|
migemo-dictionary "/usr/local/share/migemo/utf-8/migemo-dict")
|
||
|
(migemo-init)
|
||
|
(when (featurep! :completion helm)
|
||
|
(after! helm (helm-migemo-mode +1))))
|
||
|
|
||
|
|
||
|
(use-package pangu-spacing
|
||
|
:init
|
||
|
;; replacing `chinese-two-byte' by `japanese'
|
||
|
(setq pangu-spacing-chinese-before-english-regexp
|
||
|
"\\(?1:\\cj\\)\\(?2:[0-9A-Za-z]\\)"
|
||
|
pangu-spacing-chinese-after-english-regexp
|
||
|
"\\(?1:[0-9A-Za-z]\\)\\(?2:\\cj\\)")
|
||
|
|
||
|
;; Always insert `real' space in text-mode including org-mode.
|
||
|
(setq pangu-spacing-real-insert-separtor t)
|
||
|
;; (global-pangu-spacing-mode 1)
|
||
|
(add-hook 'text-mode-hook !'pangu-spacing-mode))
|
||
|
|
||
|
|
||
|
(def-package! avy-migemo
|
||
|
:after avy
|
||
|
:config (avy-migemo-mode 1))
|
||
|
|
||
|
|
||
|
(def-package! ddskk
|
||
|
:defer t
|
||
|
:bind (("C-x j" . skk-mode)))
|
||
|
|
||
|
|
||
|
;;
|
||
|
;;; Hacks
|
||
|
|
||
|
(defun +japanese*org-html-paragraph (paragraph contents info)
|
||
|
"Join consecutive Japanese 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 #'+japanese*org-html-paragraph)
|