3) Low vision
Ruby is much smaller than normal text. Ruby is thus difficult for low-vision people to
read.
In printed materials, it is quite common to avoid smaller characters (e.g., っ U+3063) and
use similar-but-larger characters (e.g., つ U+3064) instead. However making this kind of
substitution changes the phonetics of the word, because these smaller and larger
characters, while visually similar, are in fact distinct letters. But IT technology allows
other possibilities. By converting smaller characters to larger characters at rendering
rather than in the document source (see the text-transform property of CSS, currently
only supported in Firefox), we can make ruby easier for low-vision people to read
without hampering T2S.
It is also possible to change the font size of ruby depending on user preferences. Prof.
Nakano of Keio University reported that low-vision students prefer ruby long in height.
4) Textual fallback
Although visual rendering of ruby is expected to put the ruby in parallel to the base, the
textual or linear fallback of ruby is often required. Such fallback is used for metadata,
user interface components (see
an EPUB issue), and so forth. When mono ruby is
attached to a sequence of base characters, it is unfortunately too common to see ruby
after each base character (e.g., 東とう京きょう), rather than combined after the compound
word (e.g., 東京とうきょう). Such awkward results are a natural consequence of the
inappropriate structure of WHATWG ruby markup (e.g., <ruby>東<rt>とう</rt>京<rt>きょ
う</rt></ruby>), a problem W3C ruby markup extensions address.
5) Switching of rendering style
Given Japanese text having CJK ideographic characters, one can choose to present ruby-
annotated text in many ways: showing or hiding some or all annotations; inlining them
in addition to, or in place of, the base text; and varying their typesetting style (mono vs
jukugo) and spacing. Different presentations can be appropriate for different reading
levels, reading preferences, and disabilities.
Unlike printed materials, IT technology, in theory, allows on-the-fly switching between
rendering styles, but such switching is not practically realized.