スキップしてメイン コンテンツに移動

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

私はメールはきっちり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の改行位置を決めるアルゴリズムだけを入れ替えられるようになっていると簡単だったのですが。

コメント

このブログの人気の投稿

今さらながらCPUをRyzen 5900Xにアップグレードしてみた

自作PCを3700Xから5900Xにアップグレードしてみました。この記事を書いている時点でもうすでに2世代前のCPUではありますが、やはりRyzen 9はということもあり、特にマルチコアでは私の用途では十分速いです。 VRM等のCPU以外の冷却が少し心配ではありますが、CPUクーラーもAIOのものに変えてみました。240mmですが、マルチコアの負荷がかかるような状態でもCPU温度は80度を超えるようなことはなく、今のところ安定して動いています。Ryzen 9とは言ってもPPTは142Wであり、昨今のハイエンドよりはだいぶ扱いやすいような気がします。 さて、3700Xと比べると速くはなったのですが、コア数が増えた分、消費電力も大きくなっています。しばらく前からLinuxで使えるようになったamd-pstateがUbuntu 22.04でも使えるようなので、この設定を試してみることにしました。 Ubuntu 22.04の場合、/etc/default/grubを編集して GRUB_CMDLINE_LINUX_DEFAULT="quiet splash amd_pstate=guided " のようにamd_pstate=のオプションを追加し、update-grubコマンドを実行後、再起動します。私の環境では、アイドル状態のコアのクロックが500MHz程度とかなり低くなりました。 $ cat /proc/cpuinfo | grep -i mhz などとすると全コアの状態を見ることができます。

Ubuntu 24.04.4にアップグレードしたらFilesアプリでサムネイルが表示されなくなった件

普段使っているPCではUbuntuを使っていますが、世間ではもうUbuntu 26も出ているので、さすがにUbuntu 22から24.04.4にアップグレードしてみました。しかし、アップグレードしたところいくつか不具合が見つかりました。 1つ目は、Filesアプリでサムネイルが表示されなくなったということです。AI等に聞いてみてトラブルシューティングをしてもよくわからず、検索してみたところ以下のバグが見つかりました。 "AppArmor update removes /etc/apparmor.d/nautilus profile, breaking thumbnails in Nautilus (Ubuntu 24.04)" https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2148074 要はUbuntu 24.04.4で導入された不具合のようです。修正方法としては上記のバグスレッドにあるように # This profile allows everything and only exists to give the # application a name instead of having the label "unconfined" abi <abi/4.0>, include <tunables/global> profile nautilus /usr/bin/nautilus flags=(unconfined) {   userns,   # Site-specific additions and overrides. See local/README for details.   include if exists <local/nautilus> } という内容で /etc/apparmor.d/nautilus を作成し、 $ sudo apparmor_parser -r /etc/apparmor.d/nautilus でプロファイルをリロードすればよいようです。また、一度サムネイルが表示されなかった画像はその結果がキャッシュされているので、削除する必要があります。 2つ目は、Codexのプラグインがコー...

Pixel 3でTwitterやAmazonアプリがうまく動かない件について

最近Pixel 3を購入したのですが、Pixel 3だと自宅のWiFiでTwitterやAmazonアプリがうまく動かないことに気がつきました。具体的には、以下のように通信がうまくできていない感じのエラーが表示されます。 このようになるのはPixel 3だけで、手持ちの他のAndroid端末(Nexus 6P)やiPadだとうまく動きます。またPixel 3でも自宅のWiFiではなくてモバイルネットワークだとうまく動きます。 調べてみたところ、これはどうもAndroid Pieの問題のようです。 Netflix and other apps not working over home WIFI? https://forum.xda-developers.com/pixel-3-xl/help/netflix-apps-home-wifi-t3860103?fbclid=IwAR3mHrCzOABT-y2KQUoLrYJ3uubn9cTaSf5owJcYWZXBZncsXr48eKRrpZw 自宅ではTP-LinkのWiFiルータを使っていますが、調べてみたところデフォルトのMTUサイズは1480でした。フレッツ光の場合は1454にした方がよさそうです。これを変更したら無事に動くようになりました。