web-dev-qa-db-ja.com

Outlook 2010のArialからTimes New Romanへのフォントファミリのオーバーライド

プログラムでHTML形式の電子メールを送信し、フォント全体をArialとして設定しています(font-family: Arial;)。メッセージがOutlook 2010に到着すると、table要素のテキストはTimes New Romanになります。 div要素のテキストは、Arialでは問題ありません。もし私が View Source、HTMLファイルへのコピー、ブラウザでの表示、すべてのフォントは期待どおりに機能します(すべてArialです)。

一部のGoogle results は、何も指定されていない場合、Outlookがデフォルトのフォント(Times New Roman)にフォールバックすることを示していますが、それはここで起こっていることではありません。

別の方法で指定されたときにOutlookがTimes New Romanでメールを強制的に表示するのはなぜですか?

43
Tom Hamming

font-family: arialをテーブルに設定しても、機能しません。正しくするには、td内の各tableのフォントを明確に設定する必要があります。

65
defau1t
<!--[if mso]>
<style> body,table tr,table td,a, span,table.MsoNormalTable {  font-family:Arial, Helvetica, sans-serif !important;  }</style>
<!--<![endif]-->
27
user956584

問題のtableは、スタイルにfont-family:Arial;が含まれるdivにネストされましたが、tableにはフォントセットがありませんでした。そのため、一部のクライアントでは、テーブルはHTMLメールのコンテナからフォント(およびおそらく他のもの)を継承しません。

10
Tom Hamming

この問題はOutlook 2007で発生し、以前のソリューションは機能しませんでした。機能すると思われる唯一のソリューションは、テキストを<font face="arial, sans-serif">My text with arial</font>

6
Grekz

Outlook 2007で作業している場合、tableでfont-familyを定義する必要があります。それ以外の場合は、デフォルトのセリフフォントに設定されます。

2
Endrian

@ font-faceにリンクされたカスタムフォントを使用して、上記の方法のいずれも機能しませんでした。 Outlookのコンディショナルタグを使用する必要がありました。正確に把握するためにかなり時間がかかりました。だから私はコード例をセットアップしました:私は私の状況でこれを実装するのにまだいくつかの問題を抱えていたので、このためのコード例を共有しました: https://stackoverflow.com/a/21626196/135654

1
tvgemert

table.MsoNormalTable {font-size:12.0pt; font-family:"Times New Roman";}テキストパッドでHTMLを開き、Arialに変更します。

1
Luuci

<font>タグは廃止されましたが、Outlook 2010は(ほとんどすべての)スタイルを削除しているため、これが唯一の動作方法です。

1
user2528858

あなたのスタイルを「スパン」タグに入れることができます、それはうまくいきます。

   <td>
       <span style="font-family: "Times New Roman"></span>
   </td>
1
Justin

私は同じ問題を抱えていた....電子メールの本文のすべてのテキストはArialでしたが、テーブルはデフォルトでWordになりました。各セルでフォントをラップする必要がありました......時間がかかりました。

0
user5455429