[Main Page] [Emacs(Install)] [Emacs(Setting)] [Canna] [pLaTeX2e] [Misc.] :[Stereo Photo]

日本語入力をなんとかしよう!

NTEmacs(Emacs on Windowz)は、何もしなくても一応MS-IMEで日本語入力が可能です。但し、以下のよ うにWindow左上に表示されてしまい不便です。


MS-IMEを使用したい方は以下にPatchを提供してくれている方がいますので、そち らを入手するといいと思います。(In-Lineで入力が可能となります。)
NTEmacs21 CVS + IME.patch を Build する
IME-Patch CVS-HEAD対応版
Emacs21 で Windows の IME を使う
Emacs on UNIX時は、Canna + ycの組合せで日本語入力をおこなっていたので、こ こでもこれを採用します。要は素のEmacsを使って日本語入力をします。

会社にはUNIXマシンが無いため、Canna Serverを立てることは不可能だと思ってま したが、あるWeb Pageを参考に構築が可能だと知りました。 実際の構築方法は、[Canna]のPageに書きますので、 そちらを見て下さい。

Canna Serverが立ち上がったら、"yc"を入手します。"yc"は以下のPageに あります。

http://www.ceres.dti.ne.jp/~knak/yc.html
入手したら、"\\emacs-21.3\site-lisp"に入れておきましょう。

ここで、Home Directoryに指定したフォルダに".emacs"というファイルを作成し、 以下を参考に記述しておきます(好みがあるので設定は御自由に…)。

;;; yc(yet another canna)
; 一覧モードになる繰り返し数-1を指定する。デフォルトは3回。
(setq yc-select-count 2)
; 変換キーを指定する。デフォルトは \C-j
(setq yc-rK-trans-key "\C-j")
; 変換文字列を取り込む時に変換範囲に含めない文字列を指定する
(setq yc-stop-chars "(){}\"\'$%&`=~^/\\|1234567890;:+*")
; かんなサーバホスト名を指定する。デフォルトは nil
(setq yc-server-host "localhost")
; YC のトグル範囲の指定。yc-toggle-global で yc の on/off が全バッファに有効
; yc-toggle-buffer でバッファ毎に yc を on/off 可能とする。デフォルトは
; yc-toggle-buffer。
(setq yc-toggle-level 'yc-toggle-global)
(load "yc")
(global-yc-mode 1)
(setq yc-use-color t)
(setq yc-use-fence (not (eq window-system 'x)))
(global-set-key "\M-\ " 'yc-mode)
(global-set-key "\C-o" 'yc-mode)
NTEmacs(Emacs on Windowz)を立ち上げれば、"yc"本来の使い方以外にも、"C-\"で日本語入力On/Offが 出来ます。"yc"の使い方については、上記 Pageを参照して下さい。基本的に"C-j"だけですけど… :p

BDF Fontにしよう!(old)

何もしなくともMSのFontで表示は出来ますが、ここではやはり見慣れたFontで表示 したいですよね。NTEmacs(Emacs on Windowz)はBDF Fontが使えるので、その設定方法を書きます。 Webを検索するとMeadowの設定方法は良く見かけますが、NTEmacs(Emacs on Windowz)に関しては、 http://www.gnu.org/software/emacs/windows/faq5.html#bdf-fonts に設定方法が載っているのが唯一です。説明通りに設定すれば16dot Fontは表示で きますが、14dot Fontにする方法が自分には理解できませんでした。
試行錯誤の結果、以下の方法で落ち着きましたので紹介します。

まず、FreeのBDF Font Shinonome"東雲"Fontを使うことにします。Shinonome Fontは以下より入手出来ます。

http://openlab.jp/efont/shinonome/
その中のshinonome-0.9.10.tar.bz2 をDownloadし、解凍/展開します。tar + bzip2なので注意して下さい。


展開したら、その中の"*14*"だけを取り出します(今回は14dot Fontのみを使用す るため)。


ここでは、その14dot Fontを"D:\usr\local\fonts\shinonome\bdf"に格納すること にします。格納したら".emacs"に以下のように書きます。
;;; 東雲フォントを使う(Gothic)
(setq w32-bdf-filename-alist
      (w32-find-bdf-fonts '("d:/usr/local/fonts/shinonome/bdf")))
(create-fontset-from-fontset-spec
 "-*-Fixed-Medium-R-Normal-*-14-*-*-*-C-*-fontset-bdf,
    ascii:-Shinonome-Gothic-Medium-R-Normal--14-130-75-75-C-70-ISO8859-1,
    japanese-jisx0208:-Shinonome-Gothic-Medium-R-Normal--14-130-75-75-C-140-JISX0208.1990-0,
    katakana-jisx0201:-Shinonome-Gothic-Medium-R-Normal--14-130-75-75-C-70-JISX0201.1976-0" nil 1)

(setq font-encoding-alist
      (append 
       '(("JISX0208" (japanese-jisx0208 . 0))
         ("JISX0212" (japanese-jisx0212 . 0))) font-encoding-alist))

;; font-select menu SHFT-mouse1
(setq w32-use-w32-font-dialog nil)

;; Frame Setting
(setq default-frame-alist
      '((foreground-color . "black")
        (background-color . "snow")
        (cursor-color     . "blue")
        (font             . "fontset-bdf")
        ))
これで、NTEmacs(Emacs on Windowz)を立ち上げれば、以下のように表示されるはずです。 上が"東雲 14dot Font"で、下が"MS ゴシック 10dot Font"です。 どちらが良いかは、人の好みですが…



えせBDF Fontにしよう!(new)

NTEmacs(Emacs on Windowz)はBDF Fontが使えますが、なぜか"東雲 12dot Font"や"要町Font"が使用で きず(設定できず)困っていました。
そこで、BDF FontをWindowzのTTF(True Type Font)に変換したものを使用し、あた かもBDF Fontで表示してしまおうという作戦です。

まず、用意するのは、BDF Font。これは先程の"東雲Font"を使用します。
BDF FontからTTF(True Type Font)に変換するには以下のSoftを使用します。

BDF形式からTTFへコンバート
で、"東雲Font"を変換しようと思ったら、"変換済データ"の所にTTFに変換済みの" 東雲Font"が置いてありました(ラッキー)。
http://www.kaoriya.net/dist/shinonome-2.0.tar.bz2
Download(tar + bzip2)したら、解凍/展開して、WindowzにInstallします。FontのInstallは、
"コントロ−ルパネル" → "フォント" にDrag & Dropする
のみです。 Installを終えたら、".emacs"に以下を設定しましょう。
;;; TrueType-font Setting
(setq w32-use-w32-font-dialog t)

(setq scalable-fonts-allowed t)
(setq w32-enable-synthesized-fonts t)

(create-fontset-from-fontset-spec
 "-*-Courier New-normal-r-*-*-12-*-*-*-c-*-fontset-shinonome,
 japanese-jisx0208:-outline-BDF東雲ゴシック-*-*-normal-normal-12-*-96-96-c-*-jisx0208-sjis,
 latin-jisx0201:-outline-BDF東雲ゴシック-*-*-normal-normal-12-*-96-96-c-*-jisx0201-latin,
 katakana-jisx0201:-outline-BDF東雲ゴシック-*-*-normal-normal-12-*-96-96-c-*-jisx0201-katakana" t)

(setq font-encoding-alist
      (append '(("JISX0201"        (latin-jisx0201 . 0))
                ("JISX0208"        (japanese-jisx0208 . 0))
                ) font-encoding-alist))

;;; Frame parameters
(setq default-frame-alist
      (append '((foreground-color . "black")
                (background-color . "ivory")
                (mouse-color . "SeaGreen")
                (cursor-color . "SeaGreen")
                (scroll-bar-width . 14)
                (width . 110)
                (height . 60)
                (top . 25)
                (left . 80)
                (font . "-outline-BDF東雲ゴシック-*-*-normal-normal-12-*-96-96-c-*-jisx0208-sjis")
                (vertical-scroll-bars . left)
                (line-spacing . 0)
                (cursor-type . box))
              default-frame-alist))

(setq initial-frame-alist default-frame-alist)

どのFontが使用可能か調べるには、以下を評価する方法があります。
(たくさん出て来るので注意!)
(insert (prin1-to-string (x-list-fonts "*")))

※注意
CVS版のNTEmacs(Emacs on Windowz)では、初めに見つかった日本語Fontしか表示できませんでした。
"21.3"ではOKでした。
仕方なく、不要なFontを削除して、表示したいFont(東雲ゴシック)が先頭に来るようにしてます。
誰か設定方法教えて〜。

以上より以下の表示になってます。
(かっこよすぎ〜!)


"mew"でメールを読む/書く

MailerはMewを使います。
これまで、mh-eやWanderlust等も使ってた時期がありましたが、今はMewに落ち着 いています。
MewのInstall方法は、付属のDocumentに詳しく書いてある(日本語だし)のでここで は書きません(リクエストがあれば載せますが… :p)。

Mewは以下より入手できます。

http://www.mew.org/
但し、今回はNTEmacs on Windowzなので、Windowz用のものを入手します。以下に あります。
http://www.mew.org/Win32/index.html
ftp://ftp.mew.org/pub/Mew/Win32/release/MEW33W0.ZIP
また、Mewから添付File等を開く(Toolを起動する)ことが出来るように、以下を入 手しします。
ftp://ftp.mew.org/pub/Mew/Win32/tool/FIBER121.ZIP
Downloadしたら、展開して"fiber.exe"を、NTEmacs(Emacs on Windowz)のInstall DIR("\\emacs-21.3\bin")に入れておきます。

[Mewの設定]
Mewの設定と言っても、sampleとして付属していた(Install時に自動生成する) ".mew.el"をちょっと編集したくらいです(要は簡単だと言うこと)。
編集したのは以下を追加したことくらいかなぁ〜

; PasswordのCache
(setq mew-use-cached-passwd t)
(setq mew-passwd-lifetime '60)

; Summary Format
(setq mew-scan-form
	  '(type (5 date) " | " (-4 size) " | " (14 from) " | " (0 subj)))

; String入れるお遊び
(setq mew-end-of-message-string "[おしまい]")
(setq mew-end-of-part-string "[つづく]")

; Fcc(File Carbon Copy)を使う
(setq mew-fcc "Fcc")

; ""で囲まれたHeaderをDecodeする
(setq mew-decode-quoted t)

; 引用関連
(setq mew-cite-prefix ">> ")
(setq mew-cite-fields '("From:" "Subject:" "Date:" "Message-ID:"))
(setq mew-cite-format "石川です。\n\n「%s」さんは、\n\t「%s」の中で\n\t\t以下のように書きました。\n\n")

; Headerに追加
(setq mew-header-alist '(("X-cite-me:" . "めた") ("X-Priority:" . "3")))

[Signatureの挿入]
Signatureを選択挿入出来るようにするため"c-sig"を使います。"c-sig"は 以下のPageから入手出来ます。
http://www.threeweb.ad.jp/~kshibata/c-sig/
http://www.threeweb.ad.jp/~kshibata/c-sig/programs/c-sig.3.8.tar.gz
[引用文の作成]
Mail Reply時の引用文を楽に作成/編集できるようにするために"xcite"を 使います。"xcite"は以下のPageにあります。
http://www.gentei.org/~yuuji/software/
http://www.gentei.org/~yuuji/software/xcite.el
xciteの詳しい設定/使用方法はelisp内に直接書かれています。(また省略かい… :p)

"navi2ch"で"2ちゃんねる"を読む/書く

"2ちゃんねる"を購読できるようにします。IE等のWeb Browserで見るよりも高速で 操作性が良いため重宝しています。以下のPageから入手できます。
http://navi2ch.sourceforge.net/
Cygwin等のmake環境が無い方は、"navi2ch-1.7-elc.tar.gz"をDownloadしましょう。 その他の方は"navi2ch-1.7.tar.gz"でmakeしましょう。 ここでは、"navi2ch-1.7-elc.tar.gz"をDownloadしたことにして、解凍/展開して 出来たFolder("navi2ch-1.7")を"site-lisp"以下に置きます。

また、navi2chは"gzip"を使用するため、Windowz用のgzipを以下より入手します。

ftp://ftp.m17n.org/pub/mule/Windows/tools/gzip.exe <
Downloadしたら展開して、"gzip.exe"をNTEmacs(Emacs on Windowz)のInstall DIR("\\emacs-21.3\bin")に入れておきます。

その後、以下を".emacs"に書きます。

(require 'navi2ch)
;;; Proxy Server使用する人は以下を設定
;(setq navi2ch-net-http-proxy "[あなたの使用するProxy Server]")
あとは、NTEmacs(Emacs on Windowz)を起動し、"M-x navi2ch[RET]"とするだけです。 起動画面は以下のようになります。


Emacsでネットサーフィン?(Web Browsin)

[Misc.]のPageで書いたw3mを入れて、更に以下の elispをInstallすることで、EmacsのBuffer上でWeb閲覧が出来るようになります。 詳細は以下のPageにあります。
http://emacs-w3m.namazu.org/
そこにある、以下をDownloadします。
http://emacs-w3m.namazu.org/emacs-w3m-1.3.6.tar.gz
Downloadしたら解凍/展開し、コマンドプロンプトやCygTerm等で以下を実行します。
emacs -batch -q -no-site-file -l w3mhack.el NONE -f w3mhack-nonunix-install
~/.emacsに以下を追加します。
(autoload 'w3m "w3m" "Interface for w3m on Emacs." t)
"M-x w3m[RET]"とすることで、以下のようになります。


その他、設定してること (こんなもん!?)

う〜ん、他に設定してること紹介しろっていってもなぁ〜。
まぁこんな感じのを設定してるので、"これだ!"と思ったやつを".emacs"に 入れてみて下さい。

[coding-system設定]
Windowzなので基本は"Shift-JIS"にしてます。

;;; coding-system設定
(set-language-environment "japanese")
(set-terminal-coding-system 'sjis) 
(set-clipboard-coding-system 'sjis-dos)
(set-default-coding-systems 'sjis-dos)
(set-keyboard-coding-system 'sjis-dos)
(setq file-name-coding-system 'sjis-dos)
(setq network-coding-system-alist 
	  '(("nntp" . (junet-unix . junet-unix))
		(110 . (no-conversion . no-conversion))
		(25 . (no-conversion . no-conversion))))
(setq default-buffer-file-coding-system 'sjis-dos)
[Window Title名の表示設定]
"NTEmacs"と表示したかっただけです。おまぬけ…
(setq frame-title-format "NT%F")
[display-time]
あれっ? うまくいってない気が…
(setq display-time-string-forms '((if mail "[メールが届いてます]" "")))
(display-time)
[mode-line表示]
cursolの行列位置をMode Lineに表示
(line-number-mode 1)
(column-number-mode 1)
[行全体を一度に削除]
(setq kill-whole-line t)
[括弧の対応]
(require 'paren)
(show-paren-mode)
[~/.save-* を作らない]
邪魔だから…
(setq auto-save-list-file-prefix nil)
(setq auto-save-list-file-name nil)
[~/.BAKにbackup-file保存]
Back Up Fileはここに一括管理する
(setq backup-directory-alist (quote (("" . "~/.BAK/"))))
[cursorの色]
(cond ((eq window-system 'w32) (set-cursor-color "Blue")))
[ベルを鳴らさない]
(setq visible-bell 't)
[tabの幅設定]
(setq-default tab-width 4)
[scrollの設定]
Scrollの動作とScroll Barの設定
(setq scroll-step 0)
(custom-set-variables
 '(scroll-bar-mode (quote left)))
[menu barの設定]
Menu Barは使用しないので(動作が軽くなるよ)
(menu-bar-mode 0)
[検索時に大文字小文字を区別しない]
(setq-default case-fold-search t)
(setq-default case-replace t)
[選択した所をDELキーで削除する]
(pending-delete-mode 1)
[マウスの位置にペーストする]
(setq-default mouse-yank-at-point nil)
[バッファの末尾に余計な空白行が出来るのを防ぐ]
(setq-default next-line-add-newlines nil)
[実行したコマンドのキーバインドを教えてくれる]
(setq-default teach-extended-commands-p t)
(setq-default teach-extended-commands-timeout 4)
[強調構文表示の設定]
(cond ((eq window-system 'w32) (global-font-lock-mode 1)))
[はみ出た行を折り返し表示しない]
これは好みだと思う…
(setq-default truncate-lines t)
(set-default 'auto-show-mode t)
(auto-show-mode t)
[最初に出てくるメッセージを省く]
(setq inhibit-startup-message t)
[Buffer中のPath名を補間]
たまーに、ウザイときがある…
(require 'ffap)
(ffap-bindings)
[Set highlighting colors for isearch and drag]
(cond ((eq window-system 'w32)
       (set-face-foreground 'highlight "black" )
       (set-face-background 'highlight "white")
	   (set-face-background 'region "gray")
	   (set-face-foreground 'region "black")
       (set-face-background 'secondary-selection "turquoise")
       (set-face-foreground 'modeline "ivory")
       (set-face-background 'modeline "gray40")))
[Fontの表示確認("M-x list-faces-display"のSample文字設定]
(setq list-faces-sample-text "abcdefg ABCDEFG あいうえお 日本語")
[view-mode分かりやすく]
(eval-after-load "view"
  '(setcar (cdr (assq 'view-mode minor-mode-alist))
           (if (fboundp 'propertize)
               (list (propertize " View"
                                 'face '(:foreground "white"
                                         :background "DeepPink1")))
             "View ")))
[Tab/全角Spaceに色付け]
(defface my-face-b-1 '((t (:background "DeepSkyBlue1"))) nil)
(defface my-face-b-2 '((t (:background "white"))) nil)
(defface my-face-u-1 '((t (:foreground "MistyRose1" :underline t))) nil)
(defvar my-face-b-1 'my-face-b-1)
(defvar my-face-b-2 'my-face-b-2)
(defvar my-face-u-1 'my-face-u-1)

(defadvice font-lock-mode (before my-font-lock-mode ())
  (font-lock-add-keywords
   major-mode
   '(("\t" 0 my-face-b-2 append)
     (" " 0 my-face-b-1 append)
     ("[ \t]+$" 0 my-face-u-1 append)
     )))
(ad-enable-advice 'font-lock-mode 'before 'my-font-lock-mode)
(ad-activate 'font-lock-mode)
[Dired-Mode for Windows]
(setq ls-lisp-dirs-first t)
[Tabやめ]
(setq-default indent-tabs-mode nil)