[1] テキストエディターで表示・編集可能なファイルを一般にテキストファイルといいます。
[2] 狭義には平文のファイルのことを指します。広義には XML やバイナリデータを含まない PostScript などのファイルも含みます。
[3] 平文の場合 text/plain
が用いられます。また実際には平文とはいえなくてもテキストファイルであれば
text/plain
が用いられることがあります。しかし本来はそれ以外の適切な MIME型を用いるべきです。
広義のテキストファイルは text/*
のMIME型を使うことが多いですが、
image/svg+xml
や image/xbm
、application/xml
のようにそれ以外の型を使うこともよくあります。
[20] Webブラウザーは、次の MIME型への navigate で、 テキストファイルとして表示します >>26。
[21] かつての HTML Standard では、 text/plain
だけが該当するとされていました。
2015年9月に実態を踏まえて拡充されました >>27。
[22] Gecko は次の MIME型をテキストファイルとして扱います >>218, >>219 ():
[24] Chrome は次の MIME型をテキストファイルとして扱います >>23。
[25] 未対応のテキスト型とは次のもので、そのまま表示されることを利用者が想定しないだろうとの注釈があります >>23。
[4] ファイル名の拡張子としては .txt
を用いることが多いですが、
広義のテキストファイルはそれぞれの適切な拡張子があることが普通です。
[6] navigate におけるテキストファイルの DOM の構築は、 HTML Standard で規定されています >>5。
[7] これは HTML構文解析器と HTML文書を使います。
[16] かつては document.open
で非 HTML の時にも、同じように
DOM が構築されていました。
document.open
参照。[8] HTML構文解析器をまず次のようにしなければなりません >>5, >>17。
[9] ここで、構文解析器によって head
要素が挿入されることになりますが、
navigate ではその内容は必要に応じて作成して構いません >>5。
[10] 例えば text/plain
関連仕様に従ったレンダリングのための
CSS を参照できます。
document.open
ではこの規定はありません。[11] navigate で入力のバイト列からどのように文字列を得るかは、 HTML Standard としては規定せず、 sniffed MIME type の仕様に委ねています >>5。
meta
要素の処理を除外したものを適用するのが最も妥当でしょうか。
sniffed MIME type が CSS や WebVTT など文字コードの解釈が規定されている場合はそちらに従うのが正しいですが、
実際の Webブラウザーがそうしているのかどうかは謎です。[28] 39042 – Display TXT using mozTXTToHTMLConv (linkify links, uris, urls in text/plain documents) ( 版) https://bugzilla.mozilla.org/show_bug.cgi?id=39042
[29] gecko-dev/mozITXTToHTMLConv.idl at master · mozilla/gecko-dev ( 版) https://github.com/mozilla/gecko-dev/blob/master/netwerk/streamconv/mozITXTToHTMLConv.idl
[30] Ben Bucksch - Projects - Mozilla - TXT->HTML Conversion ( 版) http://www.bucksch.org/1/projects/mozilla/16507/
[31] RFC 5507 - Design Choices When Expanding the DNS ( ()) https://tools.ietf.org/html/rfc5507
[32] Remove processing for document.open()'s type parameter (annevk著, ) https://github.com/whatwg/html/commit/ac52e65a6a37b6c4163de32082a50c7da15c6c96
[33] document.open() doesn't set contentType (document's content type) · Issue #3546 · whatwg/html () https://github.com/whatwg/html/issues/3546
[34] Remove processing for document.open()'s type parameter by annevk · Pull Request #3559 · whatwg/html () https://github.com/whatwg/html/pull/3559