ウェブとルビ

概要

  1. ウェブ組版の特徴
  2. ルビの要件と事例
  3. ウェブでルビ

DTP組版

→ 手動確認・調整で完全コントロール

ウェブ組版の場合

画面サイズが未定

デバイス多様性

画面の向きが未定

コントロール不可

ウェブ組版のチャレンジ

ウェブ組版の要件

ちょこっとのデモ

段組組版

columns: 2
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident.
columns: 15em
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident.

改行管理

<h1>風の谷の<wbr>ナウシカ</h1>
word-break: normal
ナウシカ
word-break: keep-all
ナウシカ

概要

  1. ウェブ組版の特徴
  2. ルビの要件と事例
  3. ウェブでルビ

ルビの種類

ルビの種類

対字モノルビ

ルビの種類

対語グループルビ

ルビの種類

熟語ルビ

熟語の組版

熟語の組版

モノルビ

熟語の組版

グループルビ

熟語の組版

熟語ルビ・中

熟語の組版

熟語ルビ・小

熟語の組版

熟語ルビ・大

熟語の改行

その他の要件

ルビのインライン

ルビの音声合成

きょうとし

アクセシビリティ

アクセシビリティ

文字サイズ

アクセシビリティ

ディスレクシア

アクセシビリティ

ディスレクシア

複層ルビ

複層ルビ

複層ルビ

読む能力によるバリエーション

読む能力によるバリエーション

読む能力によるバリエーション

読む能力によるバリエーション

読む能力によるバリエーション

読む能力によるバリエーション

読む能力によるバリエーション

読む能力によるバリエーション

読む能力によるバリエーション

概要

  1. ウェブ組版の特徴
  2. ルビの要件と事例
  3. ウェブでルビ

特に問題がないところ

仕様も実装もOK

モノルビの表示
<ruby>狼<rt>おおかみ</ruby>
グループルビの表示
<ruby>今日<rt>きょう</ruby>
ルビ文字の色・サイズ等変更
rt { color: red; font-size: 0.6em; }

特に問題がないところ

仕様も実装もOK

モノルビ・グループルビのインライン化
<ruby>今日<rp>(<rt>きょう<rp>)</ruby>
ruby, ruby * { display: inline; font-size: 1em; }
モノルビ・グループルビの検索可

解決しやすい問題

仕様はOK、実装は途中(一部のブラウザのみ)

rt { padding-bottom: 0.5em; }
rt { text-transform: full-size-kana; }

問題:熟語

マークアップへの要件:

熟語問題、改行

親文字とルビ文字の関係を知っている場合
親文字とルビ文字の関係を知っらない場合

熟語問題、インライン化

読み順が守られている場合
読み順が混ざった場合

仮名の省略

親文字とルビ文字の関係を知っらない場合
改行不可
読み順が混ざった場合
検索不可

熟語問題、組版スタイル

熟語ルビ(とその他のバリエーション)に必要情報:
親文字とルビ文字の関係
単語の区別

  

熟語問題:マークアップ

マークアップ 字の関係 単語の区別 読み順 仕様 実装
<ruby>京都<rt>きょうと</ruby> ×
<ruby>京<rt>きょう</rt>都<rt>と</ruby> ×
<ruby><rb>京<rb>都<rt>きょう<rt>と</ruby>

問題:音声合成

期待:
京都市長きょうとしちょう → きょうとしちょう
<ruby>京都市長<rt>きょうとしちょう</ruby>
<ruby><rb>京<rb>都<rb>市<rb>長<rt>きょう<rt>と<rt>し<rt>ちょう</ruby>
きょうとしちょうきょうとしちょう
<ruby>京<rt>きょう</rt>都<rt>と</rt>市<rt>し</rt>長<rt>ちょう</ruby>
きょうきょうととししちょうちょう
(強橋戸と士師町長?)(恐々父獅子蝶々?)

音声合成問題:原因

結論

ウェブ電子書籍では、ルビ基礎なる技術ある程度出来ているが……

実装標準化まだ足りない

目的

デザインの多様性
×
環境に自動調整
×

アクセシビリティ
×

ユーザ設置

参照

日本語組版処理の要件
https://www.w3.org/TR/jlreq/
ルビの簡便な配置ルール
https://www.w3.org/TR/simple-ruby/ruby-rules-ja.pdf
CSSルビ仕様書
https://www.w3.org/TR/css-ruby/
(不足している)公式HTML仕様書
https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-ruby-element
ルビを拡張している非公式HTML仕様書(案)
https://html.rivoal.net/multipage/text-level-semantics.html#the-ruby-element

ウェブとルビ