プレーンテキストでどこまで頑張れるのか

このサイトも比較的プレーンテキストに近い書式だけで表示されるように考えて作っているが、完全にプレーンテキストでできることというのは限られている。

リストとか、引用とか、参照とか、タグとか、そういうのをちゃんと書こうと思ったらどうしてもhtmlでちゃんとした記法で書かなくては滅茶苦茶になる。完全に縦書きで行けるように書こうとかするとうまくいくのかもしれないが、つまり青空文庫形式である。まあそれもビューアを通さないもまともな見た目にはならないので結局はプレーンということにはならないだろう。

しかし、プレーンテキストへの憧れというか、それだけで何とかなってしまう、つまりデジタルデバイスで表示不能なものが存在しないというのがたまらなく素晴らしいと思う。だが、問題があって、どこでも開けるとは思うのだが、それは英語のみの話で、日本語は文字コードが限定されている。UTF-8で一律で書いてしまえばどこでも開けるが、古いWindowsマシンだと文字化ける可能性が高い。文字コードを指定できる環境なら良いのだが、MacだとShift-jisで書かれたプレーンテキストが完璧に文字化ける。

だから絶対プレーンテキストだったら完璧に大丈夫というわけでは無いのだが、evernoteみたいに環境によって開ける開けないみたいなことが比較的すくないのが良い。

そこで記法を考えて行こうと思う。まずタイトルは、人に見せる必要があるとき、まあ仕事で使う時はタイトルがないと迷子になるとか、わかりづらいというクレームが出るだろうから、対応してあげるとして、自分が利用するだけの場合は必要ないと思う。ブログもアクセスを狙って大勢に読んでもらいたいという狙いが特別あるならやったほうが良いが、別になくても良い。むしろ無くて、ダラーっと書いてあるほうがこっちとしては読み応えがあっていい。無理にタイトルに当てはめて話作ってるなみたいなのが無くて、読みやすいからだ。

読む分にはそれで良いが、使う必要がある場合は、何かしらカッコでくくるとか、四角で最初にマークつけとくとか、そういう必要があるだろう。ツールに関しては、明確にここからはこれというのをやったほうが良い。しかし、hタグとかを使うと、ブラウザなどの表示できるソフトが必要になるので、そういうのが必要ない書き方として【こういうのとか】、■こういう感じで、他との違いを書くのが良い。

英語よりも使える文字がおおいのが日本語の利点ではあるが、書くときに少し面倒である。どんなデバイスでも表示可能なのは良いのだが、書くときには辞書に登録した文字じゃないと変換に手間取る。だからできるだけ標準的に使える記号や、カッコで対応するのが良いのではないかと思う。例えばToDo表とかをプレーンテキストで書こうと思うなら□タスク、みたいのが終わったらレ点では無く、■タスク、みたいに書き換えるのも良い。□が口みたいに見えるというのなら、◇◆でも良いだろう。丸でも良いが、デバイスによっては(特にiPhone)丸が変な絵文字みたいになってプレーンテキストでは表示できない可能性があったりするので注意が必要だ。Windows、Mac、iPhoneあたりで確認して問題なければAndroidでも何とかなる。iPhone使っていながらAndroidというのは珍しいがプレーンテキストで表示できると言ったらどんなOSでも表示可能であるということ。

テキストデータというのはコンピュータの中でも最も素に近いデータである。それ以上簡素なデータは少ない、というか知らない。全ての基礎になっているデータなので、開けないということはない。つまり、世界中のデバイスが一斉にぶっ壊れたりしない限り、どこでも再生可能であるということだ。リッチテキストである必要はほとんどない。写真に説明みたいなのが必要な場合はいるだろうが、そういうのはhtmlで生成すれば良い。大体再生可能だ。

困るのはWord形式とか、evernote形式とか、エクセル形式とか……他デバイスで開ける保証のないデータをどうするかという時である。htmlで良いと思うし、マークダウン記法でも良いが、とにかくバイナリに変換されて後でテキストが取り出せないような形式でなければ良い。

テキストとデータベースがどう違うのかを調べたが、要はデータベースはテキストを分けて保存していたような情報を構造化して持てるという利点があるようだ。テキストは最後まで読み込まないと表示できないが、データベースなら、構造の特定部分にだけアクセスすることで目的のデータを取り出せるということみたいだ。データが重くなればなるほどテキストは時間がかかるのに比べ、データベースはいくら重くなってもすぐに取り出せるという違いがある。巨大なデータを扱うならデータベースでやらないとすぐにサーバがパンクするということだ。

ところが2ちゃんはdatという形式で保存して、それをcgiで表示するやり方である。datというのはプレーンテキストデータの拡張子が違うだけのもので、データベースではない。2ちゃん型のブラウザはcgiを介して表示したりせず、ダイレクトにdatを読み込んでそれを成形するため、いくらアクセスがあっても、人大杉にならないのだ。人大杉はread.cgiを通して読んだ場合に起こるからだ。つまり、2ちゃんと同じ形式のdatが作れれば専用ブラウザで表示可能なのかも知れない。知らんが。

さて、プレーンテキストで次にリストをどうするかという問題がある。本ブログでもそこがまとまってなくて、毎回違う書き方になってしまって嫌なのだが、本当はインデントができればいいのだが、青空文庫形式にしたらそのインデントは完全に消されてしまうので後で確認ができない。一番いいのは使わないということだが、それだとあんまりなので、何かを考えてみよう。特に決まってないから、ここで決めてしまう。例えば「・」これならどんなデバイスでも再現可能であるが、階層化には向いていない。なぜならこの下がないからだ。行頭に――をつけるのはどうかこれなら、何個でも階層化できる。一階層「―」これ(ダッシュ)一個というルール。ちょっとやってみよう。

◇リスト化記法の取り決め

―第一階層

――第二階層

―――第三階層

――――第四階層

やっぱり、――だと一(いち)と間違えそうだから、……にするか。

◇リスト化記法の取り決め

…第一階層

……第二階層

………第三階層

…………第四階層

これが良さそうだ。

次に引用。blockquoteで引用タグなのだが、後でわからなくなってしまう。『』とかでくくるか。しかし、複数行になるとわかりづらい。都度やってみて良さそうな方法を見つけるしか無さそうだ。

3/31/2016 09:19:00 PM