さまざまな縦書き表示法の長所と短所

現在日本語を縦書きで表示しているウェブ・サイトは少なからずあり、それらはこのサイトも参加しているウェブリング「縦書きサイト普及委員会」の参加サイト一覧からも容易にたどることができます。これらのサイトを見てみると、現在日本語を縦書きに表示するために使用されている方法は、おおむね六つに分けられるようです。ここではそれらの一つひとつについてその長所と短所を簡単に見ていきたいと思います。

 pre要素の利用

HTML文書のpre要素内に書かれたテキストは、整形済みとしてそのままブラウザに表示されます。日本語を縦書きで表示しているサイトの三分の一ほどがこのpre要素の効果を利用しています。しかし左から右、上から下の横書きで書かれるHTML文書に、上から下、右から左に読ませる文章を書いていくには、文章を一文字ずつばらばらにしてパズルのように組合わせなければなりません。この面倒な作業を自動化してくれるプログラムがいくつも作られ使われているようですが、このようにしてできあがったページは一見縦書きに見えるというにすぎず、実際にHTML文書に書かれている内容は、正しく左から右へ横向きに読んだ場合にはまったく意味をなさない日本語の文字の羅列になってしまっています。もちろん縦書き部分の文字列の検索もできません。この方法を使えば基本的にはどのようなブラウザを用いても縦書きに見えるので、それは長所と言えるかもしれませんが、しかしデータとして利用できないのではコンピュータを使用するメリットが大きく損なわれてしまいます。

 td要素の利用

td要素とは本来は表の各コマを構成するものです。これを流用して縦書きにする方法には、td要素内で一文字ずつ改行する方法と、td要素の幅をあらかじめ一文字分に設定して縦に細長いコマを作る方法、さらにはtd要素内でpre要素を用い縦に一文字ずつ並べる方法などがあります。この方法も先に述べたpre要素を用いる方法同様、基本的にはどんなブラウザでも縦書きで見ることができます。しかしそのためには、文章を一行分ずつに切って一コマごとに埋めていかなければなりません。結果としてHTML文書に書かれた内容が日本語の文章としては意味の通らないものとなってしまうという点で、pre要素を利用する方法と大差はありません。またそもそもpre要素やtd要素のこのような正しくない使い方は、アクセシビリティの面で重大な問題があると言えます。

このtd要素を利用する方法も、およそ三分の一のサイトで使用されています。

 画像の使用

画像を使う方法の最大のメリットは、写真などもとりまぜて自分の思い通りにレイアウトできることでしょう。しかしそれはあくまでも「絵」にすぎず、そこに書かれている文章は文字データではありません。またこの方法の最大の欠点は、ファイル・サイズが極めて大きくなることです。そのため現在実際にこの方法が使用されている例を見ても、俳句や短歌などの短い文章がほとんどです。

 プラグインの使用

縦書きレイアウトが可能なプラグインの代表的なものとしてはAcrobat Readerが挙げられます。仕上がりが美しく、ネット上でも文書の配布によく使われていますが、これの欠点は、ファイル・サイズが大きくなりがちであること、文書作成の敷居が高いこと、および読み手はまさに読むだけでその文書のデータに手を加えることができないことでしょう。

なお、フリーウェアのQTviewのようにテキスト・ファイルを読み込んで縦書きにするものもあります。しかし、そもそもそのページを読もうとする人のブラウザにこのプラグインが組み込まれていないと、ファイルをまったく表示することができません。

 スタイルシートの使用

スタイルシートとは、HTMLなどの文書をどのように表示するか指示するものです。現在検討が行なわれているスタイルシートの新しい仕様の中にwriting-mode属性というものがあり、これを使うことによってHTML文書を上から下、右から左へと表示するよう指定できるようになります。この方法には、Netscapeなど現在まだこれをサポートしていないブラウザがあるという問題がありますが、しかし正しく書かれたHTML文書であれば、この属性をサポートしていないブラウザはそれをそのまま横書きで表示してくれるので、縦書きにはならないというだけで普通に読むことができます。もちろん画面上でコピーしたものをメモ帳などに貼り付けることもできます。アクセシビリティも横書きのページと何ら変わりません。今後縦書きレイアウトに対応するブラウザが増えてくるであろうことを考えれば、このスタイルシートを用いるのが、これまで挙げた方法の中で最も優れていると思われます。

 JavaScriptの使用

この方法については、画面上の縦書き部分をコピーすると先に述べたpre要素やtd要素の場合と同じようにおかしな日本語となってしまうという意見があります。中にはファイル・ソースからページのもととなったオリジナルの日本語の文章を見られるものもありますが、すでにスタイルシートを使えば縦書きで表示できるようになってきているわけですから、今後わざわざJavaScriptを使うメリットはないのではないかと思われます。

* * *

これらのことから、日本語を縦書きで表示するにはスタイルシートを使用するのが最も望ましいと考えられます。本ページでは以下でこのスタイルシートを用いた縦書き表示法について解説していきます。

* * *

参考サイト

ページ先頭へ