IEはすでに<ruby>でルビ表示ができるというのに、自分の常用ブラウザであるところのMozillaはいつになったら対応するのだろう……とのんきに対応されるのを待っていたのですが、あるとき「そういえばMozillaの表示は全てスタイルシートで定義されているのだから、ユーザスタイルシートでなんとかすればルビ風に表示することもできるのでは?」と思いつきました。
いろいろと試行錯誤してみた末、以下のようなスタイルシートを作成。(指摘を受けて修正しました……Netscape6/Mozillaでルビ表示2参照)
ruby { position:relative; line-height:200%; } /* ベーステキスト */ ruby>rb, /*単純ルビ*/ ruby>rbc { /*複雑ルビ*/ letter-spacing:0.2em; } /* ルビテキスト */ ruby>rt, /*単純ルビ*/ ruby>rtc { /*複雑ルビ*/ position:absolute; left:0; font:normal 60%/1 sans-serif; text-indent:0; } /*前側ルビの位置と色*/ ruby>rt, ruby>rbc+rtc { top:-1.2em; color:#900; background:transparent; } /*後側ルビの位置と色*/ ruby>rbc+rtc+rtc { top:1.4em; left:0; color:#009; background:transparent; } /*ルビ括弧*/ ruby>rp { display:none; }
設定値はお好みで。
これを"userContent.css"という名のテキストファイル(これがユーザスタイルシートになります)としてchromeディレクトリに保存すると、結構うまいこと表示できました。試しにキッズgooで表示されたルビつき頁を表示してみるとこんな感じです。→画像(24.2KB)
chromeディレクトリはMozillaディレクトリの中にあります。Mozillaディレクトリの場所は以下の通り。
- Windows NT: C:\WINNT\Profiles\(your user profile folder)\Application Data\Mozilla
- Windows 98: C:\Windows\Application Data\Mozilla
- Windows 2000: C:\Windows\Documents and Settings\(your user profile)\Application Data\Mozilla
- Linux: ホーム ディレクトリにあります。
- Mac OS: [ドキュメント]フォルダにあります。
ユーザスタイルシートを変更した際には、一旦Mozillaを再起動して変更を有効にして下さい。
このルビ表示方法にも欠点がありまして、rb,rt,rpの終了タグが省略されていると、表示が大きく崩れます。あとルビつきテキストが隣り合った場合、ルビ文字が重なることがあります。
とはいえ自分の常用ブラウザでもルビ表示ができたことにより、今までどこか他人事のように思っていたrubyタグに、急に親近感が湧いて来ました。うちのサイトでも使ってみようかな。(しかしそれにはXHTML1.1にせねばならず、道は険しい……)
→Netscape6/Mozillaでルビ表示2、Mozillaでルビ表示3へ続く。
(2001年8月19日/2002年1月18日に一部変更)
北村曉 kits@akatsukinishisu.net