2010-03-04 曇り [長年日記]
_1 xyzzyで現在のIMEの状態によらずワンキーでIMEをON/OFFする方法
現在のIMEの状態を判別し,ON/OFFするコードを書いてみた.「xyzzy 0.2.2.235」と「Windows XP Tablet PC Edition 2005 Version 2002 Service Pack3英語版」(名前長いな)で動作確認済.
(defun ime-off ()
  (interactive)
  (if (get-ime-mode)
      (toggle-ime nil)))
(defun ime-on ()
  (interactive)
  (if (not (get-ime-mode))
      (toggle-ime t)))
(global-set-key #\End  'ime-off)
(global-set-key #\Home 'ime-on)
もともとHome/Endにはそれぞれbeginning-of-buffer/end-of-bufferを割り当てていたのだが,ぜんぜん使っていなかったのでIME ON/OFFを割り当てることに.
HHK Pro2を使っているので,SW1をON,SW2をOFFにしてLite Ext.モードにする.次にkeyswapを使い右WindowsキーをHomeに,左WindowsキーをEndに割り当てる.これでスペースバーの両サイドのキーによってIME ON/OFFが切り替えられるように.日本語配列なら変換/無変換に割り当てるだけで済むのだが英語配列はそのキーがないのでこのようにならざるを得ない.
もともとはGoogle日本語入力側でIME ON/OFFのキーバインドを任意のものに変更したかったのだが,たいがいのキー入力はアプリケーション側にとられてしまい自由に変更できなかったのでxyzzyだけでもと思ってこのようにした.
	
		 Happy Hacking Keyboard Professional2 白 PD-KB400W
		
			Happy Hacking Keyboard Professional2 白 PD-KB400W
			
			PFU
			¥ 20,923
		
	
_2 NTEmacs + M+1VM+IPAG circle
mrknさんのM+2VM IPAG Circleの設定を元に,M+2となっている部分をM+1に書き換えただけ.
なおasciiに設定されているBitstream Vera Sans Monoは http://ftp.gnome.org/pub/GNOME/sources/ttf-bitstream-vera/1.10/からダウンロード可能.展開したものすべてをインストールする必要はなく,VeraMono.ttf だけをインストールすればOK.
Shift+右クリックでポップアップが出るのでFontset→mp1vmを選択すればOK.
(cond
 ((and (featurep 'dos-w32)
       (not (featurep 'meadow)))
  (require 'ntemacs-font)
  (defvar ntemacs-font-encoding-family-list-mp1vm
    '((ascii . "Bitstream Vera Sans Mono")
      (japanese-jisx0208 . "M\?1VM\?IPAG circle*")
      (katakana-jisx0201 . "M\?1VM\?IPAG circle*")
      (chinese-gb2312 . "Arial Unicode MS*")
      (chinese-big5-1 . "Arial Unicode MS*")
      (korean-ksc5601 . "Arial Unicode MS*")
      (mule-unicode-0100-24ff . "Arial Unicode MS*")
      (mule-unicode-e000-ffff . "Arial Unicode MS*")))
  (defvar fixed-width-scale-alist-bvsm
    '(("7" . 0.8) ("8" . 0.8) ("9" . 0.9) ("10" . 0.9) ("11" . 0.9) ("12" . 0.9)
      ("14" . 0.9) ("16" . 0.9) ("18" . 0.9) ("20" . 0.9) ("24" . 0.95)))
  (fixed-width-create-fontset "mp1vm"
                              ntemacs-font-defined-sizes
                              ntemacs-font-encoding-family-list-mp1vm)
  ;; (add-to-list 'face-font-rescale-alist
  ;;              '(".*Bitstream Vera Sans Mono.*" . 0.9))
  (add-to-list 'fixed-width-get-scale-alist
               '(".*M.1VM.IPAG circle.*jisx02.*" .
                 (("7" . 1.1)   ("8" . 1.2)  ("9" . 1.1)
                  ("10" . 1.1)  ("11" . 1.2) ("12" . 1.2)
                  ("14" . 1.2)  ("16" . 1.3) ("18" . 1.3)
                  ("20" . 1.25) ("24" . 1.2))))
  ))


 ツッコミあり
ツッコミあり