Tuesday, May 12, 2015

Emacs - Chinese setting

;;;; dot ----------------------------
;;;; 1. load with default (with hangul)
;;;; 2. load chinese setting -> chinese ==> f10
;;;; 3. change chinese -> korean ==> M-SPC = change font in english mode with chinese
;;;; 4. change korean -> chinese ==> f2 = my-inconsolata-hangul

(defun my-inconsolata-china ()
  (interactive)  "set font"
  (set-frame-font "Inconsolata 12")
; (set-face-attribute 'default nil :height 100)
  (load "d:/Pkg/emacs/lib/dot/init-china.el"))

(global-set-key [f10] 'my-inconsolata-china)
;(my-inconsolata-china)

(defun my-inconsolata-hangul ()
  (interactive)  "load set hangul"
; (set-frame-font "Inconsolata 12")
; (set-face-attribute 'default nil :height 100)
  (activate-input-method "korean-hangul"))

(global-unset-key (kbd "M-SPC"))
(global-set-key (kbd "M-SPC") 'my-change2-chinese)

(defun my-change2-chinese ()
  (interactive)  "set hangul input"
; (set-keyboard-coding-system 'chinese-iso-8bit)   ; input
; (set-language-environment "Chinese-GB18030")
  (load "d:/Pkg/emacs/lib/dot/init-china.el")
  (toggle-input-method)
)

;(global-unset-key [f2] 'my-inconsolata-hangul)
(global-set-key [f2] 'my-inconsolata-hangul)

;;;; init-china.el --------------------------------
;;;; --------------------------------------------------------------------------------
;;;; -- Chinese

;;;; -- chinese language
(set-keyboard-coding-system 'chinese-iso-8bit)   ; input
;(set-selection-coding-system 'chinese-iso-8bit)  ; copy/paste

;(setq w32-enable-synthesized-fonts t)

(if (not (member '("-*-courier new-normal-r-*-*-13-*-*-*-c-*-fontset-chinese" . "fontset-chinese") fontset-alias-alist))
    (progn
        (create-fontset-from-fontset-spec    ; chinese fontset
        "-*-Courier New-normal-r-*-*-14-*-*-*-c-*-fontset-chinese,
         chinese-gb2312:-*-MS Song-normal-r-*-*-12-*-*-*-c-*-gb2312*-*,
         chinese-big5-1:-*-MingLiU-normal-r-*-*-12-*-*-*-c-*-big5*-*,
         chinese-big5-2:-*-MingLiU-normal-r-*-*-12-*-*-*-c-*-big5*-*" t)
         (setq default-frame-alist
            (append
             '((font . "fontset-chinese"))
             default-frame-alist))
    )
)

(set-language-environment "Chinese-GB18030")
;(setq file-name-coding-system 'gb18030)

;;set font
; Microsoft JhengHei / ???? /
;    (set-fontset-font "fontset-default"
;    'gb18030 '("Microsoft YaHei" . "unicode-bmp"))
;;?????????????? :pixelsize=18:foundry=monotype:weight=medium:slant=i:width=normal
;;????????M-x describe-char??????

;; (if (eq system-type 'windows-nt)
;;     (set-default-font "Courier New")
;; (set-default-font "Bitstream Vera Sans Mono"))
;(set-frame-font "YaHei Consolas Hybrid-12")

(set-fontset-font "fontset-default" 'han '("Microsoft YaHei". "unicode-bmp"))
;;(frame-parameter nil 'font)?????fontset-default???
(set-fontset-font (frame-parameter nil 'font) 'cjk-misc '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'bopomofo '("Microsoft YaHei" . "unicode-bmp"))
(set-fontset-font "fontset-default"    'gb18030 '("Microsoft YaHei". "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font) 'symbol '("Microsoft YaHei". "unicode-bmp"))

;;;; ----------------------------------------
;;;; -- eim
;(load (concat emacs-lib-path "dot/init-china.el"))
;;;; -- use eim input
(setq load-path (append load-path (list (concat emacs-lib-path "eim"))))
(autoload 'eim-use-package "eim" "Another emacs input method")

;; Tooltip 暂时还不好用
(setq eim-use-tooltip nil)

(register-input-method "eim-wb" "euc-cn" 'eim-use-package "五笔" "汉字五笔输入法" "wb.txt")
(register-input-method "eim-py" "euc-cn" 'eim-use-package "拼音" "汉字拼音输入法" "py.txt")

;; 用 ; 暂时输入英文
(require 'eim-extra)
;(global-set-key ";" 'eim-insert-ascii)

(set-frame-font "Inconsolata 12")
;(set-face-attribute 'default nil :height 100)

;;;; end of chinese
;;;; --------------------------------------------------------------------------------

No comments:

Pranten

 Pranten