【確認要望】HTMLメールの<div>の処理につNo.02060
TATE2 さん 09/07/03 09:46
 
秀まるおさん

TATEです。

β12使用中です。
受信したHTMlメールをエディタで見ると、改行がされず詰まったよう
になっているメールを、HTMLメールViewerで見るときれいに見えます。
デコードは、TEXT/Plainパートがあっても無視する設定にしています。

HTMLメールのソースを見たところ、各行は<DIV>  </DIV>の記述が
ありました。

<DIV>タグの処理で、エディタでもきれいに見えると助かるのですが
いかがでしょうか。


素人なので詳しいことは分かりませんが、ご検討よろしくお願い
します。


[ ]
RE:02060 【確認要望】HTMLメールの<div>No.02061
秀まるお さん 09/07/03 10:57
 
 <div>および</div>があると適当に改行します。

 例えばHTMLの方で、

<html>
<body>
<div>あいうえお</div><div>かきくけこ</div>
</body>
</html>

 とあると、それをブラウザ上で見た場合に「あいうえお」と「かきくけこ」の
間に改行が入った形になります。(少なくともFirefoxで見た場合には)

 なので、秀丸メールでも上記のような物は

    あいうえお
    かきくけこ

 のように改行を入れます。

 ブラウザの表示で改行しないケースがあるのかもしれませんけど…。

 僕がテストした限りは上記の通りですけど、もっと具体的に、例えばブラウザ
上では改行しないけども秀丸メールのテキスト形式上では改行してるとか、何か
例があれば、もっと具体的なHTMLの内容を教えて欲しいです。

 ただし、以前から何回かお返事してはいますけど、秀丸メール側での処理は結
構単純に「改行を入れるか入れないか」程度にやってるだけなので、あんまり難
しいことをしてまでレイアウトをきれいにするようなことはやるつもりは無いで
す。

[ ]
RE:02061 【確認要望】HTMLメールの<div>No.02066
TATE2 さん 09/07/04 21:47
 
TATEです。

今回の件は、HTMLメールViewerでは、きれいにレイアウトされている
HTMLメールが、エディタでは改行ができていなくて、つまったように
見えることでした。
その改行ができていなかった行に、<DIV>タグがあったので確認させ
ていただきました。

具体的なサンプルを今まで探していたのですが、受信ログが消えた
中にあったかもしれず、見つけきれていません。

その前からエディタで見ると改行がされず、つまった感じのメール
があったので、少々気になっていた次第です。


サンプルが見つかればお知らせします。







[ ]
RE:02066 【確認要望】HTMLメールの<div>No.02067
TATE2 さん 09/07/04 22:53
 
TATEです。

サンプルが見つかりましたので、メールにて送付しました。
(諸事情により画面のハードコピーになりました)
ただ、古いメールでしたので秀丸メール以外にも当時の環境やHTML
メールなどの問題かも知れませんので、原因が不明です。

ここ最近のメールの中にはありませんでしたので、しばらく様子を
みることにします。お騒がせしました。




[ ]
RE:02067 【確認要望】HTMLメールの<div>No.02073
秀まるお さん 09/07/06 14:34
 
 いろいろ並行して送っていただいてるのでちょっと混乱してますけど、pdf形
式で送っていただいてる件ですよね。これ、僕の所で見るとぼやけたみたいにし
か見えなくて、何が書いてあるのかさっぱり分かりません。

 それに、そもそも画面上でどう見えるかというのじゃなくて、元々のHTML形式
でどうなってるのかが分からないと意味が無いというか、テストのしようがあり
ません。

> ここ最近のメールの中にはありませんでしたので、しばらく様子を
> みることにします。お騒がせしました。

 ということなので、とりあえずこの件は忘れさせていただきます。

[ ]
RE:02073 【確認要望】HTMLメールの<div>No.02080
TATE2 さん 09/07/06 19:26
 
TATEです。

混乱させてしまい申し訳ありませんでした。

受信ログがありませんでしたので、画面例だけでも送付しようと
したのですが、内容的に開示できない代物でしたので、故意に手を
加え判読はできないようにぼやかしたものを送付した次第です。

この件はクローズで問題ありません。


 

[ ]
RE:02080 【確認要望】HTMLメールの<div>No.02112
TATE2 さん 09/07/09 14:04
 
TATEです。

今更ながらですが、1点だHTMLメールViewerとTEXT/Plain部分を無視
した時のエディタでの表示内容の違いですが、<P>タグの処理が違う
ようです。

HTMLメールViewerは、<P>があると改行をいれてくれるようですが、
エディタ表示では、改行がはいらないようです。

確認がてらお知らせまで。



[ ]
RE:02112 【確認要望】HTMLメールの<div>No.02113
秀まるお さん 09/07/09 14:20
 
 <p>は改行扱いしているはずですけども…

    static char*    apszReturn[] = {
        "br", "p", "/title", "/td", "ul", "/ul", "ol", "/ol", "/h", "div", "
/div", NULL
    };
    char**  apsz = apszReturn;
    while( *apsz != NULL ) {
        int cch = strlen(*apsz);
        if( _memicmp( pchSrc, *apsz, cch ) == 0
         && ! isalpha( pchSrc[cch] ) ) {

 みたいな処理をしているので、<p>も<br>とまったと同じように改行扱いする
処理をしています。

 ただし、一部例外があります。

        // 改行が4つ以上連続していたら、それを3つにしてしまう。

        // </xxxx>系タグが連続してたら、それらを全部無視する。
        //V3.64β6 </div>の後の<div>も無視する

 のような例外処理もしています。

 具体的に「こういう場合はこう表示すべきでは」という話があるのでしたら、
それについての具体的なHTML形式の100%生のデータ(<html>から始まって</
html>までの全部)を教えて欲しいです。

[ ]
RE:02113 【確認要望】HTMLメールの<div>No.02116
TATE2 さん 09/07/09 19:46
 
TATEです。

コメントありがとうございます。

ここ最近受信したHTMLメールも同様の現象がおきるものが
ありますが、内容的に開示できる代物ではないので、部分
的に開示するのでご了承いただけないでしょうか。

また、この場合、HTMLメールViewerで表示した時のソース
表示内容で問題がなければ、送付させていただきますので
よろしくお願いします。

ソースを見る限りでは、<P>部分の処理に差があるように
みえます。




[ ]
RE:02116 【確認要望】HTMLメールの<div>No.02117
秀まるお さん 09/07/10 09:39
 
 送っていただいた内容によると、たしかに秀丸メールは<p>で改行の処理をし
ています。ただし、改行の数がTATEさんの期待する数と違うようです。

 秀丸メールでは、<p>も<br>も、改行は1つしか入れないです。

 Outlook Expressでのtext/plainパートでは、<p>では改行を2つ入れてるよう
です。

 これはこれで、僕としては改行1つでいいと思います。

[ ]
RE:02117 【確認要望】HTMLメールの<div>No.02118
TATE2 さん 09/07/10 14:02
 
TATEです。

ご確認ありがとうございました。
仕様と認識しました。

Outlook Expressとの相違があるのですね。




[ ]
RE:02061 HTMLメールテキスト変換処理につNo.02119
Iranoan さん 09/07/11 00:35
 
 秀まるおさん今日は、Iranoan です。
>  ただし、以前から何回かお返事してはいますけど、秀丸メール側での処理は結
> 構単純に「改行を入れるか入れないか」程度にやってるだけなので、あんまり難
> しいことをしてまでレイアウトをきれいにするようなことはやるつもりは無いで
> す。
を解った上で、改善して頂けるとありがたい点が 2 つ。
・<style 〜>, </style> と挟まれた部分は、全体を無視して良いのではないか?
    現在
    <style type="text/css">
    body {
    font-family:'MS ゴシック',sans-serif;
    color:#333;
    }
    </style>
    等とあると、
    body { font-family:'MS ゴシック',sans-serif; color:#333; }
    とテキストにした時に無意味な情報が残る
・<img src="..." alt="〜"> となっていたときは、alt 属性の中身を展開しては?

 今回たまたま受け取った HTML メールの文頭が、
> ※画像が正しく表示されない方は、[a:http://〜]こちらをクリックしてください。
となっており、そこのソースが受け取った HTML のそれと殆ど同じ (リンク先
が、相対/絶対参照の違い程度) だったのですが、Hidemarnet Explorer では、
どちらも対応していたので、欲が出てきました。
 方や VB で開発なので、簡単には移植できませんかね(^^;。

[ ]
RE:02119 HTMLメールテキスト変換処理につNo.02123
秀まるお さん 09/07/13 11:54
 
 <style>〜</style>は、たしかに無視すべきなので、無視します。

>  方や VB で開発なので、簡単には移植できませんかね(^^;。

 Hidemarnet Explorerでのその辺の処理は、秀丸担当がC++で作っている物です
けど、秀丸メールとは全く別に作られています。

 みんな勝手に仕事してるので…

[ ]
RE:02123 HTMLメールテキスト変換処理につNo.02124
秀まるお さん 09/07/13 11:59
 
 っと思って直そうとしたら、既に<style>〜</style>は除去するようになって
いました。

 例えば以下のHTMLテキストならうまく除去します。

<html>
    <style type="text/css">
    body {
    font-family:'MS ゴシック',sans-serif;
    color:#333;
    }
    </style>

<body>
 あいうえお
</body>
</html>

普通は<style>〜</style>は<head>〜</head>の中にあると思いますが、その場合
はそもそも<head>〜</head>自体が除去されるので、大丈夫なはずです。

 やはりこういうのは具体的なHTMLテキスト全体を教えてもらわないとダメなよ
うです。

[ ]
RE:02124 HTMLメールテキスト変換処理につNo.02128
Iranoan さん 09/07/13 22:27
 
 秀まるおさん今日は、Iranoan です。
>  やはりこういうのは具体的なHTMLテキスト全体を教えてもらわないとダメなよ
> うです。
 そのようです。
 ログをちゃんと見たら、末尾のように、body 要素にあるという企画外の形
式でした。
<!-- ------------------------------------------------------------
Content-Type: multipart/alternative; boundary="-ae27a892956670507260d59ac5ea
32bc-1"
Content-Transfer-Encoding: 7bit

---ae27a892956670507260d59ac5ea32bc-1
Content-Type: text/plain; charset="ISO-2022-JP"
Content-Transfer-Encoding: 7bit

(hoge)

---ae27a892956670507260d59ac5ea32bc-1
Content-Type: text/html; charset="ISO-2022-JP"
Content-Transfer-Encoding: quoted-printable

<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset
=3Diso-2=
022-jp">
<title>title</title>
</head>
<style type=3D"text/css">
body {
font-family:'ms gothic',sans-serif;
color:#333;
}
</style>
<body>
....
</body>

---ae27a892956670507260d59ac5ea32bc-1--
-->

[ ]
RE:02123 HTMLメールテキスト変換処理につNo.02129
Iranoan さん 09/07/13 22:27
 
 秀まるおさん今日は、Iranoan です。
>  <style>〜</style>は、たしかに無視すべきなので、無視します。
 有難うございます。

>  Hidemarnet Explorerでのその辺の処理は、秀丸担当がC++で作っている物です
> けど、秀丸メールとは全く別に作られています。
>
>  みんな勝手に仕事してるので…
 「全く別」となると簡単にマージも出来なさそうですね。

[ ]
RE:02128 HTMLメールテキスト変換処理につNo.02131
秀まるお さん 09/07/14 09:12
 
 調べてみたら、</title>の後に</head>があると、その</head>が無視されてて、
後々おかしくなってしまってました。ということでバグでした。

 ということでまた修正させていただきます。

[ ]
RE:02131 HTMLメールテキスト変換処理につNo.02135
Iranoan さん 09/07/14 16:01
 
 秀まるおさん今日は、Iranoan です。
>  調べてみたら、</title>の後に</head>があると、その</head>が無視されてて、
> 後々おかしくなってしまってました。ということでバグでした。
 どうもありがとうございます。

[ ]