Skip to main content

Posts

Showing posts from May, 2011

日本語のメールの改行方法

私はメールはきっちり72文字で改行しないと気がすまないタイプだったのですが、最近のメールクライアントは等幅でないフォントで表示するものも多いので、きっちり72文字で改行しても行の長さが同じにならなくてあまり意味がない気がしてきました。 また、Emacsのfill-paragraphなどを使って改行すると、日本語の単語の途中で改行されてしまうことがあるので読みづらくなることがあって気になっていました。読みやすくなるように手で改行し直すにしても、fill-paragraphするとまたやり直しになってしまうので面倒です。 そこで、MeCabで形態素解析した結果を使って単語の切れ目で折り返すプログラムをEmacs Lispで作ってみました。 https://github.com/beketa/mfill/raw/master/mfill.el fill-paragraphで改行すると以下のようになる文章(内容はフィクションです)を、 さて、かねてより会社設立の準備を進めておりましたが、お陰さまでこの たび株式会社ベケタ商事を設立する運びと相成りました。これも皆様のご 支援とご協力の賜物と心より感謝する次第です。このうえは、皆様のご期 待に添えますよう日々精進する所存でございますので、何とぞ引き続きご 指導、ご鞭撻を賜りますようお願申し上げます。 これを使うと以下のように改行することができます。 さて、かねてより会社設立の準備を進めておりましたが、お陰さまで このたび株式会社ベケタ商事を設立する運びと相成りました。これも皆様の ご支援とご協力の賜物と心より感謝する次第です。このうえは、皆様の ご期待に添えますよう日々精進する所存でございますので、何とぞ引き続き ご指導、ご鞭撻を賜りますようお願申し上げます。 かなり簡単な方法で改行位置を決めていますが、なかなか読みやすくてよいのではないかという気がしますo(^_^)o。 メールだけでなくWebブラウザのレンダリングなどでもこのように改行してくれると読みやすいかもしれません。 なお、Emacsのfill.elだと改行以外にもインデントとかプレフィックスの処理もしてくれるのですが、今のところ本プログラムではその辺の処理をサボっているのであまり実用的ではありません。fill.elの改行位置