2008-07-12
# Thunderbirdが変なところで改行していた理由
Mac OS X 10.5(Leopard)のApple Mailから送信したメールがThunderbird(2.0.0.14)では、変なところで折り返されているように見える。Thunderbirdってformat=flowedとdelsp=yesに対応していなかったかなーと深みにハマってしまった。
ここで云う、自動改行とは、Format=FlowedとDelSp=Yesの機能のこと。対応しているApple Mailが作成したヘッダにはこのような記述がある。
Content-Type: text/plain; charset=ISO-2022-JP; format=flowed; delsp=yes
Content-Typeのヘッダに、format=flowed; delsp=yesが付加されているが分る。
これは、そもそもSMTPの仕様では1行の長さは1000バイトまでと決められていることによる。1行が1000バイトを越えると、あるいはそれ以下のケースもあるのだが、メールサーバがエラーとして戻したりしてしまう(はず)。そこで、メーラ側であらかじめ自動で改行してあげて、受信後の表示時にまた復元してあげよう、というのがFormat=FlowedとDelSp=Yesという仕組み。RFC3676で定義されている。78バイトになるとスペース(空白)を挿入して改行する、78バイトに満たない場合は何もしない、というのがルール。表示するときは、スペースと改行を取り除いてくっつける。1行に表示するバイト数は表示域に合わせて可変させる。
ここで注意したいのが、引用である。Format=Flowedにおいては、引用箇所も自動改行するため、引用符(">")も行頭に付け直している。最近では、引用符ではなくて、引用部分をカラフルな縦棒などを使って表現するメーラが増えた。おそらくFormat=Flowedを使ったときに、画面をリサイズした場合に、違和感なく表示できるからではないかと思う。まぁ、この辺りはメーラの実装者ではないのでよく分らない。
Thunderbirdで、Format=Flowedに絡んでいる設定が、"mailnews.display.disable_format_flowed_support"。GUIではなく、設定エディタから編集する。デフォルトではfalseのため、Format=Flowedは有効のはずだ。しかし、拡張機能が書き換えてしまうこともある。
ところで、拡張機能のQuote Colorsを使うと、引用の表現に、従来の引用符を用いることができる。それもカラフルに。「プレーンテキストメッセージで引用の装飾を有効にする」にチェックを入れると引用符で表示される。kayakayaはこの昔ながらの引用符の表現の方が好きで、この拡張機能を愛用していた。ところが、この拡張機能の設定が、Format=Flowtedをいじっていたのだった。「プレーンテキストメッセージで引用の装飾を有効にする」にチェックしていると、Formated=Flowtedは無効になるようだ。どうりで、変な箇所で改行されていた理由だ。拡張機能のどこにも書いていないからハマってしまったよ。アドオンは自己責任で、という文句が身に染みたなぁ。それにしても、今どきのメーラのFormat=FlowedとDelSp=Yesの対応状況はどうなっているのだろうか。

なるほど、それでkayakayaさんのメールは<br>変なところで改行していたのですね。<br>この日記の改行も面白い(?)ですよね。<br>普通にブログ書くルールとは改行が違う感じ。<br>どういうルールになっているのか読めません。
追伸<br>横文字が途切れることなく書けるように<br>改行しているんですね。<br>後、“。”がはみ出ないようにもなっているみたい。
う゛、Outlookは対応してなかったか……orz<br><br>日記の改行はブラウザが処理しているので書き手は何もしてないよー。ちなみに、"。"などの処理は禁則処理と言います。