![]() |
The WebKit Open Source Project |
Surfin’ Safari - Blog Archive » Ruby Rendering in WebKitにおいて、WebKitで実装されているルビ機能についてと、今後の課題が簡潔に紹介されている。ルビは対象となる文字または文字列のまわりに読み方や説明を追加する表記法。日本語では漢字に対して読み方を記載する方法として活用されているほか、対象に対して別の読みを割り当てたり別の言葉をオーバーラップさせて独特の雰囲気を生み出すためのテクニックとして小説や漫画で利用されている。
ルビ機能はXHTML 1.1でモジュールとして導入されたほか、現在策定中のHTML5で要素として策定が進められている。ルビのより高度なレンダリングについてはCSS3においてCSS3 Ruby Moduleとしても策定が進められている。現段階でサポートしているのはIEと開発版のChrome、それにナイトリービルド版のWebKit (Safari)となる。XHTML 1.1ルビモジュールベースの表記であればFirefoxはエクステンションをインストールすることで対応可能。
|
|
ルビの利用例 WebKit Nightly Build / Mac OS X Snow Leopard |
ルビの利用例 Firefox 3.6 / FreeBSD 9-CURRENT - ルビに対応していないためそのままテキストがレンダリングされている |
HTML5で策定が進められているルビはruby、rt、rpの3つの要素で構成されている。ruby要素で全体をまとめ、ルビテキストはrt要素で表現する。rpはルビ対応ブラウザでは表示対象からはずされるが、ルビに対応していないブラウザではそのままテキストとして表示される。ルビに対応していないブラウザでルビ部分を括弧で囲んで表記するために用いられる。
<ruby>ベーステキスト<rp> (</rp><rt>ルビ</rt><rp>) </rp></ruby>
Ruby Rendering in WebKitでは、こうした基本的な機能の実装に加え、これからは文字スペーシングとポジションという2つについて考慮していく必要があると簡単にまとめている。たとえばルビが綺麗に表示されるようにスペーシングを考慮する必要があるほか、どこにルビで表示するかというポジション指定を考慮する必要があるとしている。日本語では横書きの場合には振り仮名は上部に記述することが多いが、中国語では横書きでも縦書きのルビを振ることがある。現在のブラウザ実装は縦書きを簡単に扱うことができないが、縦書きがより柔軟に扱えるようになってくれば、ルビにおけるポジション指定もより重要になってくる。
Ruby Rendering in WebKitではHTML5とCSS3 Ruby Moduleの違いについても簡単に説明している。HTML5では複数のrt要素を指定できるが、CSS3 Ruby Moduleはそうした設計になっていない。将来、この2つの仕組みが綺麗に統合されることが望まれるという説明がある。
| IEとGoogle Chrome、振り仮名をサポート [2009/11/18] |
| トマトを食べれば痩せられる!? -京大ら、新発見の成分で肥満改善効果を実証 [21:00 2/10] |
| JAXA、液体シリコン中に残存する共有結合を観察 -大口径ウェハの実現に期待 [20:11 2/10] |
| NEDOなど、熱膨張が小さな樹脂複合材料ペレットの量産化に成功 [19:22 2/10] |
| 理研、一般顕微鏡を蛍光顕微鏡に強化できるアダプタを試作して性能を実証 [19:15 2/10] |
| 天の川のブラックホールが小惑星を飲み込んでいる - NASAが発表 [18:08 2/10] |
|
【レポート】人気の無料/有料アプリを毎週紹介 - 1月31日~2月8日のAndroidアプリランキング [01:00 2/11] 携帯 |
|
渡部篤郎主演でドラマ化!地元新聞社が伝え続けた東日本大震災の物語 [00:08 2/11] キャリア |
|
沖縄発ヒーロー革命!「琉神マブヤー」が海を越えハワイを目指す! [00:08 2/11] キャリア |
|
中国四川省、パンダの保護と生態研究の最新情報とは? [00:08 2/11] キャリア |
|
日本の影響でオタク文化が発達!? 設楽統と杉崎美香がシンガポールのエンタメを探る! [00:07 2/11] キャリア |