初めまして。
山の狸と申します。
<利用環境>
Windows 11 24H2 (10.0.26100.2605)
Thunderbird 128.6.0esr (64 bit)
<課題>
Thunderbird で HTML メールに HTML 文字装飾タグがあるメールをプレーンテキスト表示した時、テキスト装飾記号を表示しない方法を探しております。
<状況>
メッセージの表示形式をプレーンテキストで表示する設定にしていますが、HTML を表示した際に HTML の本文にはない記号 (「_」(アンダースコア)、「*」(アスタリスク)、「/」(スラッシュ)) を表示して文字に下線、太字・斜字の装飾をする場合があります。
ずっと以前からこの現象は発生しています。
プレーンテキスト表示を指定しているハズなのに、変な表示をして気味悪く思っています。
<調査>
気になるので、このことについて調べ始めたところ次の記事を見つけました。
本文に特定の記号を付けると Thunderbird で文字装飾して表示するんですね。
こんな動作をしているなんて初めて知りました。
https://www.pi-kun.com/archives/2729/> 「_」(アンダースコア)で囲まれた部分に、アンダーラインが引かれる
> 「*」(アスタリスク)で囲まれた部分が、ボールドで表示される
> 「/」(スラッシュ)で囲まれた部分が、イタリックで表示される
> メール本文で装飾されるテキストは以下の設定で直せました。
> 「設定エディター」にて、mail.display_struct を false に変更する
「設定エディター」を変更し、プレーンテキスト形式メールを作成して表示したところ、文字装飾はなくなりました。
しかし、表示からテキスト装飾記号「_」(アンダースコア)、「*」(アスタリスク)、「/」(スラッシュ) は消えません。
私が調べた中では、Thunderbird のテキスト装飾記号は上記の 3 つでした。もしかしたら、この他にもあるのかもしれません。
では、HTML 形式メールではどうなるかということで、下記のようにメールを作成しプレーンテキスト表示してみました。
次のように HTML 文字装飾タグをつけた HTML 形式メールを作成します。
<u>アンダースコア</u>
<b>ボールド</b>
<strong>ストロング</strong>
<i>イタリック</i>
プレーンテキスト形式で表示すると次のようになりました。
_アンダースコア_
*ボールド*
*ストロング*
/イタリック/
HTML 文字装飾タグがテキスト装飾記号へ置き換わりました。
mail.display_struct が
true であればテキスト装飾記号を含めて文字装飾表示します。
false であれば文字装飾をしません。
なお、mail.display_struct は true がデフォルトのようです。
これらのことから、次のことがわかります。
Thunderbird は、メールソースからプレーンテキストへ表示する際、HTML 文字装飾タグをテキスト装飾記号へ置き換えて表示する。
プレーンテキストの文字装飾するかは mail.display_struct の設定による。
<希望>
mail.display_struct を false と設定することで文字装飾はなくなりましたが、HTML メールのソースの文字装飾タグから作られたテキスト装飾記号は表示します。
このテキスト装飾記号と同じ記号が本文に存在すると混乱の原因になるので不要です。
必要があれば表示を HTML 形式へ切り替えて読めばいいわけです。
「Allow HTML Temp」というアドオン利用により、開いているメールをワンクリックで HTML 形式へ切り替えてくれます。
なお、プレーンテキストメールにテキスト装飾記号があった場合は、プレーンテキストをそのまま表示するという原則により、テキスト装飾記号を削除すべきではありません。
このような理由から、Thunderbird で HTML メールに HTML 装飾タグがあるメールをプレーンテキスト表示した時、テキスト装飾記号を表示しない方法はないかと探しております。
ネットで調べても方法を見つけることができませんでした。
もし、方法をご存じな方がいらっしゃいましたら、その方法を教えていただけるとありがたいです。
お手数ですがよろしくお願いします。