4月 032015
 

フツーに書くとタイトルがずいぶんと長いモノになってしまうのでタイトルは省きました。省かない場合のタイトルはどうなるだ? というと・・。

「au の フィーチャーフォンで送受信している ezweb.ne.jp のメールを SoftBank の iPhone6 で送受信できるようにする。」

ってのが今回のお題目です。

 
僕的な携帯電話の環境は SoftBank の iPhone6 と au の GRATINA を持ち歩いています。 au の GRATINA はプラン SS と EZWeb を契約しているので、 SoftBank 以外の人と通話や C メールをやる場合には au の GRATINA を利用しています。 SoftBank 以外の人との全ての通話は プラン SS でまかなっている状態ですかね。

IMG_2321_ezweb_mail_1

あと、今回は出番はありませんがぷらら SIM が入っている ZTE Blade VEC 4G も持っていたりしますが;-)。

 
さて。ひょんなことから ezweb.ne.jp は PC からメールを読み書きできる。ということを知りました。

IMAP Server: imap.ezweb.ne.jp
SMTP Server: smtp.ezweb.ne.jp

これらを PC 用のメールソフトである Thunderbird や mew に設定するだけで、メールの読み書きがフィーチャーフォン以外の機器からでも行える。
あげくの果てには SoftBank の iPhone6 に指定しても au の ezweb.ne.jp の読み書きができる。と、いうことになるので早速飛びついてみました。

SSL を有効にしたり各種設定を行い、いざアクセスするのであります。しかし・・。 ezweb.ne.jp のメールアドレスに対するパスワードが分からないんですね。何を指定したらえーねん?

 
と、いうことで今回の物語はここから始まるのであります。

まずは調べてみると、 au の iPhone を持っている人は au サポートからアクセスすると ezweb.ne.jp のメールのプロファイルがゲットできる。更にはパスワードをもゲットできる。と、いうことが解りました。
au の Android を持っている人はブラウザの User agent を mobile Safari に偽装することによってメールのパスワードをゲットできる。と、いうことが解りました。

すると、ここでまず第一の結論。 IMAP サーバ や SMTP サーバに PC からアクセスできるようになるためには、素直な道を進むとすると au の iPhone を持っている人しか恩恵が受けられない。と、いうことのようです。

 
実は PC から ezweb.ne.jp のメールの送受信ができると知ったその日のうちに近所の au ショップに行ってお店のお姉さんに確認してきました。

1.フィーチャーフォンから #5000 にメールを送って、そのあと 00090015 にメールしたら変なメールが返ってきてしまったんですけど・・。
→ 特に問題はありません。

2.フィーチャーフォンで ezweb.ne.jp なメールを利用しているんですが PC でも利用したいのでパスワードを発行してください。
→ できません。ウェブメールを利用してください。

らしいです。実は結構長いやり取りがあったのですが、対応してくださったお店のお姉さんは僕ほど IT リテラシーが高くないので、紙をもらってメールサーバと PC の絵を書いて「ここからここにアクセスするときのパスワードが欲しいのです。」と、説明しました。その辺りの仕掛けのことは解るみたいだったので、あとは au のサーポートバックヤード(複雑怪奇なお客様の質問に応える部署っぽいところ)と電話してなんとか問題が解決できました。

僕は「解りました。1. については特に何もしなくて良くて、2. のほうは iPhone でないとパスワードは発行できないんですね。」と、言い残し、なんとなくにこやかに納得してお店を後にしようとすると、そのお姉さんは「今回は勉強になりました。ありがとうございました。」と申しておりました。彼女のレベルが一個上がったんだな。と、思いました;-)。

まぁ、それはさておき、1. のほうは「契約情報の何かしらのステータスが変わってしまったんじゃね?」などとハラハラドキドキしていたのですが、契約情報かどこか変わった。と、いうことは無いとのことなので、そのまま継続して利用しても良いそうです。

そして 2. のほうは au の人でさえ、お客様の ezweb.ne.jp のパスワードにはアクセスできないんだそうで、その情報を教えることや窓口での変更はできないんだそうです。

au のお姉さんいわく「もし PC からアクセスする場合にはウェブメールを利用してください。」とのことでした。そして、ウェブメールの設定画面にもパスワードについての項目は無いです。

 
と、いうことで、実質的に素直にパスワードを取得できるのは iPhone のみということになりました。

 
僕の SoftBank の iPhone6 には全部で三つの au アプリがインストールされています。

IMG_1215_ezweb_mail_2

au サポートアプリは au 回線以外からでもアクセスできるので、どこのキャリアでも良いから iPhone と au のフィーチャーフォンを持っている人はこれらのアプリをインストールしておくと便利かもしれません。僕の場合 au ウォレットも持っているしねぇ;-)。

と、いうことで au の iPhone を持っている人は以下の URL を参考にすると ezweb.ne.jp のパスワードを取得することができます。

http://www.au.kddi.com/iphone/support/guide/mail-app-setup/

上の URL のキャプチャのところ『[8]「メールアプリ(Eメール)でEZwebメールを利用する」をタップします。』で「手動設定」をタップすると C メールでパスワードが送られてきます。
「メールアプリ(Eメール)でEZwebメールを利用する」をタップすると iPhone プロファイルが入手できます。今回は C メールで結果が欲しいんですよねぇ。

と、いうことでどうすんべか?

#あう。僕はフィーチャーフォンなので”C メール”って言ってます。iPhone 持っている人は多分 “SMS” というと思います;-)。

フィーチャーフォンしか持っていない人は上記 URL へのアクセスは厳しいです。コンテンツが携帯用ではないので文字化けなどするし・・。
SoftBank に au サポートアプリをインストールしている人は上記 URL のキャプチャの『 [6]「Eメール設定画面へ」をタップします。』まではたどり着けます。タップすると au 回線が必要になるのでそこでシューリョーになるのであります。

 
で、ハタと思った「最後の手段はテザリングだな。」と・・。

と、いうことで会社で au のスマートフォンを持っている人に「テザリング契約している?」と、聞いて、色々説明して、とある人がアクセスしてもいーよ。といってくれたので、早速トライ。

1. au な iPhone6+ を持っている同僚にテザリングオンにしてもらいます。
2. 僕の持っている SoftBank な iPhone6 をテザリング接続します。
3. これで au の回線に入った;-)。
4. 僕の SoftBank な iPhone6 から au サポートアプリで上記 URL にアクセスします。
5. おぉっ!! [6] のメニューを突破できた。わーいっ!!
6. [8] のメニューの「手動設定」をタップ。
7. GRATINA に C メールが届いた。
8. ezweb.ne.jp の情報ゲットっ!!
9. テザリンクを切断し、許可してくれた同僚にお礼を言って終了。
10. ズズズとお茶を飲み一段落。ふぅ。やっとだぁ。

と、いうことでなんとか ezweb.ne.jp の情報を取得したのであります。

あとは PC のメールソフトに設定したり SoftBank の iPhone6 にも ezweb.ne.jp のメール設定をしました。これで iPhone6 一個で SoftBank と au のメールの読み書きが可能になりました。一件落着。

 
最後にですが mew で ezweb.ne.jp にアクセスするときの mew-config-alist の設定を書いておきますね;-)。

; au KDDI
(setq mew-config-alist '(
    ("ezweb"
        ("mailbox-type"         . imap)
        ("proto"                . "%")
        ("user"                 . "takachan")
        ("name"                 . "TAKANO Yuji")
        ("cc"                   . nil)
        ("fcc"                  . nil)
        ("mail-domain"          . "ezweb.ne.jp")
        ("msgid-domain"         . "ezweb.ne.jp")
        ("smtp-helo-domain"     . "ezweb.ne.jp")
        ("smtp-user"            . "USERNAME")
        ("smtp-server"          . "smtp.ezweb.ne.jp")
        ("smtp-ssl"             . t)
        ("smtp-port"            . "587")
        ("smtp-auth-list"       . ("CRAM-MD5" "DIGEST-MD5" "PLAIN" "LOGIN"))
        ("use-smtp-auth"        . t)
        ("imap-user"            . "USERNAME")
        ("imap-server"          . "imap.ezweb.ne.jp")
        ("imap-ssl"             . t)
        ("imap-ssl-port"        . "993")
        ("imap-delete"          . nil)
        ("ssl-verify-level"     . 0)
    )
))

 
各項目の説明は一切無しにしておきます。解読してください;-)。

 
と、いうことでこれで mew からも ezweb.ne.jp なメールが送れるようになりました。複雑なメール本文をキーボードで打てるようになるのでだいぶらくちんになりますね。

あ。それにしても「テザリングさせてー。」って同僚に言ったとき「今時キャリアメール使っているんですか?」などと言われてしまいました。僕はどうやら前時代的な人のようですf(^^;;。

2月 172015
 

今回は emacs の設定の一行だけのエントリです。

実は emacs-24.4 になって、勝手にインデントしてくれて困っていたのであります。

例えば以下のような場合。

  • emacs-24.4+mew6.6 でメールの本文を打っていた場合、段落のために半角スペースを二つ入れたのに改行すると半角二つが消えてなくなってしまう。
  • emacs で開いた文書にマウスのペーストをすると右側にズズズズとずれていってしまう。
  • 他のモードでもとにかく勝手にインデントを付けてしまう。

などなど、文章を打つ時やマウスのペーストが非常に難儀していたのであります。

が、しかし、以下の設定を入れれば大丈夫。

; 勝手にインデントしないようにする設定
(electric-indent-mode 0)

 
この設定を ~/.emacs.d/init.el に書いてあげると emacs-24.3 の頃の文字入力に戻るかと思われます。

emacs-24.4 は他にも色々 default 設定が変わったのですが、この、インデントの動作が変わったのが一番の衝撃でした。フツーに文章を打っているときはそんなに問題はないのですが、 mew でメールを書いているときに発生しているので困った困った。

最近、 mew の ML が無くなって google-group に行ったので僕は入ってないんですけどもね。

と、いうことで上記設定は emacs-24.4+mew-6.6 の人にもとっても非常に有用な情報だと思われます;-)。

#誰か、たどり着く人いるんかな?f(^^;;。

6月 292011
 

僕はメールを読んだり書いたりするときに emacs 上の mew を利用しています。で、今回たまたま「マニュアル」というのを見ていたら “対話” というのがあったんですね。

この “対話” と言うのは mew のインストール時に合わせて /usr/local/bin/cmew と言うコマンドをインストールして、こいつが sqlite3 に Massage-ID を突っ込んで、一括して mew のバーチャルモードで表示してくれる。と言う機能です。

cmew 自体は ruby で書かれているので、実行。ばーんっ!! とかやるのですが、 require ‘sqlite3’ の行がエラーになります。どうやら ruby の sqlite3 モジュールが無いみたいなんですね。

それならば ports からインストールするべか。とか思って /usr/ports/ 辺りを捜すのですが、あれあれ? ports になって無いじゃん・・。orz。 となるのでありました。

ちゅーこって、ports 作って以下の URL に置いたので使ってみたい人はご利用くださいー。って感じなのであります;-)。

ダウンロードした後、/usr/ports/databases 辺りで展開して make;make install すればおしまいです。

http://icmpv6.org/Prog/FreeBSD_ports/ports-sqlite3-ruby-20110629.tgz

インストールが完了したら cmew を実行する(mew 上で “KI” と叩く)と ~/Mail/id.db とかいうのができて “V” で一覧表示してくれるようになります。この辺りについては mew のマニュアルを見てください。

それにしても FreeBSD の ports 的には databases/ruby-sqlite は sqlite2 対応、databases/rubygem-sqlite3 っちゅーのはなんかちょっと冗長気味ででかいぞ。でもって cmew が動かないぞ。的なので、ズバっと cmew が動作する sqlite3 モジュールは存在していないんですねぇ。

中々思い白い。それにしても ruby をおいかけるなんざ dtcpc 以来だぞぉ;-)。

あ。当然ながら “ノラ ports” です。コミットしてくださる方、絶賛募集中;-)。けど、利用者、少ないんだろうなぁ。だとするとコミットしてもあまり価値無いような気がしますねぇ・・f(^^;;。

6月 142011
 

emacs-23.3 になったら ibus.el 経由の mozc がインラインで日本語入力できなくなってしまいました。

以前のエントリで「ibus-mozc を使う。」というのを書いているので詳細についてはそっちを参考にしてください。

それにしても emacs 上でインラインで日本語入力ができないのはちょっと悲しいなぁ。と思い、ibus.el とか眺めたり、ウェブで調べてみたりしたのですが、 Vine のほうでは無事に吸収できたようですね。 FreeBSD ではそーは行かないみたい・・。

ちなみにインラインで日本語が入力できると何か嬉しいかと言うと、Ctrl や Esc キーなどがかな漢字変換システムに食われることなく emacs のキーバインドが利用できる点ですね。これは実際にやってみると結構重要です。

なので、他に何か別の emacs で利用できる日本語入力無いかなぁ?とか思い調べてみたら、mozc 自体が emacs lisp として mozc.el というのを提供しているのねぇ。

早速試してみました。が・・。
mozc 関連の FreeBSD の ports としては japanese/mozc-server 、 japanese/mozc-tool があるのですが、このどちらでも mozc.el をインストールしてくれない。きっと ports の作者さんは emacs との関連性をつけるのを嫌ったのでしょうなぁ;-P。

mozc のソースの中に unix/emacs/mozc.el があります。が、こいつは mozc_emacs_helper という、同じディレクトリにあるソースをコンパイルしたものをインストールしてあげないと動作しないんですな・・。orz。

ちゅーこって mozc-emacs とか言う ports を作りましたよー。そもそも、mozc のコンパイルは python を利用しているので非常にややこしい。試行錯誤した結果 mozc のソースツリーで以下のコマンドをたたけば mozc_emacs_helper の make ができます。

# setenv BUILD_COMMAND gmake
# ./build_mozc.py gyp
# ./build_mozc.py build -c Release --qtdir= /usr/local/lib/qt4 \
unix/emacs/emacs.gyp:mozc_emacs_helper
# cp out_linux/Release/mozc_emacs_helper /usr/local/bin/
# cp unix/emacs/mozc.el /usr/local/share/emacs/23.3/site-lisp/

 
これで mozc.el が動き出します。あ。当然 GTK_IM_MODULE 環境変数などの設定は必要ですよ。
僕の場合、emacs 以外は ibus-mozc を利用するようにして、 emacs からは ibus 経由ではなく、直接 mozc と通信できるように、あとで下のほうに出てきますが ~/.emacs に設定しました。

で、これらをやってくれる ports は以下に置きました。

http://icmpv6.org/Prog/FreeBSD_ports/ports-mozc-el-20110614.tgz

基本的には emacs に関連した部分のみを切り出したので mozc-el と言う ports にしました。ports/textproc 辺りに展開してください。 mozc_emacs_helper を make してインストールしてくれます。あと、 mozc.el と mozc.elc をインストールします。関連性で editor/emacs が必要がです。
また、当然ですが、 make deinstall にも対応しています。

で、~/.emacas への設定ですが、以下のような感じでしょうかね。

(require 'mozc)
(set-language-environment "Japanese")
(setq default-input-method "japanese-mozc")
(global-set-key (kbd "C-o") 'toggle-input-method)

 
早速入力してみると。おぉっ!! ちゃんとインライン入力ができますね。すげー。試しに emacs -nw な状態でも試してみましたがこちらでも日本語入力ができます。ibus-mozc よりもちょっと良い感じです。

 
さてとー。僕の場合、もう何回もここに書いていますが、かな入力の人なんですよ。で、その設定はあるのかなー?とか思って色々調べてみましたが、今の段階では mozc.el にはカナ入力の設定は無いみたいで、mozc.el には 「;; TODO(yuizumi): Supports Kana input.」などと書かれていました。orz。

通常、mozc の設定は mozc_tool_config で、行うのですが、ここではちゃんとかな入力になっているのですが、やはり ibus.el もそうですが emacs lisp の側でも何かしら対応しなければならないんでしょうなぁ。

 
と、言うことで、かな入力の僕にはいまいちご利益が無いのですが、ふつーにローマ字入力をする人にはベタに mozc が利用できるのと、あと tty 上の emacs でネーテェブというかインラインで日本語入力ができるというのは非常に嬉しいことではないでしょうか。

是非とも ports になってもしくは ports からインストールできるようになって頂きたいものだと、僕は思いました;-)。

8月 232010
 

ちょっと前のエントリーで「ibus-mozc を使う。」ってのを書きました。 「もづく」を使うよ。でもって emacs23 からでも使えるよ。ってやつですね。

で、ibus.el の作者さんの 「irie @ ウィキ」を眺めていたら「scim-bridge.elのぺえじ 」 ってのもあるのに気づきました。

この scim-bridge.el をインストールして emacs23 から利用すれば scim と通信して日本語入力ができるようになるんかな?とか思った次第であります。

でもって、scim と言えば scim-bridge はあるし、scim-canna もあるし scim-bridge-qt4 もあるしで、いろいろあるので scim-bridge.el を利用すれば canna.el なしで Canna の入力が可能になるのかな?とか思い早速試してみました。

まずは scim-bridge.el の ports を作ってみました。参考にしたのは同じ作者さんの ibus.el の ports です。textproc/ibus-el があるのでこれを参考にして作ってみました。以下の URL に置いてあります。

http://www.icmpv6.org/Prog/FreeBSD_ports/ports-scim-bridge-el-20100823.tgz

これをダウンロードしたあとに /usr/ports/textproc/ 辺りに展開してインストールしてください。一応関連性としては textproc/scim と textproc/scim-bridge は付けています。あとは自分の好みで japanese/scim-canna や textproc/scim-bridge-qt4 などをインストールしてください。

~/.emacs に記述するサンプルはこの辺りに置いておきます。

(setq jaime “???”) の文字列で mozc を利用するか scim-bridge を利用するか決定してください。

scim の 設定方法については以前書いた「kde4-4.4.5+qt-4.6.3 環境の scim-1.4.7。」を利用してください。これで多分 scim-bridge.el が動くようになったかと思います。

scim-bridge.el を利用してみてまず驚くのが、ターミナルへの文字入力と一緒でディスプレー上に SCIM のメニューバーが表示されることですね。本当に「ネーティブに動作しているの?」って思うんですが、Ctrl が入力される場面とか、日本語入力ができない時にはちゃんと SCIM がオフになるんですね。この辺りすごい。まぁ、ibus-mozc.el でもその動作は一緒なんですけどね。さすが同じ作者さんだけあって、動作が統一されていてなかなか嬉しいです;-)。また、感激します;-)。ありがとうございます。

あと、emacs 起動時には以下のように IME を none にして起動しているのでこれは多分文句無しにネーティブで動いているんだろう。という感じです;-)。

env XMODIFIERS=@im=none /usr/local/bin/emacs --no-splash

 
さてさて。僕がどうしてこの ports を作ったかと言うと・・。ちょっと前のエントリーで「emacs-23.2+Canna な emacs の ports。」と言うのを書いているのですが、この時に書いたパッチは今の emacs のメンテナの Ashish SHUKLA さん にメールを送っていて、しばらくやり取りしたあと、彼は 06/10 に改定した emacs の ports を Giorgos Keramidas さん 宛に奥っているんだけど、それは今でもちっとも反映されていないんですね。

なので、emacs23 の make config 時のオプションに WITH_CANNA=yes ってのがなかなか現れない・・。orz。 半分諦めの境地ですかね。

あと、実はもう一点あって、Ashish SHUKLA さん から emacs24 (ports 的には editors/emacs-devel なんですが) の WITH_CANNA の パッチも書いてねー。とか言われて、ちょっと書き直し始めたのですが、これがまたあーたっ!! emacs24 の configure の形式とか Makefile.in とかがずいぶんと様変わりしてしまって、ソースコード治すよりもそっちのほうが大変。みたいな感じになっているのであります・・。orz 僕、 C は解っても autoconf/automake はいまいちよくわからないのよねぇぇ・・f(^^;;。

ちゅーこって、ことえり キーバインドに対応した ibus-mozc に走るか scim-bridge に走ったほうがよっぽど早いのであります。 scim-bridge は Canna に対応しているしねぇ;-)。

と、言うことで、僕は多分今後 Emacs 用の WITH_CANNA なパッチは書く事はないと思います。是非とも scim-bridge.el のほうを利用していただけれると嬉しいのであります。

それにしても scim-bridge.el かぁ。これを利用すると Canna キーバインドでの文字入力もサクっとできるし嬉しいのであります。あ、筆者の場合、Canna のキーバインドをかな入力で利用しています。ローマ字入力は試していません。けど、~/.emacs の (scim-define-common-key ?\C-* t) の “*” の部分の文字を任意のものに変更するといろいろなキーバインドが利用できるようになると思います。

5月 222010
 

以前「emacs-canna の ports。」と言うエントリーで、emacs-23.1+Canna な ports を作りました。と書きましたが、FreeBSD のports-CURRENT の editor/emacs が 23.2 になったみたいなので、 emacs+Canna の ports も23.2 に追随してみました。

以下の URL からダウンロードできます。

http://icmpv6.org/Prog/FreeBSD_ports/ports-emacs232-canna-20100521.tgz

/usr/ports/japanese 辺りで展開して make してください。

ちょっと説明すると、editoe/emacs は make config に対応したみたいなので、config の画面で CANNA を選択できるようにしました。

後、Canna for GNU Emacs23 では emacs-23.1 にしか対応していないので、このパッチを参考にさせて頂いて emacs-23.2 に適用できるように改修しました。emacs-23.2 対応の パッチは以下の URL にあります。Linux 方面の人はこっちのほうが嬉しいですかね;-)。

http://icmpv6.org/Prog/emacs232canna-20100521.patch.gz

と、言うことで自分で書いたモノを、短い時間ですが使ってみても特に問題無くネーテブに Canna で日本語入力ができています。もし良かったら使ってみてください;-)。

さてと。この ports を今後どうするか。と言うのが大きな課題です。一応 make config で CANNA が選択できるようになったので editor/emacs に吸収してもらっても良いかなぁ。とか思っているのですが、そーすると send-pr したり、 ports のメンテナに連絡とったりするかなぁ。

emacs-23.1 の ediotr/emacs は config の画面が出なかったのであれだったんだけど 23.2 の ports は良くできているような気がしないでも無いのでねぇ。今回は連絡取ってみようかなぁ。

と、言うことで Canna での入力を必要としている皆さん。利用した結果のコメントなどいただければ嬉しいです。

4月 212010
 

emacs-23.1+mew-7.0.50 を利用しているのですが、最近 HTML なメールが多いなぁ。と、随分前から思っていて emacs-w3m を利用しているのであります。

emacs-23.1 の場合には emacs-w3m-1.4.4.tar.gz をダウンロードしてインストールしても動作しないので CVS から取ってきてインストールしようね。ってのは有名な話なのでそれについてはここでは書かないです。

で、mew で emacs-w3m を利用して HTML メールを読む時に “,” と “.” を交互に押すと HTML か、もしくはテキストとして表示するか選択ができるんだけど、 HTML メールを default でテキストとして読む設定がちーとも解らなかった。僕の .mew は以下のように設定されているんだけどねぇ。

; w3m の呼び出し
(require 'mew-w3m)
(setq mew-mime-multipart-alternative-list
'("Text/Html" "Text/Plain" ".*"))
(define-key mew-summary-mode-map "T" 'mew-w3m-view-inline-image) ;(w3m-toggle-inline-images)

 
mew のソースコードの中にある dot.mew にも以下のように書いてある。

;(setq mew-mime-multipart-alternative-list
'("Text/Html" "Text/Plain" "*."))
;(condition-case nil ; (require 'mew-w3m) ; (file-error nil))

 
しかし、この設定では default で HTML をテキストとして表示してくれないのよねぇ。ただ単に HTML が表示されるだけ・・。 “,” と “.” を必ず押さなければならない。変じゃーん。と言うことで色々試した結果、以下のように記述すれば default でテキストとして表示することを発見しました。

(setq mew-mime-multipart-alternative-list
'("Text/Plain" "Text/Html" ".*"))

 
この設定の内 Text/Plain と Text/Html を逆にすることによって default の表示の動作が変わるのですね。そんな風に書いているサイト、どこにも見当たらなかったのだけど、これって常識?もしくは emacs-23.1 で変わったとか。

後、気づいた点としては、最近の Content-Type: multipart/alternative; なメールは Text/Plain が先に付いていて、Text/Html がその後のパートになっているとかで表示が変わるとか変わらないとか・・。

僕自身 elisp はいまいち苦手なのでソースを見てもチンプンカンプンなので(それを人は解らないと言うのだろうか)困ったことなのであります。

まぁ、どっちにしても HTML メールの default 表示がテキストになってくれて良かったです;-)。

12月 262009
 

ports CURRENT の editors/emacs が emacs-22.3 から emacs-23.1 になったようだけど、japanese/ の下の emacs は相変わらず emacs-22.3 ぽいので、以前このブログに掲載した emacs-canna の ports を作ってみました。

基本的には editors/emacs を japanese/ にコピーして Canna for GNU Emacs23 からパッチを取って来て make している感じです。なので、ベースは emacs-23.1 で、インストールされるものも editors/emacs とまるっきり一緒のはずです。

以下の URL に転がしておいたのでもしよろしければ使ってみてください。

http://www.icmpv6.org/Prog/FreeBSD_ports/ports-emacs-canna-20091221.tgz
この ports について、その筋の人に色々お聞きしてみたのですが、一番多い意見が send-pr すればぁ。ってヤツでしたが、正しくその通りだとは思います。が、まぁ、自分で使っている分にはどーでもよいかぁ。みたいな感じで(^^;;。

後、ports の editors/emacs に吸収してもらえばぁ。って意見も頂いて、これは確かに「なるほどー。」とか思いましたね。 options に WITH_CANNA=yes とか指定できれば、 Canna for GNU Emacs23 からパッチをダウンロードして来て適用する。ってので済むのでこれは確かにラクチンだし、emacs の ports があちこちにできなくて済むのでそれはそれで嬉しいのだけどねぇ・・。

とまぁ、そんなそんなことは思っても結局はどっかそのへんに転がしておいて終ってしまいそうな予感なんですけどね(^^;;。

10月 162009
 

ちょっと前に Emacs-23.1。 と、言うタイトルで一個書いたんだけど、その時はフォントの設定がメインで「日本語入力どうすんべな。」って感じで終わっていた。

その後、emacs-23 で Canna が使えると言う japanese/uim-canna を ports から試してみたのだけど、uim-canna と言うか、 uim-el と言うかは emacs-23 が起動した時だけ利用できるので scim-bridge-qt4 と同居できるのが良かったのだけど・・。

uim-canna って、ただ単に「cannaserver と通信ができる。」ってだけで、canna.el のキーバインドを踏襲してくれないということに愕然として、emacs-23 はすっかり利用するのを諦めていた・・。

後、アンチエイリアスが有効になった emacs-23 を利用するとむちゃくちゃ遅い。と言うのも「使わない」と言う一因ではあったのだけどね。

そんな感じでちょっと放置していたんだけど、ヤボ用で compface.tar.gz をダウンロードできるサイトを探していた(compface は x-face を表示するために利用します)ときにバッタリと遭遇。

Canna for GNU Emacs23

僕は emacs-22.3 までは emcws パッチを利用していたのだけど emacs-23 からはいよいよ利用できなくなっていたので途方にくれていたのでありました。

しかしっ!! ありがとうございました。これで emacs-23.1 で Canna のカナ入力が引き続きできそうです。嬉しいことです。

早速パッチを適用して make して試してみましたが、emcws と動作が一緒です。Canna のカナ入力に重要な C-n キーもちゃんと使えます。嬉しいことです\(^^)/。

本当にありがとうございました。感動して、ツイツイこうやってプログに書いてしまいました;-)。

9月 162009
 

Emacs-23.1 が出ました。実は結構前にインストールしていて ~/.emacs を書いている最中だったのだけど、フォントの設定でつまづいていてホーリ投げていた部分もあるのですが、その問題が解消されたのでこうして書いてみることにしました;-)。

僕は MacOSX 使いでもあるのですが、普段は FreeBSD で KDE を使っています。KDE3,4 を利用しているとアンチエイリアスの効いていないアプリケーションと言うのは emacs-22.3 のみだったので、 emacs-23.1 が出ると利用している全てのアプリケーションがアンチエイリアス対応になる。それはそれは楽しみにしていたのでした。

が・・。インストールしていきなりフォントの設定でつまづいて・・。全角日本語文字と半角英数字が同じ比率で表示してくれない。等幅フォントを利用しても全角と半角ではズレが生じてしまうのでどうしようも無い状態なのでありました。

ただ、12 ポイントのフォントサイズにするとズレは無くなるんだけど 12 ポイントと言うのはむちゃくちゃでかく感じるので 10 ポイントで利用したいのだけど、 10 ポイントにするとズレが生じる・・。トホホ。

で、今回ようやっと設定ができたのでありました。こんな感じ。goolge とかで探すとフツーにある設定です。


(eval-and-compile
    (cond
        ((< emacs-major-version 23)  ; emacs-22
            (cond (window-system
--- emacs-22 のフォント設定 (略) ---
        )
        ((= emacs-major-version 23)  ; emacs-23
        (cond (window-system
;; 標準フォント
;           (set-default-font "MS ゴシック-10")
;           (set-default-font "美杉ゴシックL-10")
            (set-default-font "さざなみゴシック-10")
(set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0208 '("MS ゴシック" . "unicode-bmp") ) (set-fontset-font (frame-parameter nil 'font) 'katakana-jisx0201 '("MS ゴシック" . "unicode-bmp") )
(setq face-font-rescale-alist '((".*メイリオ.*" . 0.9) (".*MS ゴシック.*" . 1.1) (".*さざなみゴシック.*" . 1.0) (".*美杉ゴシックL.*" . 1.0) ("-cdac$" . 1.3))) )) ) ))

 
僕はアンチエイリアスなフォントを使いたいので MS ゴシックを全角のフォントとして、半角のフォントとしてさざなみゴシックを利用します。どっちも 10 ポイントで。10 ポイントで利用した場合、全角と半角フォントにズレが発生するので face-font-rescale-alist で横幅を調節します。

・全角フォントのMS ゴシックは横幅比率を 1.1 にする。
・半角フォントのさざなみゴシックは横幅比率を 1.0 にする。

こうすることによりフォントがきっちりと揃うのでありました。

が、この設定と言うのはずっと前から入れているのにどうしてちゃんと動かないのだ?おかしく思って ~/.emacs を一行づつチェックしましたよー。そしたら問題を発見しました・・。orz。

emacs-23.1 と言うのは以下の lisp は正しく評価してくれないんですね。

(eval-and-compile
    (cond
        ((< emacs-major-version 23)  ; emacs-22
             (if (eq window-system 'x)
        )
    )
        ((= emacs-major-version 23)  ; emacs-23
            (if (eq window-system 'x)
        )
    )
)

 
(if (eq window-system 'x) がダメみたいです。emacs-23.1 を利用する場合、window-system をチェックする時は以下のように書かないとダメみたいです。

(eval-and-compile
    (cond
        ((< emacs-major-version 23)  ; emacs-22
            (if (eq window-system 'x)
        )
    )
    ((= emacs-major-version 23)  ; emacs-23
        (cond (window-system))
    )
)

 
(cond (window-system を利用するみたいです。

今回の僕のフォントの設定自体は正しかったみたいなのですが、その前に window-system をチェックする lisp が書かれていて、それが問題となってフォントの設定部分が正しく評価されなかったみたいです。"(" や ")" の数はちゃんと合っていたんですけどねぇ・・。

 
と、言うことでこれにてフォントの設定は完了です。が、この後、日本語入力が控えています。emacs-22 の頃は emcws のバッチがあったのですが、いよいよ 23 では無くなってしまいました。

僕は Canna のカナ入力の人なのですが、 scim-bridge とかで日本語入力ができたとしても emacs の制御キーが SCIM に食われてしまうのでお話になりません。やはりネーテブなインプットメソッドが欲しい所です。これからこれについて調査を行う感じになりそうです。

scim-canna を捨てて uim-canna にして、uim.el にすれば良いのかなぁ?とも思っていますが・・。

あ。yc.el を試して作者さんとちょっとメールでやり取りしたのですが、CannaServer との通信が EUC で emacs-23 が UTF-8 を利用しているため、変換後に表示される漢字が文字化けしてしまい実際に利用することができませんでした。どこかでコード変換して上げる必要があるのですが、僕は lisp がイマイチ解らないので・・。

と、言うことでフォントの設定はここまで。次回書くとしたら日本語入力についてになるかと思います;-)。

 
以下余談ですが、最近 WINE 経由で ATOK2009 を利用できるかな?とか思って格闘している最中なんですよ;-)。

これは KDE4 のメニューエディタのキャプチャ。メニューに ATOK9 が現れます。ただ、インストールが成功してないので動かないんですけどね;-)。

kdeandatok.png

後、ports/textproc/wime(http://www.venus.sannet.ne.jp/thomas/wime/) なんて ports を作っている最中ですが、これがまた手ごわい・・。

と、言うことでこの件についてはまだまだ続くことでしょう;-)。