【縦書き】h2v.js の新バージョンは h2vR.js となりました(事後報告)。

毎度ご贔屓にしていただいている縦書き変換JavaScript・h2v.jsなのですが。

いろいろと考えた結果、縦書きに必要なパラメータ(フォントサイズや行間スペースなど)の設定方法を大幅に変更することとなりました。

つまり。

「縦書きに変換する動作」自体は殆ど変わっていないけれど、パラメータの設定方法には全く互換性がない

…というバージョンが誕生してしまったわけなのですね。

そういうわけで、混乱を避けるためにこの新しいバージョンからはスクリプト名を変更します。名づけて

h2vR.js

です。はい。

詳しくは公式ページで。

…ということなのです。突然の仕様変更、申し訳なく思っています。

h2vR.jsの開発意図は「レスポンシブなデザインのページに、もっと楽に対応したい」という事に尽きます。

スマホが爆発的に増加しているこのご時世、うちのサイトでも最近は、アクセスの半分近くがスマートフォンからとなっています。で、必然的にスマホにも対応したデザインのページを作成せざるを得ない状況。

PC / スマホ 両対応のページを作ろう、と思った時によく使われる手が、

スタイルシートの @media クエリを利用して、ブラウザのウィンドウサイズ(スクリーンサイズ)に応じてスタイルを切り替える。

…という、皆さんご存知の所謂『レスポンシブデザイン』という奴です。

で、これまでの h2v.js。

表示フォントサイズなどのパラメータを、関数 h2vconvert.init() に渡して縦書きに変換。

という仕様だったので、スクリーンサイズによって縦書き領域のフォントサイズなどを変更したい…と思った時にちょっと面倒臭い。例えば、

  • スクリーンサイズを検知するスクリプトを別に用意。
  • 各スクリーンサイズに対応するパラメータを用意。
  • 検知されたスクリーンサイズに基づいて、パラメータを切り替えて h2vconvert.init() に渡す。

…と、なんだか二度手間三度手間。

さて、どうしよう。もっとシンプルに行けないものか。

あ、フォントサイズなどの値をパラメータ渡しするのは止めて、その要素に指定されているスタイルシートから取得することにすればいいんじゃね?

…ということで仕様変更して出来たのが h2vR.js というわけなのです。

h2v.js → h2vR.js の重要な変更点は以下のとおりです。

  • h2vconvert.init() の廃止。
  • 縦書き領域の指定方法を「固有の id を付加」→「特別な class 名を付加」に変更。
  • Windows XP および Internet Explorer 8 への対応を終了。

h2vR.jsの設定方法は こちらのドキュメント などをご覧ください。

そして、旧バージョン h2v.js の今後です。

  • レスポンシブデザインなど関係ない。
  • 過去に作成したページを h2vR.js 対応に書き換えるのは面倒だ。
  • どうしても IE8 に対応し続けたい。

などなど、様々な理由で h2v.js を使い続けたい方々もいらっしゃると思います。そのお考え、至極ごもっとも。

今後も当分の間、h2v.js のメンテナンスは続けてゆくつもりです。今後のポリシーはこちらのとおりです。

ということで、よろしくお願いします。

カテゴリ: