HTMLで縦書きを実現するJavaScriptライブラリまとめ
縦書きのWebサイトを作ることになりそうなので、HTMLで縦書きを実現するJavaScriptライブラリをまとめてみた。
JavaScriptライブラリ
現在フリーで配布されている有名な縦書き用JavaScriptライブラリとして、以下の2つがある。
どちらも非常に使いやすいライブラリなので、用途に合わせて使い分ければよいと思う。
1. 竹取JS
竹取JSは、株式会社CMONOSが提供している縦書き用JavaScriptライブラリ。
単純なテキストだけでなく、リストや装飾等HTML全般に対応しているという特長がある。
また、フォントやマルチカラム、キャッシュ、ダブルクリックによる縦書き/横書き切り替え等、様々な設定が可能となっている。
動作については、任意のWebサイトを縦書き表示に変換する竹取Webを試してみるといいと思う。
コード例
<script type="text/javascript" src="taketori.js" charset="UTF-8"></script>
<script type="text/javascript">
//<![CDATA[
(new Taketori()).set({設定項目:値,設定項目:値}).element('縦書き対象要素ID').toVertical(画面の読み込み待ちをするかどうか);
//]]>
</script>
関連記事
- JavaScriptを使った縦書きライブラリ「竹取 JS」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ
- 縦書きを可能にするjavascriptライブラリ「竹取JS」 | DesignDevelop
2. nehan
こちらは(おそらく)個人により開発されているライブラリ。
最新版は3.0.5(執筆時現在)で、現在も開発が行なわれているらしい。
nehanの特長として、開発者のブログにあるようにページングにも対応している点がある。
なお、nehan開発者が運営している、nehan利用サービスとして以下の縦書き文庫がある。 利用例について見てみたい方はぜひ。
コード例
// source text
var text = "hello, nehan3";
// layout definition
var layout = new Nehan3.Layout({
direction:"horizontal", // or "vertical"
width: 640,
height: 480,
fontSize: 18
});
// create page generator
var generator = new Nehan3.PageGenerator(text, layout);
// yield page 1
var html_page1 = generator.yieldPage();
$("#page1").html(html_page1);
// yield page 2
if(generator.hasNext()){
var html_page2 = generator.yieldPage();
$("#page2").html(html_page2);
}
関連記事
- 縦書き表記をサポートするテキストレイアウトエンジン「Nehan」 - MOONGIFT|オープンソース・ソフトウェア紹介を軸としたITエンジニア、Webデザイナー向けブログ
- 縦書きを実現するJavaScript「nehan」|skuare.net
追記:tategumi.js
tategumi.jsは合同会社アライアンス・ポートのKumihan Projectが開発しているライブラリ。
僕自身まだ利用したことはないが、会社のサイトによると
JavaScriptによってブラウザ上の表示を制御し、日本語における縦書き、段組、追い出し等を実現します。 シックス・アパート株式会社と共同開発したMovable Type 4のプラグイン製品「新聞ブログ」はこのKUMIHANの技術を応用することで実現されています。
とある。 デモコードもあるので、一度試してみてはどうだろうか。
(情報提供していただいた id:labduck さん、ありがとうございました!)
関連記事
備考
以下の記事にあるように、将来的にCSSで縦書き指定が可能になるかも知れない。
おわりに
日本語の縦書き表現は、Webサイト上においては独特の表現ができる。 ただ、それだけでなく守るべき文化でもあると思う。
Web上でもっと自由に縦書きが表現できるようになるといいな。