Desiderata for automatic layout of double-sided ruby

Dear colleagues,

In my previous mail (http://bit.ly/zhttIb), I pointed out that a
collection of sixty-nine
books for boys and girls, published by Kodan-sha, is a notable example
of double-sided ruby.

http://www.amazon.co.jp/gp/feature.html?ie=UTF8&docId=1000173306

Here I try to list desiderata for automatic layout of double-sided
ruby in the case that we choose to capture this collection in HTML5
and CSS and stick to the current layout.

  Desiderata 1: It should be possible to put ruby for ruby.

Kanji characters in explanatory ruby text require ruby.

  Desiderata 2: It should be possible to put left-sided ruby for the
  previous line and right-sided ruby for the current line within
  a single line gap.

Line gaps in this collection have enough space for two lines of ruby.
Thus, different ruby text chunks for different lines do not collide.

  Desiderata 3: It should be possible to automatically swap left-sided
  ruby and right-sided ruby so that different occurrences of ruby do not
  colide.

It is not easy to avoid collision of different ruby text chunks for a
single line, since some ruby text chunks are lengthy.  One technique
to avoid this collision is to swap right-sided and left-sided ruby,
since one of them is typically short.  This technique is used many
times in this collection.  Desiderata 3 may cause a Knapsack problem.

  Desiderata 4: It should be possible to put links to marginal notes
  within ruby text.

Some ruby text is actually a reference to a marginal note in the same
page or following pages.  References are numbered if they reference to
marginal notes in the following pages, and they are not numbered,
otherwise.

Or, ideally:

  Desiderata 4': It should be possible to convert ruby to marginal notes
  automatically when it is not possible to put ruby text in the line
  gap.

These desiderata raise the bar significantly higher.  But if we do want
to capture this collection in HTML5 and CSS and stick to the current
layout, these desiderata are  required.

Regards,
Makoto

Received on Tuesday, 21 February 2012 23:59:41 UTC