		Mutt 1.5.21用日本語版パッチリリースノート

							2011/06/22
							mutt-j 開発チーム

Copyright (C)2000-2012 Oota Toshiya <ribbon@users.sourceforge.jp>

Copyright (C)2000-2001 Kawaguti Ginga <ginga@ginganet.org>

Copyright (C)2000-2004 TAKIZAWA Takashi <taki@cyber.email.ne.jp>

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

目次

1. Mutt日本語版について

2. オリジナル版との違い
2.1 オリジナル版のバグの修正
2.2 日本語回りの実用上の問題の修正
2.3 便利な機能の追加
   
3. 動作確認環境

4. インストールと設定
4.1 ソースからのインストール
4.2 portsでのインストール
4.3 CentOSでのRPMインストール

5. 関連リンク

6. その他
6.1 著作権等
6.1.1 日本語パッチ
6.1.2 メッセージカタログの邦訳
6.1.3 マニュアルの邦訳
6.1.4 マニュアル以外の文書の邦訳・英訳
6.2 その他
6.2.1 一次配布先
6.2.2 ライセンス
6.2.3 メーリングリスト
   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

1. Mutt日本語版について

Mutt 日本語版とは、高速に動き、スレッド表示も可能、カスタマイズやPOP/IMAPも利用
可能な Mutt を日本語が使えるようにしたバージョンです。本家の Mutt に対して日本
語化パッチを適用することで Mutt 日本語版になります。Mutt 日本語版は、本家のMutt
と上位互換の機能を提供します。

Mutt の先の開発系列である mutt-1.3.x シリーズにおいて国際化され日本語パッチがな
くとも日本語のメールが取り扱えるようになりました。しかし、日本語特有の事情（い
わゆる生JIS問題など）があるため、実用上はそのままでは使いにくいものです。そこで
、特に日本語回りでの実用上の各種問題を修正しほぼ通常利用に差し支えなくし、さら
にいくつかの便利な機能を追加したものが Mutt 日本語版です。

日本語パッチとしては 1.2.x までのバージョンとは基本的に独立に開発されているため
、従来あった日本語版独自の機能などは一部省略されて、また新たに1.3.x 系以降の独
自の新機能などが追加されています(日本語化の実装は 1.2.x とは全く別物になって
います)。

また、1.5.6〜1.5.10対応のパッチは、そのいくつかが本家に取り込まれました。さら
に、他のライブラリ等の整備や、もう使われなくなった機能もいくつか存在しています。
そこで、1.5.21対応のパッチは、今までの日本語版パッチを整理し、有効と思われる
もののみを提供しています。

なお、このドキュメントおよび同梱されているファイルについては、古いままのものが
あります。ご了承ください。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

2. オリジナル版との違い

2.1 オリジナル版のバグの修正

2.2.1 カプセル化した転送メッセージの取り扱い

  mutt-1.5.6 までは日本語版パッチが存在し、file_charsetパラメータを
追加していましたが、mutt-1.5.9からattach_charset パラメータがこの機能
を引き継いだため、日本語版パッチはなくなりました。attach_charsetパラメータ
を設定しない場合には、日本語メッセージを含むメールデータを添付すると、
文字コードがus-asciiと見なされ、文字化けを生じますので注意してください。

ステータス行のマルチバイト文字に対する処理が不完全であるため、これを修正しまし
た。

スレッド表示や添付ファイル画面で用いられるツリーの罫線(ACS)文字がマルチバイト文
字であるときの処理がオリジナルでは全く行なわれていないため、その修正を行ないま
した。

2.2 日本語回りの実用上の問題の修正

オリジナル版でも MIME 関連の RFC に従っている日本語のメッセージは問題なく取り扱
えます。しかし、機種依存文字があると文字化けしたり、非 MIME 生JIS message body,
生JIS subject などは表示用の文字符号化方式に変換してくれないため読むことができ
ません。そのため、日本語版では、それらのメッセージを読むことができる次のような
設定オプションを追加しました。詳細は manual-ja-patch.ja.html および 
usage-japanese.ja.html をご覧下さい。

 1. 非 MIME 日本語ファイル名
   
     ● create_rfc2047_parameters

この機能は、create_rfc2047パッチで実現しています。
   
 2. 機種依存文字対策
   
     ● sanitize_ja_chars

この機能は sanitize_ja_charsパッチで実現しています。
また、これらの機能を既定値で有効にするため、assumed_charset の
既定値を

"iso-2022-jp:utf-8:euc-jp:shift_jis"

に変更しています。

 3. UCS文字の文字幅対策

UTF-8ロケールにおいてはJIS X 0208の記号・ギリシャ文字・キリル文字は、1桁幅の
文字として扱われます。しかし、mlterm上でUCSフォントでない従来のフォントを用いた
場合にはこれらの文字は2桁幅のJIS X 0208のフォントが使われます。また、一部の
記号については、文字幅が決まっていないものもあります。そのため、不整合
が生じ、表示が乱れます。これを防ぐために次の設定変数

 ● cjk_width
   
を用意し、この値をyesに設定することにより2桁幅の文字として扱うようになり、表示
が乱れるのを防ぎます。ただし、この設定変数はMutt内蔵のワイド文字関数を使うとき
のみ有効です。文字幅が決まっていない文字については以下の文字をパッチ中で
定義し、2バイト文字幅として使えるようにしています。

Ex. 0x3000から0x3020の範囲

「　」、「、」、「。」、「〃」、「々」、「〆」、「〇」、「〈」、「〉」、「《」、
「》」、「「」、「」」、「『」、「』」、「【」、「】」、「〒」、「〓」、「〔」、
「〕」、「〝」、「〟」

ただし、mutt でワイド文字関数の処理を行っていても、それだけではうまく表示され
ない場合があります。その理由は、画面表示を行うライブラリが、cjk_widthと同じ
ような処理をしていないからです。詳しくは 5. 文字化け対策を参照してください。


Content-Type: text/enriched; charset=iso-2022-jp なメッセージでは、根本的に全く
マルチバイト文字に対応していないため、文字化けする可能性があります。しかし、運
用で対処できるため、今のところは対応しません。詳細は usage-japanese.ja.html を
ご覧下さい。

   
2.3 便利な機能の追加

いくつかの便利な機能を使うための設定オプションを追加しています。次のようなもの
があります。詳細は manual-ja-patch.ja.html をご覧下さい。

2.3.1 メーリングリストの Subject prefix の削除
   
   ・ delete_prefix
   ・ delete_regexp

この機能は、delete_prefix パッチで実現しています。
   
   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

3. 動作確認環境

現在のバージョンでは以下の環境で動作確認をしています。

1) FreeBSD 8.2    iws        Oota Toshiya (/usr/ports環境でテスト)
2) FreeBSD 9.0    iws	     Oota Tochiya (/usr/ports環境でテスト)
3) CentOS 6.2     Iws        Oota Toshiya

オプションの意味

 ● I: C ライブラリに実装されている iconv
 ● i: Bruno 氏の libiconv
 ● W: C ライブラリに実装されているワイド文字関数
 ● w: Mutt 付属のワイド文字関数 (--without-wc-funcs)
 ● c: ncursesライブラリ
 ● s: libslang2ライブラリ

ja-libslangではUTF-8環境において正常な動作をしません。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

4. インストールと設定

4.1 ソースからのインストール

インストールに関しては INSTALL.JA-PATCH をお読み下さい。なお、mutt-j ML のメン
バーの手により FreeBSD、NetBSD、Linux(RedHat系、Debian)用のパッケージが作成され
ています。詳しくは http://www.emaillab.org/mutt/download15.htmlのページをご覧く
ださい。

また、インストールや設定に関して役に立つ文書へのリンクが http://
www.emaillab.org/mutt/のドキュメントのコーナーにありますので、一度ご覧ください
。

4.2 portsでのインストール

FreeBSD では、2011年1月以降、パッチを吸収したportsが提供されています。
FreeBSDでご利用の際にはこちらをご利用ください。

4.3 CentOSでのRPMインストール

CentOSではRPMでインストールできるように、SPECファイルを提供しています。
現在の所、CentOS 6.2でのみ評価しています。
4.3.1 ベースとなるSRPMの入手
CentOSでは、Fedora用のSRPMファイルを元に、mutt日本語パッチを適用して
RPMファイルを作ります。ベースとなるSRPMファイルはFedora 16用を使って
います。このファイルは、たとえば
http://rpm.pbone.net/index.php3/stat/26/dist/82/size/3745549/name/mutt-1.5.21-7.fc16.src.rpm
から入手することが出来ます。

4.3.2 ファイルの展開

CentOS6から、RPMの作成は一般ユーザでも出来ますが、muttの場合は、
最終段階でroot権限が必要なため、最初からrootで作業してください。
root権限になった後に、

# rpm -ihv mutt-1.5.21-7.fc16.src.rpm

で、srpmファイルを展開してください。展開すると/root直下に
rpmbuildというディレクトリが出来、その中にソースファイルが
展開されます。

4.3.3 日本語版パッチ、SPECファイルの展開

日本語版パッチファイルの中から、実際にソースコードに適用する
パッチ
mutt-1.5.21-db47.patch
mutt-1.5.21.tt.create_rfc2047_params.1
mutt-1.5.21.tt.sanitize_ja_char.1
mutt-1.5.21.tt.wcwidth.1
mutt-1.5.21.tt+yy.delete_prefix.1
を抜き出し、rpmbuild/SOURCESファイルに置いてください。また、
CentOS用のSPECファイルを抜き出し、改名の上、rpmbuild/SPECS
にあるmutt.specファイルを上書きしてください。

4.3.4 コンパイル

rpmbuild/SPECS ディレクトリに移動後、

# rpmbuild -ba mutt.spec

を実行してコンパイルしてください。実行時に必要なライブラリ等
がない場合、エラーとなりますので、適宜追加してください。


5. 文字化け対策

　localeがUTF-8の場合、muttでUnicodeの記号等を表示させようとすると、カーソル
位置が正常に移動しなかったり、文字が化けたりすることがあります。これは、Unicode
の仕様で、いくつかの文字について ambiguous character widthという特別な定義
がなされているからです。ambiguous character widthは、コンソールのような、
表示する文字幅が一義的に決まっている場合に、1バイト幅で表示するか、2バイト
幅で表示するかをアプリケーション側が決める事を意味します。そのため、
アプリケーション側が認識している文字幅と、コンソール側が認識している文字幅が
異なる場合、画面の表示がうまくいかず、文字が化けたりすることがあります。
たとえばmuttをWindows環境のteratermで表示した場合、この現象が発生します。
　muttそのものは、ambiguous character width を意識した文字処理を行って
いますが、muttが使う画面表示ライブラリが同じような処理を行っていない場合、
結果としてうまくいきません。
　対応策はmuttと同じような処理を画面表示ライブラリに組み込む事になります。
　なお、対応策を行っても、環境によってはうまく動かない可能性があります。
副作用が出る場合もあります。十分に検証してください。

5.1 FreeBSDでの対応方法

　FreeBSDで、ncursesを使う場合、ncursesがシステム側のwcwidthライブラリ
(実際には__wcwidth())を呼び出します。この関数はシステムの関数であり、
引数として渡された文字の文字幅を返します。実際には、/usr/share/locale/
(localeの値)/LC_CTYPE を参照して文字幅を確定しています。localeが
ja_JP.UTF-8の場合には、/usr/share/locale/UTF-8/LC_CTYPE が対応する
テーブルになります。このファイルはバイナリファイルで、ソースは、
/usr/src/share/mklocale/UTF-8.src がソースです。これをmklocaleで
コンパイルしています。このテーブルを書き換える事により、文字化けが
なくなります。
  書き換えたテーブルは、samples/UTF-9.src というファイルです。他の
localeと異なることがすぐに分かるよう、UTF-9という名前にしています。
これをmklocaleで変換してください。そして、

  #cd /usr/share/locale
  #cp -pr ja_JP.UTF-8 ja_JP.UTF-9

とし、新たに生成されたバイナリファイルをja_JP.UTF-9/LC_CTYPEとして
ください。
  その後、使用するlocaleを

  % setenv LC_ALL ja_JP.UTF-9

とすることで、文字化けが解消されます。

5.2 Linuxでの文字化け対策

　Linuxでは、/usr/share/i18n/charmaps/UTF-8.gz が文字幅情報を含んでいる
テーブルです。これを書き換えます。
  ただし、直接書き換えるのは危険なので、新たにUTF-8-CJK.gzを作成します。
手順は以下の通りです。

   1. samples/UTF-8-CJK を用意する。
   2. gzip で圧縮する。
   3. rootになり、cp -p UTF-8-CJK.gz /usr/share/i18n/charmaps/ を実行する。
   4. localedef -i ja_JP -c -f UTF-8-CJK ja_JP.UTF-8-CJK を実行する。 

このあと、使用するlocaleを変更します。 tcshの場合は、

  % setenv LANG ja_JP.utf8cjk

とします。なお、上記はCentOS 4.xで行ったものです。ディストリビューション
が異なる場合は方法が変わる可能性があります。


6. 関連リンク

 ● Mutt Home Page
   
     ○ http://www.mutt.org/
       
     ○ Mutt 本家のページ
       
 ● Mutt Japanese Edition
   
     ○ http://www.emaillab.org/mutt/
       
     ○ Mutt 日本語版のページ
       
 ● Japanese Mutt Manual
   
     ○ http://ha4.seikyou.ne.jp/home/Kohtaro.Hitomi/mutt/
       
     ○ 人見さんと西岡さんによる Mutt のマニュアルの邦訳
       
 ● Ribbon's Home Page
   
     ○ http://www.geocities.co.jp/SiliconValley-PaloAlto/2594/
       
     ○ mutt-j ML のメンテナーの太田さんのページ。mutt-j ML のアーカイブがある
        。
       
        mutt-1.2.x-jp の情報がある。



━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 

7. その他

7.1 著作権等

Mutt 日本語版は以下に挙げる人だけでなく mutt-j ML のメンバーの協力により開発が
行なわれています。なお、現在の取りまとめの中心者にはメールアドレスの後ろに '*'
を付けました。バグやおかしい点がありましたら、mutt-j ML あるいは取りまとめの中
心者にメールをお送り下さい。

7.1.1 日本語パッチ

 ・ Copyright (C) 2000-2010 TAKIZAWA Takashi <taki@cyber.email.ne.jp>
   
 ・ Copyright (C) 2000 Yukinori YOSHIDA <yyo@pjs.nevt.nec.co.jp>
   
 ・ Copyright (C) 2000 Kawaguti Ginga <ginga@ginganet.org>
   
 ・ Oota Toshiya (C) 2012 <ribbon@users.sourceforge.jp> *
   
7.1.2 メッセージカタログの邦訳

 ・ Kikutani Makoto <kikutani@galaxy.net>
   
 ・ Oota Toshiya <ribbon@users.sourceforge.jp>
   
 ・ "TAKAHASHI、Tamotsu" <tamo@momonga-linux.org> *
   
7.1.3 マニュアルの邦訳

 ・ Takuhiro Nishioka <takuhiro@super.win.ne.jp>
   
 ・ Kohtaro Hitomi <hitomi@hiei.kit.ac.jp>
   
7.1.4 マニュアル以外の文書の邦訳・英訳

 ・ TAKIZAWA Takashi <taki@cyber.email.ne.jp>
   
 ・ "TAKAHASHI、Tamotsu" <tamo@momonga-linux.org>
   
 ・ Kawaguti Ginga <ginga@ginganet.org>
   
 ・ SHIOZAKI Takehiko <takehiko.shiozaki@reuters.co.jp>
   
7.2 その他

日本語パッチの付属文書の DocBook/XML 化は SHINGUU Atsuhiro
<icebell@fujii-kiso.co.jp> によって行われました。

7.2.1 一次配布先

日本語化パッチの一次配布先は http://mutt-j.sourceforge.jp/ です。

7.2.2 ライセンス

日本語化パッチはオリジナルの Mutt と同様に無保証であり、Free Software
Foundation の GNU General Public License Version 2 に従って配布および修正を行う
ことができます。GNU General Public License Version 2 に関してはオリジナルのMutt
のパッケージに含まれている GPL をお読み下さい。

7.2.3 メーリングリスト

本家のメーリングリストは http://www.mutt.org/ をご覧ください。

日本語でのやりとりを行う mutt-j ML は sourceforge.jp 上に説明が
ありますのでそちらを参照してください。
