縦書き対応のJTextPane
JavaでGUIアプリケーションを開発する際には、SwingというAPIを使用する。Aozora Viewerも、ウィンドウ、ボタン、タブ、パネルなど基本的にはすべてSwingのコンポーネントで作成している。しかし、肝心の縦書き表示となると、 汎用的なAPIは提供されていない。このためAozora Viewerの開発はその90%以上が、縦書き対応コンポーネントの開発に費やされた。
JavaでGUIアプリケーションを開発する際には、SwingというAPIを使用する。Aozora Viewerも、ウィンドウ、ボタン、タブ、パネルなど基本的にはすべてSwingのコンポーネントで作成している。しかし、肝心の縦書き表示となると、 汎用的なAPIは提供されていない。このためAozora Viewerの開発はその90%以上が、縦書き対応コンポーネントの開発に費やされた。
JavaからWebブラウザを起動するにはいくつか方法がある。
juniversalchardet はエンコーディングを判別してくれるオープンソースの Java ライブラリです。Mozilla のエンコーディング判別ライブラリ universalchardet を Java に移植したもので、データのエンコーディングを知りたいときに使えます。
判別可能なエンコーディング例
日本語
・ISO-2022-JP
・Shift_JIS
・EUC-JP
Unicode
・UTF-8
・UTF-16BE / UTF-16LE
・UTF-32BE / UTF-32LE
……など
最近 Java で、「エンコーディング不明のテキストファイルを読み込み、編集したあと、読み込み時のエンコーディングで (元々のファイルのエンコーディングを維持して) 書き込む」というコードを書いたのですが、これを利用して簡単に実装することができました。
使い方はというと…
(続きを読む…)
copyright © all rights reserved. powered by SPress