From d434d428045f67d1cc50643f6ec386dd95538d89 Mon Sep 17 00:00:00 2001 From: Florian Rivoal Date: Thu, 18 Feb 2021 00:59:05 +0900 Subject: [PATCH 1/2] Import HTML 5.1 ruby markup model --- images/composition.png | Bin 0 -> 15891 bytes images/group-double.png | Bin 0 -> 3493 bytes images/group.png | Bin 0 -> 2802 bytes images/hokekyou.png | Bin 0 -> 9602 bytes images/mono-or-jukugo-double.png | Bin 0 -> 4484 bytes source | 974 +++++++++++++++++++++---------- 6 files changed, 660 insertions(+), 314 deletions(-) create mode 100644 images/composition.png create mode 100644 images/group-double.png create mode 100644 images/group.png create mode 100644 images/hokekyou.png create mode 100644 images/mono-or-jukugo-double.png diff --git a/images/composition.png b/images/composition.png new file mode 100644 index 0000000000000000000000000000000000000000..288822af914d011479330fc04946eb66ca5baefa GIT binary patch literal 15891 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 Te){%600000NkvXXu0mjfh60O& literal 0 HcmV?d00001 diff --git a/images/group.png b/images/group.png new file mode 100644 index 0000000000000000000000000000000000000000..d963ab4322c4ae6c81e4b3f30afe0d77e5dd5f42 GIT binary patch literal 2802 zcmVPx#32;bRa{vGi!~g&e!~vBn4jTXf00(qQO+^RW1`ZJ<4M`7>g8%>k8FWQhbVF}# zZDnqB07G(RVRU6=Aa`kWXdp*PO;A^X4i^9b3SUV?K~#9!?VNv1mDL}|Uzf{IQ6^j) ziixB{!;l1>I%&4qwJ5{{H-k)y)RJ=TR-37tX|~~LEr&nah^(CbkVG~D1d)-Oke7_q zC?FgOvWudEM1a7(-1Gh8iTectyuZAFJn!ucp7T7<=bXKt&pDsZ`JB(W3L%6*hQ)A_ zDUgYiiIa(YfZ;q?Wp;M9%*?-tii$FyxZz$HPZ&;t9=M_U&p%^yjyri0Dl12hxTGXl zwhS^eL9ZV}#1$68v18Kzzy1m}HI5~2-#+;8Lr6`9&6~#naa~<-?HbIV4@ZtbXehk- zrc`Gs?%aVNf3&_YPdx>vPs3MVjRE3bdkxmDgI|7ug$v=8SK$14cX)Pw{OG2 zgO>NfV1VpwNKAxPt6FJVT=*7;R@Wd1Mhd9I__~C~ige5Q< zg{Y_yqP@L;{fZSr6c-Dt5E&_KhQT0&LSg;;!|`AjjZ-MV!$Y!UwYAc4ojh66yx3Uy z`Dd6m&GD|u-+#lTNu$^}oIMNC(GVOgO~`xp!0Od7b*kh`egD06R@zn+7fT;+)EbA> zR7g&Sl`H>W=i>v57D?82@?`V;zmGlwl?t4k;J4o-cP24W`XJWe&>@J68^s#u>kGgC zKKMOzNCWuf6Uj1v_Z_69KzKN;StA*pPd~N1Pv3k4b#;=39km*_dpErBg5-XzUM=}< zZf-DP0?eCdo{a6=B@J_RmHe?idmto4(&CN|^ZQ~nN^VJVGMqUh^<&f$=j{yz1(FfS z$$`8)Xl#@SHJ7;M%cU|HCQPtk2sy#5S+&3D35-S~adC0@`}?zY?OJZ%zCHei zsx?SYPv^?N;ob`uF5u(iWA_dl3kcS?62&GbK-OKif#|a@sdwaW>F=K`ROl9ZJ zopz6fUA%a)UmLcRt5>gD9gnlyP}OKO)YsSZ@WT&t^ypEPN+n52NqqkK=l5;6czSwT zRYuKF{rc;#NlQz^)6FKgn?Zt@`Cy0uQLa*0z-}xpwvm;Ug^!O9_4W0r)oP-m zqPTqd@`F26^Yilw3kyS|(a_r3N<>5iWo2b7TC|AH&Q7z-%9SfAEiL8AC!Yi$Cntx{ z&`{Q`TSswm@q;r|3kwUyvSrIms_pIVEe;<(ER05@`0~pyt#Ue5DwQxAjpDP*F z-u>=9`skx#@7}$lwY7EZ4pkup+qZA$r=Nbp$;pY$n>SNkUCkSBykWB+q);eK^4@yu zEnHn)0jR2~qNb*XNoMRKH#Ifk?(S|?x$hdM)oMj#WTd!!`SKv?1qN~V?p=#ZXJ_Ys zWYyKxiLG0=inzEqq1Wrj#FA^+mBW%HOUTK|8T6h~skDB9JOKXw{v5P0uS=y;QCnMU zReO`{kQd?X$obS@Frd@vm^pK%UF1!iIB{%*l>!0+YzpagcXy-L>)E<>D=8@{I5~~o zEf0%`Yinzxy}jM$Mh_i2gj%iU`RAV>AH@Cj*IyWoMynfBtJRd1m9b&NhA~Z=#l(4e zd0E}i`Sa%~D=Wj>+nWOi4vg>Uhy^YW@4WL40Pnv0E|bkoVH)qmrKYB$)oStc^W*Ke z-+my%O84CzsjRFtY1_er2bo|=>d`$`4r9h0u@o&WEyTpcaQE(AVq;^8iHWhRe0x~< zQAb=?R~Kv7uBED~ion1?Qd3jyD&NP)hZ-x-J9&G1k51ycy1H1iW(`F}MNFJHk&KKC zn=JBBfr61VGIlo(O-)Ta{q)o1=jWqTDmi}qI3Xb+JZP}H#(n$kw_Lbz0f57Y4-**~ zX;=BPXU`@tFV7T;vIeie{<`gpeS7WX_r-yN6?ArX^8Wkp)6>&~ zR;#7Fyqu<{CO}H42?+^d>C&bB(jo=9y<~jviY@ zTt`O-UwrWeZEbC)x{DVt-gEOLGc%Jv|NPT*-P6;Y=FFJ`Ky`IBxw*O2*4CocYFXCz2a_zs&6_vb zv}u#6j~N*mw6wHPQc{9it#<4j*ZTz{BO{qUeL6~|lIhc@-!n|UYSk(pdE^mOUR`;4 zxv4%lI2cz~S6p3P2@Vc6oy6&V###*3$G%$VFyea8Dfs*Q_p2XxJrD!);(F(_UQO$Z zxpU_N*nCoOV4JBsQ^r8T>GNB zx*Cx7F9s6d*9bK>HV)gyK*Q5}ZL3wain!jPm7AMOLqh{bqmhP&26A(AEs`^T{(L|> z?@&=ufnKjiuh;X(AAgu+^*+;=#B=A)VK5kIZf+hjN4XcLPMt!h(_u6k(dl%YI(4ew zRNzpn8Xg`_d3ia_&CR5xrS&7Uxw+YF_hISMrBqi}bM4wSPMkRLpZfs;0W4Xv#B{x2 z!2+&dzfNgsDW#>QW)U!D%9Q_{nf3DWB0N0Y@fzpp=}AID0)c^nxVX6B=H|wN1q)24 z2hBZ8pj0Y}kB>*KR^#jIi?g#c&d$#G`ud_)t9j|Am-=P4FJ8Qu@bGXvJUno9btNPu zPyP^*j) zU#lKJew_OHdU|?#=<4dCyu6&#r%wYA6ci+{Rflte2Xi8)O`FETg$rfkhQf<4zKB+< zMW@qYFc|Ri@**fGh~>+d+wH{7XokG6D#znw;>HC22NJll^z61%Jpcdz07*qoM6N<$ Ef>lz4X#fBK literal 0 HcmV?d00001 diff --git a/images/hokekyou.png b/images/hokekyou.png new file mode 100644 index 0000000000000000000000000000000000000000..19bc4ce7171eae3af37f1b57e633107ae32a371b GIT binary patch literal 9602 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 literal 0 HcmV?d00001 diff --git a/images/mono-or-jukugo-double.png b/images/mono-or-jukugo-double.png new file mode 100644 index 0000000000000000000000000000000000000000..6579d7790025bd7bb1e0cf7a6284c57b6a42af3d GIT binary patch literal 4484 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 literal 0 HcmV?d00001 diff --git a/source b/source index 8793f1bf3f8..f4883a0d347 100644 --- a/source +++ b/source @@ -21013,113 +21013,107 @@ this specification: the <abbr>WHATWG</abbr> and the

The ruby element allows one or more spans of phrasing content to be marked with ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily used in East Asian typography as a guide for pronunciation or to include other annotations. In - Japanese, this form of typography is also known as furigana.

+ Japanese, this form of typography is also known as furigana. + Ruby text can appear on either side, and sometimes both sides, of the base text, and it is + possible to control its position using CSS. A more complete introduction to ruby can be found in + the Use Cases & Exploratory Approaches for Ruby Markup document as well as in + CSS Ruby Module Level 1.

+

The content model of ruby elements consists of one or more of the following sequences:

    -
  1. One or the other of the following: -
      -
    • Phrasing content, but with no ruby elements and with no ruby element descendants -
    • A single ruby element that itself has no ruby element descendants -
    -
  2. One or the other of the following: -
      -
    • One or more rt elements -
    • An rp element followed by one or more rt elements, each of which is itself followed by an rp element -
    +
  3. One or more phrasing content nodes or rb elements.
  4. +
  5. One or more rt or rtc elements, each of which either immediately + preceded or followed by an rp elements.
- - -

The ruby and rt elements can be used for a variety of kinds of - annotations, including in particular (though by no means limited to) those described below. For - more details on Japanese Ruby in particular, and how to render Ruby for Japanese, see - Requirements for Japanese Text Layout.

+

The ruby, rb, rtc and rt elements can be + used for a variety of kinds of annotations, including in particular (though by no means limited + to) those described below. For more details on Japanese Ruby in particular, and how to render Ruby + for Japanese, see Requirements for Japanese Text Layout.

-

At the time of writing, CSS does not yet provide a way to fully control the - rendering of the HTML ruby element. It is hoped that CSS will be extended to support - the styles described below in due course.

- - +

The CSS Ruby Module Level 1 enables authors to control the rendering of the + HTML ruby element, supporting a variety of renderings based on the same markup.


-

Within a ruby element that does not have a ruby element ancestor, - content is segmented and segments are placed into three categories: base text segments, annotation - segments, and ignored segments. Ignored segments do not form part of the document's semantics - (they consist of some inter-element whitespace and rp elements, the - latter of which are used for legacy user agents that do not support ruby at all). Base text - segments can overlap (with a limit of two segments overlapping any one position in the DOM, and - with any segment having an earlier start point than an overlapping segment also having an equal or - later end point, and any segment have a later end point than an overlapping segment also having an - equal or earlier start point). Annotation segments correspond to rt elements. Each annotation - segment can be associated with a base text segment, and each base text segment can have annotation - segments associated with it. (In a conforming document, each base text segment is associated with - at least one annotation segment, and each annotation segment is associated with one base text - segment.) A ruby element represents the union of the segments of base - text it contains, along with the mapping from those base text segments to annotation segments. - Segments are described in terms of DOM ranges; annotation segment ranges always - consist of exactly one element.

+

Within a ruby element, content is parcelled into a series of ruby segments. Each ruby + segment is described by:

-
+
    +
  • Zero or more ruby bases, each of which is a DOM range that + may contain phrasing content or an rb element.

  • -

    At any particular time, the segmentation and categorization of content of a ruby - element is the result that would be obtained from running the following algorithm:

    +
  • A base range, that is a DOM range including all the bases. This is the ruby base + container.

  • -
      -
    1. Let base text segments be an empty list of base text segments, each - potentially with a list of base text subsegments.

    2. +
    3. Zero or more ruby text containers which may + correspond to explicit rtc elements, or to sequences of rt elements + implicitly recognized as contained in an anonymous ruby text container.

    4. +
+ +

Each ruby text container is described by zero or more ruby text annotations each of which is a DOM range that may contain phrasing + content or an rt element, and an annotations range that is a range including all + the annotations for that container. A ruby text container is also known (primarily + in a CSS context) as a ruby annotation container.

+ +

Furthermore, a ruby element contains ignored ruby content. Ignored ruby content + does not form part of the document's semantics. It consists of some inter-element + whitespace and rp elements, the latter of which are used for legacy user + agents that do not support ruby at all.

+ +

The process of annotation pairing associates ruby annotations with ruby bases. Within each + ruby segment, each ruby base in the ruby base container + is paired with one ruby text annotation from the ruby text container, + in order. If there are not enough ruby text + annotations in a ruby annotation container, the last one is associated with + any excess ruby bases. (If there are not any in the ruby + annotation container, an anonymous empty one is assumed to exist.) If there are not + enough ruby bases, any remaining ruby text annotations are assumed to be associated with empty, anonymous bases + inserted at the end of the ruby base container.

+ +

Note that the terms ruby segment, ruby base, ruby text + annotation, ruby text container, ruby base container, and + ruby annotation container have their equivalents in CSS Ruby Module Level + 1.

+ +

Informally, the segmentation and categorization algorithm below performs + Segmentation and categorization consists of a simple set of tasks. + First it processes adjacent rb elements, text nodes, and non-ruby elements + into a list of bases. Then it processes any number of rtc elements or sequences + of rt elements that are considered to automatically map to an anonymous ruby + text container. Put together these data items form a ruby segment as + detailed in the data model above. It will continue to produce such segments until it reaches + the end of the content of a given ruby element. The complexity of the + algorithm below compared to this informal description stems from the need to support + an author-friendly syntax and being mindful of inter-element white space.

+ +
+

At any particular time, the segmentation and categorization of content of a + ruby element is the result that would be obtained from + running the following algorithm:

-
  • Let annotation segments be an empty list of annotation segments, each - potentially being associated with a base text segment or subsegment.

  • +
      +
    1. Let root be the ruby element for which the algorithm is being + run.

    2. -
    3. Let root be the ruby element for which the algorithm is - being run.

    4. +
    5. Let index be 0.

    6. -
    7. If root has a ruby element ancestor, then jump to the - step labeled end.

    8. +
    9. Let ruby segments be an empty list.

    10. -
    11. Let current parent be root.

    12. +
    13. Let current bases be an empty list of DOM ranges.

    14. -
    15. Let index be 0.

    16. +
    17. Let current bases range be null.

    18. -
    19. Let start index be null.

    20. +
    21. Let current bases range start be null.

    22. -
    23. Let parent start index be null.

    24. +
    25. Let current annotations be an empty list of DOM ranges.

    26. -
    27. Let current base text be null.

    28. +
    29. Let current annotations range be null.

    30. +
    31. Let current annotations range start be null.

    32. - +
    33. Let current annotation containers be an empty list.

    34. +
    35. Let current automatic base nodes be an empty list of DOM Nodes.

    36. -
    37. Start mode: If index is equal to or greater than the number of - child nodes in current parent, then jump to the step labeled end - mode.

      +
    38. Let current automatic base range start be null.

    39. -
    40. If the indexth node in current parent is an - rt or rp element, jump to the step labeled annotation - mode.

    41. +
    42. Process a ruby child: If index is equal to or greater than the number + of child nodes in root, then run the steps to commit a ruby segment, + return ruby segments, and abort these steps.

    43. - +
    44. Let current child be the indexth node in root.

    45. -
    46. Set start index to the value of index.

    47. +
    48. If current child is not a Text node and is not an + Element node, then increment index by one and jump to the step labeled + process a ruby child.

    49. -
    50. Base mode: If the indexth node in current - parent is a ruby element, and if current parent is the - same element as root, then push a ruby level and then jump to - the step labeled start mode.

    51. +
    52. If current child is an rp element, then increment + index by one and jump to the step labeled process a ruby child. (Note that + this has the effect of including this element in any range that we are currently processing. + This is done intentionally so that misplaced rp can be processed correctly; + semantically they are ignored all the same.)

    53. -
    54. If the indexth node in current parent is an - rt or rp element, then set the current base text and then - jump to the step labeled annotation mode.

    55. +
    56. +

      If current child is an rt element, then run these substeps:

      -
    57. Increment index by one.

    58. +
        +
      1. Run the steps to commit an automatic base.

      2. -
      3. Base mode post-increment: If index is equal to or greater than - the number of child nodes in current parent, then jump to the step labeled - end mode.

      4. +
      5. Run the steps to commit the base range.

      6. -
      7. Jump back to the step labeled base mode.

      8. +
      9. If current annotations is empty, set current annotations range + start to the value of index.

      10. +
      11. Create a new DOM range whose start is the + boundary point (root, index) and + whose end is the boundary point (root, index plus one), + and append it at the end of current annotations.

      12. -
      13. Annotation mode: If the indexth node in current - parent is an rt element, then push a ruby annotation and jump to - the step labeled annotation mode increment.

      14. +
      15. Increment index by one and jump to the step labeled process a ruby + child.

      16. +
      + -
    59. If the indexth node in current parent is an - rp element, jump to the step labeled annotation mode increment.

    60. +
    61. +

      If current child is an rtc element, then run these + substeps:

      -
    62. If the indexth node in current parent is not a - Text node, or is a Text node that is not inter-element - whitespace, then jump to the step labeled base mode.

    63. +
        +
      1. Run the steps to commit an automatic base.

      2. - +
      3. Run the steps to commit the base range.

      4. -
      5. Annotation mode increment: Let lookahead index be index plus one.

      6. +
      7. Run the steps to commit current annotations.

      8. -
      9. Annotation mode white-space skipper: If lookahead index is - equal to the number of child nodes in current parent then jump to the step - labeled end mode.

      10. +
      11. Create a new ruby annotation container. It is described by the list of + annotations returned by running the steps to process an rtc element + and a DOM range whose start is the boundary point (root, index) and whose + end is the boundary + point (root, index plus one). Append this new ruby + annotation container at the end of current annotation containers.

      12. -
      13. If the lookahead indexth node in current parent is - an rt element or an rp element, then set index to - lookahead index and jump to the step labeled annotation mode.

      14. +
      15. Increment index by one and jump to the step labeled process a ruby + child.

      16. +
      + -
    64. If the lookahead indexth node in current parent is - not a Text node, or is a Text node that is not inter-element - whitespace, then jump to the step labeled base mode (without further incrementing - index, so the inter-element whitespace seen so far becomes part - of the next base text segment).

    65. +
    66. +

      If current child is a Text node and is inter-element + whitespace, then run these substeps:

      -
    67. Increment lookahead index by one.

    68. +
        +
      1. If current annotations is not empty, increment index by one and + jump to the step labeled process a ruby child.

      2. -
      3. Jump to the step labeled annotation mode white-space skipper.

      4. +
      5. +

        Run the following substeps:

        +
          +
        1. Let lookahead index be set to the value of index.

        2. -
        3. End mode: If current parent is not the same element as root, then pop a ruby level and jump to the step labeled base mode - post-increment.

        4. +
        5. Peek ahead: Increment lookahead index by one.

        6. -
        7. End: Return base text segments and annotation - segments. Any content of the ruby element not described by segments in either - of those lists is implicitly in an ignored segment.

        8. -
        +
      6. If lookahead index is equal to or greater than the number of + child nodes in root, then abort these substeps.

      7. +
      8. Let peek child be the lookahead indexth node in + root.

      9. -

        When the steps above say to set the current base text, it means to run the following - steps at that point in the algorithm:

        +
      10. If peek child is a Text node and is inter-element + whitespace, then jump to the step labeled peek ahead.

      11. -
          -
        1. Let text range be a DOM range whose start is the boundary - point (current parent, start index) and whose - end is the boundary - point (current parent, index).

        2. +
        3. If peek child is an rt element, an rtc element, + or an rp element, then set index to the value of lookahead + index and jump to the step labeled process a ruby child.

        4. +
        + +
      + -
    69. Let new text segment be a base text segment described by the range - annotation range.

      +
    70. If current annotations is not empty or if current annotation + containers is not empty, then run the steps to commit a ruby + segment.

    71. -
    72. Add new text segment to base text - segments.

    73. +
    74. +

      If current child is an rb element, then run these substeps:

      -
    75. Let current base text be new text - segment.

    76. +
        +
      1. Run the steps to commit an automatic base.

      2. -
      3. Let start index be null.

      4. -
      +
    77. If current bases is empty, then set current bases range start to + the value of index.

    78. +
    79. Create a new DOM range whose start is the + boundary point (root, index) and + whose end is the boundary point (root, index plus one), + and append it at the end of current bases.

    80. -

      When the steps above say to push a ruby level, it means to run the following steps - at that point in the algorithm:

      +
    81. Increment index by one and jump to the step labeled process a ruby + child.

    82. +
    + -
      -
    1. Let current parent be the indexth node in current parent.

    2. +
    3. If current automatic base nodes is empty, set current automatic base + range start to the value of index.

    4. -
    5. Let index be 0.

    6. +
    7. Append current child at the end of current automatic base + nodes.

    8. -
    9. Set saved start index to the value of start - index.

    10. +
    11. Increment index by one and jump to the step labeled process a ruby + child.

    12. +
    -
  • Let start index be null.

  • - +

    When the steps above say to commit a ruby segment, it means to run the following + steps at that point in the algorithm:

    + +
      +
    1. Run the steps to commit an automatic base.

    2. +
    3. If current bases, current annotations, and current annotation + containers are all empty, abort these steps.

    4. -

      When the steps above say to pop a ruby level, it means to run the following steps at - that point in the algorithm:

      +
    5. Run the steps to commit the base range.

    6. -
        -
      1. Let index be the position of current parent in - root.

      2. +
      3. Run the steps to commit current annotations.

      4. -
      5. Let current parent be root.

      6. +
      7. Create a new ruby segment. It is described by a list of bases set to + current bases, a base DOM range set to current bases range, and a + list of ruby annotation containers + that are the current annotation containers list. Append this new + ruby segment at the end of ruby segments.

      8. -
      9. Increment index by one.

      10. +
      11. Let current bases be an empty list.

      12. -
      13. Set start index to the value of saved start - index.

      14. +
      15. Let current bases range be null.

      16. -
      17. Let saved start index be null.

      18. -
      +
    7. Let current bases range start be null.

    8. +
    9. Let current annotation containers be an empty list.

    10. +
    -

    When the steps above say to push a ruby annotation, it means to run the following - steps at that point in the algorithm:

    +

    When the steps above say to commit the base range, it means to run the following + steps at that point in the algorithm:

    -
      -
    1. Let rt be the rt element that is the indexth node of current parent.

    2. +
        +
      1. If current bases is empty, abort these steps.

      2. -
      3. Let annotation range be a DOM range whose start is the boundary - point (current parent, index) and whose end is the boundary point - (current parent, index plus one) (i.e. that contains only - rt).

      4. +
      5. If current bases range is not null, abort these steps.

      6. -
      7. Let new annotation segment be an annotation segment described by the - range annotation range.

      8. +
      9. Let current bases range be a DOM range whose start is the boundary + point (root, current bases range start) and whose end is the boundary + point (root, index).

      10. +
      -
    3. If current base text is not null, associate new - annotation segment with current base text.

    4. +

      When the steps above say to commit current annotations, it means to run the + following steps at that point in the algorithm:

      -
    5. Add new annotation segment to annotation - segments.

    6. -
    +
      +
    1. If current annotations is not empty and current annotations range + is null let current annotations range be a DOM range whose start is the boundary + point (root, current annotations range start) and whose end is the boundary + point (root, index).

    2. + +
    3. If current annotations is not empty, create a new ruby annotation + container. It is described by an annotations list set to current annotations + and a range set to current annotations range. Append this new ruby annotation + container at the end of current annotation containers.

    4. + +
    5. Let current annotations be an empty list of DOM ranges.

    6. + +
    7. Let current annotations range be null.

    8. + +
    9. Let current annotations range start be null.

    10. +
    + +

    When the steps above say to commit an automatic base, it means to run the following + steps at that point in the algorithm:

    + +
      +
    1. If current automatic base nodes is empty, abort these steps.

    2. + +
    3. +

      If current automatic base nodes contains nodes that are not Text + nodes, or Text nodes that are not inter-element whitespace, then run + these substeps:

      + +
        +
      1. It current bases is empty, set current bases range start to the + value of current automatic base range start.

      2. + +
      3. Create a new DOM range whose start is the + boundary point (root, current + automatic base range start) and whose end + is the boundary point (root, + index), and append it at the end of current bases.

      4. +
      +
    4. + +
    5. Let current automatic base nodes be an empty list of DOM Nodes.

    6. + +
    7. Let current automatic base range start be null.

    8. +
    @@ -21417,13 +21577,13 @@ this specification: the <abbr>WHATWG</abbr> and the lang="ja">漢字 is annotated with its reading in hiragana.

    ...
    -<ruby>漢<rt>かん</rt>字<rt>じ</rt></ruby>
    +<ruby><rb>漢</rb><rb>字</rb><rt>かん</rt><rt>じ</rt></ruby>
     ...

    This might be rendered as:

    The two main ideographs, each with its annotation in hiragana rendered in a smaller font above it.

    + alt="The two main ideographs, each with its annotation in hiragana rendered in a smaller font above it.">

    @@ -21439,7 +21599,7 @@ this specification: the <abbr>WHATWG</abbr> and the

    This might be rendered as:

    The two main ideographs, each with its bopomofo annotation rendered in a smaller font next to it.

    + alt="The two main ideographs, each with its bopomofo annotation rendered in a smaller font next to it.">

    @@ -21455,7 +21615,7 @@ this specification: the <abbr>WHATWG</abbr> and the

    This might be rendered as:

    The two main ideographs, each with its pinyin annotation rendered in a smaller font above it.

    + alt="The two main ideographs, each with its pinyin annotation rendered in a smaller font above it.">

    @@ -21469,12 +21629,39 @@ this specification: the <abbr>WHATWG</abbr> and the "Language".

    <ruby>
    - <ruby>HT<rt>Hypertext</rt>M<rt>Markup</rt>L<rt>Language</rt></ruby>
    - <rt>An abstract language for describing documents and applications
    -</ruby>
    + <rb>HT<rb>M<rb>L</rb> + <rt>Hypertext<rt>Markup<rt>Language</rt> + <rtc>An abstract language for describing documents and applications</rtc> +</ruby> + +

    The rb element

    + +
    +
    Categories:
    +
    None.
    +
    Contexts in which this element can be used:
    +
    As a child of a ruby element.
    +
    Content model:
    +
    Phrasing content.
    +
    Content attributes:
    +
    Global attributes
    +
    DOM interface:
    +
    Uses HTMLElement.
    +
    + +

    The rb element marks the base text component of a ruby annotation.

    + +

    An rb element that is the child of a ruby + element doesn't represent anything itself, but the ruby element + uses it as part of determining what it represents.

    + +
    +

    An rb element that is not a child of a ruby element + represents the same thing as its children.

    +

    The rt element

    @@ -21482,7 +21669,7 @@ this specification: the <abbr>WHATWG</abbr> and the
    Categories:
    None.
    Contexts in which this element can be used:
    -
    As a child of a ruby element.
    +
    As a child of a ruby or of an rtc element.
    Content model:
    Phrasing content.
    Content attributes:
    @@ -21495,18 +21682,114 @@ this specification: the <abbr>WHATWG</abbr> and the
    Uses HTMLElement.
    -

    The rt element marks the ruby text component of a ruby annotation. When it is the - child of a ruby element, it doesn't represent - anything itself, but the ruby element uses it as part of determining what it - represents.

    +

    The rt element marks the ruby text component of a ruby annotation.

    + +

    An rt element that is the child of a ruby element or of + an rtc element that is itself the child of a ruby element + doesn't represent anything itself, but the ruby + element uses it as part of determining what it represents.

    +

    An rt element that is not a child of a ruby element + nor of an rtc element that is itself the child of a ruby element + represents the same thing as its children.

    +
    -

    An rt element that is not a child of a ruby element - represents the same thing as its children.

    +

    The rtc element

    - +
    +
    Categories:
    +
    None.
    +
    Contexts in which this element can be used:
    +
    As a child of a ruby element.
    +
    Content model:
    +
    Phrasing content, rt or rp elements.
    +
    Content attributes:
    +
    Global attributes
    +
    DOM interface:
    +
    Uses HTMLElement.
    +
    + +

    The rtc element marks a ruby text container for ruby text components + in a ruby annotation.

    + +

    An rtc element that is the child of a ruby + element doesn't represent anything itself, but its parent ruby + element uses it as part of determining what it represents. + When an rtc element is not the child of a ruby element, + it represents the same thing as its children.

    + +
    +

    When an rtc element is processed as part of the segmentation and categorization + of content for a ruby element, the following algorithm defines how to process + an rtc element:

    + +
      +
    1. Let root be the rtc element for which the algorithm is being + run.

    2. + +
    3. Let index be 0.

    4. + +
    5. Let annotations be an empty list of DOM ranges.

    6. + +
    7. Let current automatic annotation nodes be an empty list of DOM nodes.

    8. + +
    9. Let current automatic annotation range start be null.

    10. + +
    11. Process an rtc child: If index is equal to or greater than the number + of child nodes in root, then run the steps to commit an automatic + annotation, return annotations, and abort these steps.

    12. + +
    13. Let current child be the indexth node in root.

    14. + +
    15. +

      If current child is an rt element, then run these substeps:

      + +
        +
      1. Run the steps to commit an automatic annotation.

      2. + +
      3. Create a new DOM range whose start is the + boundary point (root, index) and + whose end is the boundary point (root, index plus one), + and append it at the end of annotations.

      4. + +
      5. Increment index by one and jump to the step labeled process an rtc + child.

      6. + +
      +
    16. + +
    17. If current automatic annotation nodes is empty, set current automatic + annotation range start to the value of index.

    18. + +
    19. Append current child at the end of current automatic annotation + nodes.

    20. + +
    21. Increment index by one and jump to the step labeled process an rtc + child.

    22. +
    + +

    When the steps above say to commit an automatic annotation, it means to run the + following steps at that point in the algorithm:

    + +
      +
    1. If current automatic annotation nodes is empty, abort these steps.

    2. + +
    3. If current automatic annotation nodes contains nodes that are not + Text nodes, or Text nodes that are not inter-element + whitespace, then create a new DOM range whose start is the boundary + point (root, current automatic annotation range start) and whose + end is the boundary + point (root, index), and append it at the end of + annotations.

    4. +
    5. Let current automatic annotation nodes be an empty list of DOM nodes.

    6. + +
    7. Let current automatic annotation range start be null.

    8. +
    +

    The rp element

    @@ -21514,7 +21797,9 @@ this specification: the <abbr>WHATWG</abbr> and the
    Categories:
    None.
    Contexts in which this element can be used:
    -
    As a child of a ruby element, either immediately before or immediately after an rt element.
    +
    As a child of a ruby or rtc element, either immediately before or + immediately after an rt or rtc element. but not between rt + elements.
    Content model:
    Text.
    Content attributes:
    @@ -21527,49 +21812,63 @@ this specification: the <abbr>WHATWG</abbr> and the
    Uses HTMLElement.
    -

    The rp element can be used to provide parentheses or other content around a ruby - text component of a ruby annotation, to be shown by user agents that don't support ruby - annotations.

    +

    The rp element is used to provide fallback text to be shown by user agents that + don't support ruby annotations. One widespread convention is to provide parentheses around the + ruby text component of a ruby annotation.

    + +

    The contents of the rp elements are typically not displayed by user agents + which do support ruby annotations

    An rp element that is a child of a ruby - element represents nothing. An rp element - whose parent element is not a ruby element represents its - children.

    + element or of an rtc element that is itself the child of a ruby + element represents nothing. Otherwise, + it represents its children.

    - -

    The example above, in which each ideograph in the text The example shown previously, in which each ideograph in the text 漢字 is annotated with its phonetic reading, could be expanded to - use rp so that in legacy user agents the readings are in parentheses:

    + use rp so that in legacy user agents the readings are in parentheses (please note + that white space has been introduced into this example in order to make it more readable):

    -
    ...
    -<ruby>漢<rp>(</rp><rt>かん</rt><rp>)</rp>字<rp>(</rp><rt>じ</rt><rp>)</rp></ruby>
    -...
    +
    
    +...
    +<ruby>
    +  漢
    +  <rb>字</rb>
    +  <rp> (</rp>
    +  <rt>かん</rt>
    +  <rt>じ</rt>
    +  <rp>) </rp>
    +</ruby>
    +...
    +   

    In conforming user agents the rendering would be as above, but in user agents that do not support ruby, the rendering would be:

    -
    ... 漢(かん)字(じ)...
    - +
    ... 漢字 (かんじ) ...
    -
    - -

    When there are multiple annotations for a segment, rp elements can also be placed - between the annotations. Here is another copy of an earlier contrived example showing some - symbols with names given in English and French, but this time with rp elements as - well: - -

    <ruby>
    -♥<rp>: </rp><rt>Heart</rt><rp>, </rp><rt lang=fr>Cœur</rt><rp>.</rp>
    -☘<rp>: </rp><rt>Shamrock</rt><rp>, </rp><rt lang=fr>Trèfle</rt><rp>.</rp>
    -✶<rp>: </rp><rt>Star</rt><rp>, </rp><rt lang=fr>Étoile</rt><rp>.</rp>
    -</ruby>
    +

    When there are multiple ruby text containers for a segment, rp elements can also be placed + between them.

    -

    This would make the example render as follows in non-ruby-capable user agents: +

    +

    Here is another copy of an earlier contrived example showing some symbols with names given in + English and French using double-sided annotations, but this time with rp elements as + well:

    + +
    
    +<ruby>
    +  ♥<rp>: </rp><rt>Heart</rt><rp>, </rp><rtc><rt lang=fr>Cœur</rt></rtc><rp>.</rp>
    +  ☘<rp>: </rp><rt>Shamrock</rt><rp>, </rp><rtc><rt lang=fr>Trèfle</rt></rtc><rp>.</rp>
    +  ✶<rp>: </rp><rt>Star</rt><rp>, </rp><rtc><rt lang=fr>Étoile</rt></rtc><rp>.</rp>
    +</ruby>
    +   
    -
    ♥: Heart, Cœur. ☘: Shamrock, Trèfle. ✶: Star, Étoile.
    +

    This would make the example render as follows in non-ruby-capable user agents:

    +
    ♥: Heart, Cœur. ☘: Shamrock, Trèfle. ✶: Star, Étoile.
    @@ -23020,9 +23319,9 @@ document.body.appendChild(wbr);
    Organic food in Ireland is certified by the <abbr title="Irish Organic Farmers and Growers Association">IOFGA</abbr>.
    - ruby, rt, rp + ruby, rb, rt, rtc, rp Ruby annotations -
    <ruby> OJ <rp>(<rt>Orange Juice<rp>)</ruby>
    +
    <ruby><rb>OJ&<rp>(<rtc><rt>Orange Juice</rtc><rp>)</ruby>
    data @@ -105199,15 +105498,28 @@ dictionary StorageEventInit : EventInit {
    + +

    An rb element's end tag may be omitted if the + rb element is immediately followed by an rb, rt, + rtc or rp element, or if there is no more content in the parent + element.

    +

    An rt element's end tag may be omitted if the - rt element is immediately followed by an rt or rp element, - or if there is no more content in the parent element.

    + rt element is immediately followed by an rb, rt, + rtc or rp element, or if there is no more content in the parent + element.

    + + +

    An rtc element's end tag may be omitted if the + rtc element is immediately followed by an rb or rtc + element, or if there is no more content in the parent element.

    An rp element's end tag may be omitted if the - rp element is immediately followed by an rt or rp element, - or if there is no more content in the parent element.

    + rp element is immediately followed by an rb, rt, + rtc or rp element, or if there is no more content in the parent + element.

    @@ -116153,7 +116465,24 @@ sup { vertical-align: super; } sub, sup { line-height: normal; font-size: smaller; } ruby { display: ruby; } +rb { display: ruby-base; white-space: nowrap; } +rbc { display: ruby-base-container; } /* For compatibility with XHTML-inspired markup */ +rp { display: none; } rt { display: ruby-text; } +rtc { display: ruby-text-container; } +ruby, rb, rbc, rt, rtc { unicode-bidi: isolate; } +rtc, rt { + font-variant-east-asian: ruby; + text-emphasis: none; + white-space: nowrap; + line-height: 1; +} +rtc, :not(rtc) > rt { + font-size: 50%; +} +rtc:lang(zh-TW), :not(rtc) > rt:lang(zh-TW) { + font-size: 30%; +} :link { color: #0000EE; } :visited { color: #551A8B; } @@ -116185,22 +116514,9 @@ br[clear=left i] { clear: left; } br[clear=right i] { clear: right; } br[clear=all i], br[clear=both i] { clear: both; } -

    For the purposes of the CSS ruby model, runs of children of ruby elements that are - not rt or rp elements are expected to be wrapped in anonymous boxes - whose 'display' property has the value 'ruby-base'.

    - -

    When a particular part of a ruby has more than one annotation, the annotations should be - distributed on both sides of the base text so as to minimize the stacking of ruby annotations on - one side.

    - -

    When it becomes possible to do so, the preceding requirement will be updated to be - expressed in terms of CSS ruby. (Currently, CSS ruby does not handle nested ruby - elements or multiple sequential rt elements, which is how this semantic is - expressed.)

    -

    User agents that do not support correct ruby rendering are expected to render parentheses - around the text of rt elements in the absence of rp elements.

    + around the text of rt elements in the absence of rp elements.


    @@ -118945,11 +119261,6 @@ if (s = prompt('What is your name?')) {
    plaintext

    Use the "text/plain" MIME type instead.

    -
    rb
    -
    rtc
    -

    Providing the ruby base directly inside the ruby element or using nested - ruby elements is sufficient.

    -
    strike

    Use del instead if the element is marking an edit, otherwise use s instead.

    @@ -122310,6 +122621,16 @@ interface External { HTMLQuoteElement + + rb + Ruby base + none + ruby + phrasing + globals + HTMLElement + + rp Parenthesis for ruby annotation text @@ -122324,12 +122645,24 @@ interface External { rt Ruby annotation text none - ruby + ruby; + rtc phrasing globals HTMLElement + + rtc + Ruby annotation container + none + ruby + phrasing; + rt + globals + HTMLElement + + ruby Ruby annotation(s) @@ -122338,7 +122671,9 @@ interface External { palpable phrasing phrasing; + rb; rt; + rtc; rp* globals HTMLElement @@ -125073,6 +125408,10 @@ interface External { q HTMLQuoteElement : HTMLElement + + rb + HTMLElement + rp HTMLElement @@ -125081,6 +125420,10 @@ interface External { rt HTMLElement + + rtc + HTMLElement + ruby HTMLElement @@ -125801,7 +126144,7 @@ INSERT INTERFACES HERE
    CSS Pseudo-Elements, D. Glazman, E. Etemad, A. Stearns. W3C.
    [CSSRUBY]
    -
    CSS3 Ruby Module, R. Ishida. W3C.
    +
    CSS Ruby Module Level 1, Elika J. Etemad; et al. W3C.
    [CSSSCOPING]
    CSS Scoping Module, T. Atkins. W3C.
    @@ -126116,6 +126459,9 @@ INSERT INTERFACES HERE
    [SCREENORIENTATION]
    Screen Orientation API, M. Lamouri, M. Cáceres. W3C.
    +
    [RUBY-UC]
    +
    (Non-normative) Use Cases & Exploratory Approaches for Ruby Markup, R. Ishida. W3C.
    +
    [SCSU]
    (Non-normative) UTR #6: A Standard Compression Scheme For Unicode, M. Wolf, K. Whistler, C. Wicksteed, M. Davis, A. Freytag, M. Scherer. Unicode Consortium.
    From 3ca0d60cb59edf4d78ef4589a6e013b412933ea4 Mon Sep 17 00:00:00 2001 From: Florian Rivoal Date: Thu, 18 Feb 2021 12:35:16 +0900 Subject: [PATCH 2/2] Improve ruby specification prose and examples Fixes #1771, fixes #121 Co-authored-by: fantasai --- images/composition.png | Bin 15891 -> 17624 bytes images/group.png | Bin 2802 -> 10011 bytes images/kyoto-33.png | Bin 0 -> 14963 bytes images/kyoto-50.png | Bin 0 -> 16617 bytes images/kyoto-60.png | Bin 0 -> 17547 bytes images/kyoto-lb.png | Bin 0 -> 21662 bytes images/kyoto-m.png | Bin 0 -> 16633 bytes images/kyoto-s.png | Bin 0 -> 16960 bytes images/mono-or-jukugo-double.png | Bin 4484 -> 3370 bytes images/ruby-pinyin.png | Bin 0 -> 26747 bytes images/sample-ruby-bopomofo.png | Bin 5114 -> 0 bytes images/sample-ruby-ja.png | Bin 5328 -> 0 bytes images/sample-ruby-pinyin.png | Bin 5109 -> 0 bytes images/zhuyin-above.png | Bin 0 -> 30830 bytes images/zhuyin-pinyin.png | Bin 0 -> 33260 bytes images/zhuyin-vert.png | Bin 0 -> 31142 bytes images/zhuyin.png | Bin 0 -> 25798 bytes source | 1050 ++++++++++-------------------- 18 files changed, 362 insertions(+), 688 deletions(-) create mode 100644 images/kyoto-33.png create mode 100644 images/kyoto-50.png create mode 100644 images/kyoto-60.png create mode 100644 images/kyoto-lb.png create mode 100644 images/kyoto-m.png create mode 100644 images/kyoto-s.png create mode 100644 images/ruby-pinyin.png delete mode 100644 images/sample-ruby-bopomofo.png delete mode 100644 images/sample-ruby-ja.png delete mode 100644 images/sample-ruby-pinyin.png create mode 100644 images/zhuyin-above.png create mode 100644 images/zhuyin-pinyin.png create mode 100644 images/zhuyin-vert.png create mode 100644 images/zhuyin.png diff --git a/images/composition.png b/images/composition.png index 288822af914d011479330fc04946eb66ca5baefa..f102b590aa462b5ff9d77ed57f8b4092a133230e 100644 GIT binary patch literal 17624 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 literal 15891 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 pPq(&{X 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 CV$op$ literal 2802 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 Ef>lz4X#fBK diff --git a/images/kyoto-33.png b/images/kyoto-33.png new file mode 100644 index 0000000000000000000000000000000000000000..a1e442edc4ad21c1afff5126bc0739e90b6e903e GIT binary patch literal 14963 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
    EcdD8M~Oa0wl^Gl4j%Hq`R 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 OMp9Hxq((?T@c#l25UKY7 literal 0 HcmV?d00001 diff --git a/images/kyoto-60.png b/images/kyoto-60.png new file mode 100644 index 0000000000000000000000000000000000000000..65bf2457c1274e01f8435f5ce36486285988a74e GIT binary patch literal 17547 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 Z{|^!NB-v%?`t<++002ovPDHLkV1j>8S5E){ literal 0 HcmV?d00001 diff --git a/images/kyoto-lb.png b/images/kyoto-lb.png new file mode 100644 index 0000000000000000000000000000000000000000..36040d7350e8d78857b1d85cd70acd7ab270356a GIT binary patch literal 21662 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 literal 4484 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 diff --git a/images/ruby-pinyin.png b/images/ruby-pinyin.png new file mode 100644 index 0000000000000000000000000000000000000000..213e71f3272f5f297556abfa36a7cd07a7f6a45e GIT binary patch literal 26747 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
    Uses HTMLElement.
    -

    The ruby element allows one or more spans of phrasing content to be marked with - ruby annotations. Ruby annotations are short runs of text presented alongside base text, primarily - used in East Asian typography as a guide for pronunciation or to include other annotations. In - Japanese, this form of typography is also known as furigana. - Ruby text can appear on either side, and sometimes both sides, of the base text, and it is - possible to control its position using CSS. A more complete introduction to ruby can be found in - the Use Cases & Exploratory Approaches for Ruby Markup document as well as in - CSS Ruby Module Level 1.

    +

    The ruby element represents one or more ranges of + phrasing content paired with associated ruby annotations. Ruby annotations are short runs of + annotation text presented alongside base text. Although primarily used in East Asian typography as + a guide for pronunciation, they can also be used for other associated information. Ruby is most + commonly presented as interlinear annotations, although other presentations are also used. A more + complete introduction to ruby and its rendering can be found in W3C’s What is ruby? + article and in CSS Ruby Module Level 1.

    +
    +

    This example shows Japanese text, with ruby markup used to annotate the ideographs with their + pronunciation.

    -

    The content model of ruby elements consists of one or more of the following - sequences:

    - -
      -
    1. One or more phrasing content nodes or rb elements.
    2. -
    3. One or more rt or rtc elements, each of which either immediately - preceded or followed by an rp elements.
    4. -
    - -

    The ruby, rb, rtc and rt elements can be - used for a variety of kinds of annotations, including in particular (though by no means limited - to) those described below. For more details on Japanese Ruby in particular, and how to render Ruby - for Japanese, see Requirements for Japanese Text Layout.

    - -

    The CSS Ruby Module Level 1 enables authors to control the rendering of the - HTML ruby element, supporting a variety of renderings based on the same markup.

    - -
    -
    Mono-ruby for individual base characters
    - -
    -

    Annotations (the ruby text) are associated individually with each ideographic character (the - base text). In Japanese this is typically hiragana or katakana characters used to provide - readings of kanji characters.

    - -
    -
    <ruby>base<rt>annotation</ruby>
    -
    - -

    When no rb element is used, the base is implied, as above. But you can also - make it explicit. This can be useful notably for styling, or when consecutive bases are to be - treated as a group, as in the jukugo ruby example further down.

    - -
    -
    <ruby><rb>base<rt>annotation</ruby>
    -
    - -

    In the following example, notice how each annotation corresponds to a single base - character.

    - -
    -
    <ruby>日<rt>に</rt></ruby><ruby>本<rt>ほん</rt></ruby>
    -<ruby>語<rt>ご</rt></ruby>で<ruby>書<rt>か</rt></ruby>
    -いた<ruby>作<rt>さく</rt></ruby><ruby>文<rt>ぶん</rt></ruby>です。
    -
    - -

    Ruby text interspersed in regular text provides structure akin to the following image:

    - -

    An example of ruby text mixed up with regular text.

    - -

    This example can also be written as follows, using one ruby element with two - segments of base text and two annotations (one for each) rather than two back-to-back - ruby elements each with one base text segment and annotation (as in the markup - above):

    - -
    -
    <ruby>日<rt>に</rt>本<rt>ほん</rt>語<rt>ご</rt></ruby>
    -で<ruby>書<rt>か</rt></ruby>
    -いた<ruby>作<rt>さく</rt>文<rt>ぶん</rt></ruby>です。
    -
    -
    - -
    Group ruby
    - -
    -

    Group ruby is often used where phonetic annotations don't map to discreet base characters, - or for semantic glosses that span the whole base text. For example, the word "today" is written - with the characters 今日, literally "this day". But it's pronounced きょう (kyou), which can't - be broken down into a "this" part and a "day" part. In typical rendering, you can't split text - that is annotated with group ruby; it has to wrap as a single unit onto the next line. When a - ruby text annotation maps to a base that is comprised of more than one character, - then that base is grouped.

    - -

    The following group ruby:

    - -

    Group ruby example with きょう annotating 今日

    - -

    Can be marked up as follows:

    - -
    -
    <ruby>今日<rt>きょう</ruby>
    -
    -
    - -
    Group ruby for describing meanings - -
    -

    The annotation describes the meaning of the base text, rather than (or in addition to) the - pronunciation. As such, both the base text and the annotation can be multiple characters long. - -

    -

    Here a compound ideographic word has its corresponding katakana given as an annotation. -

    <ruby>境界面<rt>インターフェース</ruby>
    -

    境界面インターフェース -

    - -
    -

    Here a compound ideographic word has its translation in English provided as an annotation. -

    <ruby lang="ja">編集者<rt lang="en">editor</ruby>
    -

    編集者editor -

    -
    - -
    Jukugo-ruby
    - -
    -

    Jukugo refers to a Japanese compound noun, i.e. a word made up of more than one - kanji character. Jukugo ruby is a term that is used not to describe ruby annotations - over jukugo text, but rather to describe ruby with a behavior slightly different from mono or - group ruby. Jukugo ruby is similar to mono ruby, in that there is a strong association - between ruby text and individual base characters, but the ruby text is typically rendered as - grouped together over multiple ideographs when they are on the same line.

    - -

    The distinction is captured in this example:

    - -

    Example of jukugo ruby

    +
    <ruby>霧<rt>きり</rt></ruby>とも<ruby>霞<rt>かすみ</rt></ruby>とも
    -

    Which can be marked up as follows:

    +

    A typical rendering would be something akin to the following image:

    -
    -
    <ruby>法<rb>華<rb>経<rt>ほ<rt>け<rt>きょう</ruby>
    -
    +

    A short piece of horizontal Japanese text, with the reading of each kanji character
+   indicated by small hiragana characters above it. Each group of hiragana is horizontally
+   centered relative to the kanji it annotates.

    +
    -

    In this example, each rt element is paired with its respective rb - element, the difference with an interleaved rb/rt approach being - that the sequences of both base text and ruby annotations are implicitly placed in common - containers so that the grouping information is captured.

    +

    The content model of ruby elements consists of one or more of the following + ruby segment sequences:

    -

    For more details on Jukugo Ruby rendering, see - Appendix F in the Requirements for Japanese Text Layout and Use Case C: Jukugo - ruby in the Use Cases & Exploratory Approaches for Ruby Markup. -

    - +
      +
    1. One or more phrasing content nodes or rb elements (or a + combination) representing the base-level content being annotated + (the ruby base range).
    2. -
      Inline ruby
      +
    3. One or more rt or rtc elements (or a combination) representing any annotations associated with the preceding base + content, where each rtc element or sequence of rt elements represents one independent level of annotation (a ruby + annotation range) and can be preceded / followed by an optional rp element. + (The optional rp element can be used to add presentational content such as + parentheses, which can be useful when falling back to inline rendering for when ruby layout is + not supported.)
    4. +
    -
    -

    In some contexts, for instance when the font size or line height are too small for ruby - to be readable, it is desirable to inline the ruby annotation such that it appears in - parentheses after the text it annotates. This also provides a convenient fallback strategy - for user agents that do not support rendering ruby annotations.

    +

    For authoring convenience, the internal ruby elements rb, + rt, rtc, and rp have optional end + tags.

    -

    Inlining takes grouping into account. For example, Tokyo is written with two kanji - characters, 東, which is pronounced とう, and 京, which is pronounced きょう. Each base - character should be annotated individually, but the fallback should be 東京(とうきょう) not - 東(とう)京(きょう). This can be marked up as follows:

    +
    +

    In Taiwan, phonetic annotations for Chinese text are typically provided using Zhuyin + characters (also known as Bopomofo). In mainland China, phonetic annotations are typically + provided using Latin characters using Pinyin transcription. In this example, both are + provided:

    -
    -
    <ruby>東<rb>京<rt>とう<rt>きょう</ruby>
    -
    +

    “Computer” in Chinese, with both pinyin and bopomofo annotations.

    -

    Note that the above markup will enable the usage of parentheses when inlining for - browsers that support ruby layout, but for those that don't it will fail to provide - parenthetical fallback. This is where the rp element is useful. It can be inserted - into the above example to provide the appropriate fallback when ruby layout is not - supported:

    +
    <ruby lang=zh-TW>
    +  <rb>電</rb><rtc><rt>ㄉㄧㄢˋ</rt></rtc><rtc lang=zh-Latn><rt>diàn</rt></rtc>
    +  <rb>腦</rb><rtc><rt>ㄋㄠˇ</rt></rtc><rtc lang=zh-Latn><rt>nǎo</rt></rtc>
    +</ruby>
    -
    -
    <ruby>東<rb>京<rp>(<rt>とう<rt>きょう<rp>)</ruby>
    -
    -
    +

    Certain features of HTML ruby allow for simpler markup:

    -
    Text with both phonetic and semantic annotations (double-sided ruby) +
      +
    • End tags can be omitted.
    • -
      -

      Sometimes, ruby can be used to annotate a base twice.

      +
    • Text contained directly by a ruby element implicitly represents a ruby + base unit (as if it were contained in an rb element).
    • -

      In the following example, the Chinese word for San Francisco (旧金山, i.e. “old gold - mountain”) is annotated both using pinyin to give the pronunciation, and with the original - English.

      +
    • Consecutive rt children of a ruby element are implicitly grouped + into a ruby annotation range (as if they were contained in an rtc + element).
    • -

      San Francisco in Chinese, with both pinyin and the original English as annotations.

      +
    • Text contained directly by an rtc element implicity represents a ruby + annotation unit.
    • +
    -

    Which is marked up as follows:

    +

    In effect, the above example is equivalent (in meaning, though not in the DOM it produces) to the following:

    +
    <ruby lang=zh-TW>
    +  電<rt>ㄉㄧㄢˋ<rtc lang=zh-Latn>diàn</rtc>
    +  腦<rt>ㄋㄠˇ<rtc lang=zh-Latn>nǎo
    +</ruby>
    + -
    -
    <ruby><rb>旧<rb>金<rb>山<rt>jiù<rt>jīn<rt>shān<rtc>San Francisco</ruby>
    -
    +

    The CSS Ruby Module Level 1 enables authors to control the rendering + of the HTML ruby element and its contents, supporting a variety of layouts based on + the same markup.

    -

    In this example, a single base run of three base characters is annotated with three pinyin - ruby text segments in a first (implicit) container, and an rtc element is - introduced in order to provide a second single ruby text annotation being the - city's English name.

    +
    +

    Three rendering styles are commonly used with Zhuyin (Bopomofo) characters. (Annotations here + are shown in blue for clarity, though in actual uses there would be no color distinction.)

    -

    We can also revisit our jukugo example above with 上手 ("skill") to show how it can be - annotation in both kana and romaji phonetics while at the same time maintaining the pairing to - bases and annotation grouping information.

    +

    When the text is written vertically, the phonetic annotations are rendered to the right, along + the base text:

    -

    上手 (skill) annotated in both kana and romaji, shown in both jukugo and mono styles.

    +

    A Chinese word composed of two characters, written vertically. To the right of each
+   character, phonetic annotations appear, written vertically.

    -

    Which is marked up as follows:

    +

    In horizontal writing, they are frequently also typeset to the right, in this case sandwiched + between individual base characters:

    -
    -
    <ruby><rb>上<rb>手<rt>じよう<rt>ず<rtc><rt>jou<rt>zu</ruby>
    -
    +

    A Chinese word composed of two characters, written horizontally. To the right of each
+   character, phonetic annotations appear, written vertically.

    -

    Text that is a direct child of the rtc element implicitly produces a ruby - text segment as if it were contained in an rt element. In this contrived example, - this is shown with some symbols that are given names in English and French with annotations - intended to appear on either side of the base symbol.

    +

    However, sometimes Zhuyin annotations are instead typeset above horizontal base text:

    -
    <ruby>
    -  ♥<rt>Heart<rtc lang=fr>Cœur</rtc>
    -  ☘<rt>Shamrock<rtc lang=fr>Trèfle</rtc>
    -  ✶<rt>Star<rtc lang=fr>Étoile
    -</ruby>
    -
    +

    A Chinese word composed of two characters, written horizontally. Above each
+   character, phonetic annotations appear, written horizontally.

    -

    Similarly, text directly inside a ruby element implicitly produces a ruby base - as if it were contained in an rb element, and rt children of - ruby are implicitly contained in an rtc container. In effect, the - effect, the above example is equivalent (in meaning, though not in the DOM it produces) to the - following:

    +

    These differences are stylistic, not semantic, and therefore share the same markup:

    -
    <ruby>
    -  <rb>♥</rb><rtc><rt>Heart</rt></rtc><rtc lang=fr><rt>Cœur</rt></rtc>
    -  <rb>☘</rb><rtc><rt>Shamrock</rt></rtc><rtc lang=fr><rt>Trèfle</rt></rtc>
    -  <rb>✶</rb><rtc><rt>Star</rt></rtc><rtc lang=fr><rt>Étoile</rt></rtc>
    -</ruby>
    -
    - - +
    <ruby lang=zh-TW>電<rt>ㄉㄧㄢˋ</rt>腦<rt>ㄋㄠˇ</ruby>
    +
    -
    +
    Ruby Segmentation and Pairing
    -

    Within a ruby element, content is parcelled into a series of ruby segments. Each ruby - segment is described by:

    +

    Within a ruby element, content is parcelled into a series of ruby segments. Ignoring + inter-element whitespace and rp elements, each ruby segment + consists of:

      -
    • Zero or more ruby bases, each of which is a DOM range that - may contain phrasing content or an rb element.

    • - -
    • A base range, that is a DOM range including all the bases. This is the ruby base - container.

    • +
    • One ruby base range: zero or more ruby base + units, each of which is either a DOM range containing a single child rb + element or a maximal DOM range of child content that does not contain a child rb + element.

    • -
    • Zero or more ruby text containers which may - correspond to explicit rtc elements, or to sequences of rt elements - implicitly recognized as contained in an anonymous ruby text container.

    • +
    • Zero or more ruby annotation ranges, each a + DOM range corresponding to either a single rtc element or to a maximal sequence of + consecutive rt elements. The ruby annotation range is further parcelled + into a sequence of ruby annotation units: if it + consists of a sequence of rt elements then each such element is an individual + ruby annotation unit; if it consists of an rtc element, then each of + its child rt elements and each maximal DOM range of non-rt child + content is a ruby annotation unit.

    -

    Each ruby text container is described by zero or more ruby text annotations each of which is a DOM range that may contain phrasing - content or an rt element, and an annotations range that is a range including all - the annotations for that container. A ruby text container is also known (primarily - in a CSS context) as a ruby annotation container.

    - -

    Furthermore, a ruby element contains ignored ruby content. Ignored ruby content - does not form part of the document's semantics. It consists of some inter-element - whitespace and rp elements, the latter of which are used for legacy user - agents that do not support ruby at all.

    - -

    The process of annotation pairing associates ruby annotations with ruby bases. Within each - ruby segment, each ruby base in the ruby base container - is paired with one ruby text annotation from the ruby text container, - in order. If there are not enough ruby text - annotations in a ruby annotation container, the last one is associated with - any excess ruby bases. (If there are not any in the ruby - annotation container, an anonymous empty one is assumed to exist.) If there are not - enough ruby bases, any remaining ruby text annotations are assumed to be associated with empty, anonymous bases - inserted at the end of the ruby base container.

    - -

    Note that the terms ruby segment, ruby base, ruby text - annotation, ruby text container, ruby base container, and - ruby annotation container have their equivalents in CSS Ruby Module Level - 1.

    - -

    Informally, the segmentation and categorization algorithm below performs - Segmentation and categorization consists of a simple set of tasks. - First it processes adjacent rb elements, text nodes, and non-ruby elements - into a list of bases. Then it processes any number of rtc elements or sequences - of rt elements that are considered to automatically map to an anonymous ruby - text container. Put together these data items form a ruby segment as - detailed in the data model above. It will continue to produce such segments until it reaches - the end of the content of a given ruby element. The complexity of the - algorithm below compared to this informal description stems from the need to support - an author-friendly syntax and being mindful of inter-element white space.

    - -
    -

    At any particular time, the segmentation and categorization of content of a - ruby element is the result that would be obtained from - running the following algorithm:

    - -
      -
    1. Let root be the ruby element for which the algorithm is being - run.

    2. - -
    3. Let index be 0.

    4. - -
    5. Let ruby segments be an empty list.

    6. - -
    7. Let current bases be an empty list of DOM ranges.

    8. - -
    9. Let current bases range be null.

    10. - -
    11. Let current bases range start be null.

    12. - -
    13. Let current annotations be an empty list of DOM ranges.

    14. - -
    15. Let current annotations range be null.

    16. - -
    17. Let current annotations range start be null.

    18. - -
    19. Let current annotation containers be an empty list.

    20. - -
    21. Let current automatic base nodes be an empty list of DOM Nodes.

    22. - -
    23. Let current automatic base range start be null.

    24. - -
    25. Process a ruby child: If index is equal to or greater than the number - of child nodes in root, then run the steps to commit a ruby segment, - return ruby segments, and abort these steps.

    26. - -
    27. Let current child be the indexth node in root.

    28. - -
    29. If current child is not a Text node and is not an - Element node, then increment index by one and jump to the step labeled - process a ruby child.

    30. - -
    31. If current child is an rp element, then increment - index by one and jump to the step labeled process a ruby child. (Note that - this has the effect of including this element in any range that we are currently processing. - This is done intentionally so that misplaced rp can be processed correctly; - semantically they are ignored all the same.)

    32. - -
    33. -

      If current child is an rt element, then run these substeps:

      - -
        -
      1. Run the steps to commit an automatic base.

      2. - -
      3. Run the steps to commit the base range.

      4. - -
      5. If current annotations is empty, set current annotations range - start to the value of index.

      6. - -
      7. Create a new DOM range whose start is the - boundary point (root, index) and - whose end is the boundary point (root, index plus one), - and append it at the end of current annotations.

      8. - -
      9. Increment index by one and jump to the step labeled process a ruby - child.

      10. -
      -
    34. - -
    35. -

      If current child is an rtc element, then run these - substeps:

      - -
        -
      1. Run the steps to commit an automatic base.

      2. - -
      3. Run the steps to commit the base range.

      4. - -
      5. Run the steps to commit current annotations.

      6. - -
      7. Create a new ruby annotation container. It is described by the list of - annotations returned by running the steps to process an rtc element - and a DOM range whose start is the boundary point (root, index) and whose - end is the boundary - point (root, index plus one). Append this new ruby - annotation container at the end of current annotation containers.

      8. - -
      9. Increment index by one and jump to the step labeled process a ruby - child.

      10. -
      -
    36. - -
    37. -

      If current child is a Text node and is inter-element - whitespace, then run these substeps:

      - -
        -
      1. If current annotations is not empty, increment index by one and - jump to the step labeled process a ruby child.

      2. - -
      3. -

        Run the following substeps:

        - -
          -
        1. Let lookahead index be set to the value of index.

        2. - -
        3. Peek ahead: Increment lookahead index by one.

        4. - -
        5. If lookahead index is equal to or greater than the number of - child nodes in root, then abort these substeps.

        6. - -
        7. Let peek child be the lookahead indexth node in - root.

        8. - -
        9. If peek child is a Text node and is inter-element - whitespace, then jump to the step labeled peek ahead.

        10. - -
        11. If peek child is an rt element, an rtc element, - or an rp element, then set index to the value of lookahead - index and jump to the step labeled process a ruby child.

        12. -
        -
      4. -
      -
    38. - -
    39. If current annotations is not empty or if current annotation - containers is not empty, then run the steps to commit a ruby - segment.

    40. - -
    41. -

      If current child is an rb element, then run these substeps:

      - -
        -
      1. Run the steps to commit an automatic base.

      2. - -
      3. If current bases is empty, then set current bases range start to - the value of index.

      4. - -
      5. Create a new DOM range whose start is the - boundary point (root, index) and - whose end is the boundary point (root, index plus one), - and append it at the end of current bases.

      6. - -
      7. Increment index by one and jump to the step labeled process a ruby - child.

      8. -
      -
    42. - -
    43. If current automatic base nodes is empty, set current automatic base - range start to the value of index.

    44. - -
    45. Append current child at the end of current automatic base - nodes.

    46. - -
    47. Increment index by one and jump to the step labeled process a ruby - child.

    48. -
    - -

    When the steps above say to commit a ruby segment, it means to run the following - steps at that point in the algorithm:

    - -
      -
    1. Run the steps to commit an automatic base.

    2. - -
    3. If current bases, current annotations, and current annotation - containers are all empty, abort these steps.

    4. - -
    5. Run the steps to commit the base range.

    6. - -
    7. Run the steps to commit current annotations.

    8. - -
    9. Create a new ruby segment. It is described by a list of bases set to - current bases, a base DOM range set to current bases range, and a - list of ruby annotation containers - that are the current annotation containers list. Append this new - ruby segment at the end of ruby segments.

    10. - -
    11. Let current bases be an empty list.

    12. - -
    13. Let current bases range be null.

    14. - -
    15. Let current bases range start be null.

    16. - -
    17. Let current annotation containers be an empty list.

    18. -
    - -

    When the steps above say to commit the base range, it means to run the following - steps at that point in the algorithm:

    - -
      -
    1. If current bases is empty, abort these steps.

    2. - -
    3. If current bases range is not null, abort these steps.

    4. - -
    5. Let current bases range be a DOM range whose start is the boundary - point (root, current bases range start) and whose end is the boundary - point (root, index).

    6. -
    - -

    When the steps above say to commit current annotations, it means to run the - following steps at that point in the algorithm:

    - -
      -
    1. If current annotations is not empty and current annotations range - is null let current annotations range be a DOM range whose start is the boundary - point (root, current annotations range start) and whose end is the boundary - point (root, index).

    2. - -
    3. If current annotations is not empty, create a new ruby annotation - container. It is described by an annotations list set to current annotations - and a range set to current annotations range. Append this new ruby annotation - container at the end of current annotation containers.

    4. - -
    5. Let current annotations be an empty list of DOM ranges.

    6. - -
    7. Let current annotations range be null.

    8. - -
    9. Let current annotations range start be null.

    10. -
    +
    +

    Annotating text character by character is also typical in Chinese. In this example, each + character is individually annotated in its own ruby element:

    + +
    <ruby>千<rt>qiān</ruby><ruby>里<rt>lǐ</ruby><ruby>之<rt>zhī</ruby><ruby>行<rt>xíng</ruby>﹐<ruby>始<rt>shǐ</ruby><ruby>於<rt>yú</ruby><ruby>足<rt>zú</ruby><ruby>下<rt>xià</ruby>。
    + +

    A Chinese phrase, with each
+   character phonetically annotated with a pinyin syllable

    + +

    Multiple adjacent ruby segments can also be combined into the same ruby parent:

    + +
    <ruby>千<rt>qiān</rt>里<rt>lǐ</rt>之<rt>zhī</rt>行<rt>xíng</ruby>﹐<ruby>始<rt>shǐ</rt>於<rt>yú</rt>足<rt>zú</rt>下<rt>xià</ruby>。
    +
    + +

    The process of annotation pairing associates ruby annotation units with ruby base units. + Within each ruby segment, each ruby base unit is paired with one + ruby annotation unit from each ruby annotation range. If a ruby + annotation range consists of an rtc element that contains no rt + elements, the single ruby annotation unit represented by its contents spans (is + paired with) every ruby base unit in the ruby segment. Otherwise, each + ruby annotation unit in the ruby annotation range is paired, in order, + with the corresponding ruby base unit in the segment’s ruby base range. + If there are not enough ruby base units, any + remaining ruby annotation units are assumed to be + associated with empty, hypothetical bases inserted at the end of the ruby base range. + If there are not enough ruby annotation units in a + ruby annotation range, the remaining ruby base + units are assumed to not have an annotation from that annotation level.

    + +
    +

    In some contexts, for example when the font size or line height are too small for interlinear + ruby to be readable, it is desirable to inline the ruby annotation such that it appears in + parentheses after the text it annotates. This also provides an appropriate fallback rendering for + user agents that do not support ruby layout. + +

    However, for compound words in Japanese particularly, per-character inlined phonetics are + awkward. Instead the more natural rendering is to place the annotation of an entire word together + after its base text. For example, when typeset inline, 京都市 + (“Kyoto City”) is expected to be rendered as “京都市(きょうとし)”, not “京(きょう)都(と)市(し)”. This can be marked up using consecutive + rb elements followed by consecutive rt elements:

    + +
    <ruby><rb>京<rb>都<rb>市<rt>きょう<rt>と<rt>し<ruby>
    + +

    If each base character was immediately followed by its annotation in the markup (each + base-annotation pair forming its own segment), inlining would result in the undesirable and + awkward “京(きょう)都(と)市(し)”.

    + +

    Note that the markup above does not automatically provide the parentheses. Parentheses can be + inserted using CSS generated content when intentionally typesetting inline, however they would be + missing when a UA that does not support ruby falls back to inline layout automatically from + interlinear layout. The rp element can be inserted to provide the appropriate + punctuation for when ruby is not supported:

    + +
    <ruby><rb>京<rb>都<rb>市<rp>(<rt>きょう<rt>と<rt>し<rp>)<ruby>
    +
    + +
    Markup Patterns for Multi-Character Ruby
    -

    When the steps above say to commit an automatic base, it means to run the following - steps at that point in the algorithm:

    + -
      -
    1. If current automatic base nodes is empty, abort these steps.

    2. +

      In the simplest examples, each ruby base unit contains only a single character, + a pattern often used for character-per-character phonetic annotations. However, ruby base units are not restricted to containing a single + character. In some cases it may be impossible to map an annotation to the base characters + individually, and the annotation may need to jointly apply to a group of characters.

      -
    3. -

      If current automatic base nodes contains nodes that are not Text - nodes, or Text nodes that are not inter-element whitespace, then run - these substeps:

      +
      +

      For example, the Japanese word for “today” is written with the characters 今日, literally + “this”+“day”. But it's pronounced きょう (kyō), which can't be broken down into a “this” part + and a “day” part.

      -
        -
      1. It current bases is empty, set current bases range start to the - value of current automatic base range start.

      2. - -
      3. Create a new DOM range whose start is the - boundary point (root, current - automatic base range start) and whose end - is the boundary point (root, - index), and append it at the end of current bases.

      4. -
      -
    4. +

      Therefore phonetic ruby indicating the reading of 今日:

      -
    5. Let current automatic base nodes be an empty list of DOM Nodes.

    6. +

      きょう annotating 今日

      -
    7. Let current automatic base range start be null.

    8. -
    +

    Would be marked up as follows:

    +
    <ruby>今日<rt>きょう</ruby>
    +

    Ruby can also be used to describe the meaning of the base text, rather than (or in addition + to) the pronunciation. In such cases, both the base text and the annotation are typically made + of multiple characters, with no meaningful subdivision possible.

    - - - -

    In this example, each ideograph in the Japanese text 漢字 is annotated with its reading in hiragana.

    - -
    ...
    -<ruby><rb>漢</rb><rb>字</rb><rt>かん</rt><rt>じ</rt></ruby>
    -...
    +

    Here a compound ideographic word has an English-derived synonym (written in katakana) given as + an annotation:

    -

    This might be rendered as:

    +
    <ruby>境界面<rt>インターフェース</ruby>
    +

    境界面インターフェース

    -

    The two main ideographs, each with its annotation in hiragana rendered in a smaller font above it.

    +

    Here a compound ideographic word has its English equivalent directly provided as an + annotation:

    +
    <ruby lang="ja">編集者<rt lang="en">editor</ruby>
    +

    編集者editor

    -
    - - +

    In compound words, although phonetic annotations might correspond to individual characters, + they are sometimes nonetheless typeset to share space above the base text, rendering similar to + annotations on multi-character bases. However, there are subtle distinctions in their rendering + that require encoding the pairing relationships within the compound word as well as its + identification as a word. Furthermore, sharing space in this way versus rendering each pair in + its own visual “column” is a stylistic preference: the markup needs to provide enough information + to allow for both renderings (as well as correct inlining).

    -

    In this example, each ideograph in the traditional Chinese text 漢字 is annotated with its bopomofo reading.

    +
    +

    In this example, we will use the Japanese noun “京都市”, + meaning “Kyoto City”. Its characters are pronounced “きょう”, “と”, and “し”, respectively. + (Distinct colors shown in these examples for clarity: in actual usage there would be no color + distinction.)

    -
    <ruby>漢<rt>ㄏㄢˋ</rt>字<rt>ㄗˋ</rt></ruby>
    +

    Such compound words could be rendered with phonetic annotations placed over each character + one by one. In this style, when an annotation is visually longer than the character it annotates, + surrounding text is pushed apart, to make the correspondance between each character and its + annotation clear.

    -

    This might be rendered as:

    +

    “Kyoto City” written in horizontal Japanese, with phonetic annotations over each of the
+   three characters. The first and second character are pushed apart from each other, as the
+   annotation over the first one is too long to fit.

    -

    The two main ideographs, each with its bopomofo annotation rendered in a smaller font next to it.

    +

    However, it is common to present such a word with its annotations sharing space together when + they would otherwise create a separation in the base text, to preserve the implication that it is + a single word. This style is called “jukugo ruby“ (“jukugo” meaning “compound word”).

    -
    - -
    +

    “Kyoto City” written in horizontal Japanese, with phonetic annotations over the word. The
+   characters of each annotation are not alligned to their corresponding base, instead they are
+   collectively aligned to the whole word.

    - +

    Even when presenting as “jukugo ruby“ though, the annotation are not always merged. If a line + break occurs in the middle of the word, the annotations are expected to remain associated with + the correct base character.

    -

    In this example, each ideograph in the simplified Chinese text 汉字 is annotated with its pinyin reading.

    +

    “Kyoto City” written in horizontal Japanese, broken across two lines. The phonetic
+   annotations displayed over the word are paired with each base character, and line break
+   together.

    -
    ...<ruby>汉<rt>hàn</rt>字<rt>zì</rt></ruby>...
    +

    Whether—and how much—the annotations are merged can vary, and can depend on the font size, as + “jukugo ruby“ only merges annotations when at least one of them is longer than its base.

    -

    This might be rendered as:

    - -

    The two main ideographs, each with its pinyin annotation rendered in a smaller font above it.

    - -
    +
    +

    “Kyoto City” written in horizontal Japanese, with phonetic annotations over each of the
+   three characters. At 33% of the base font size, annotations are small enough to fit their base
+   character, and are aligned to it.

    +
    Ruby sized at 33%
    +
    - +
    +

    “Kyoto City” written in horizontal Japanese, with phonetic annotations over each of the
+   three characters. At 50% of the base font size, the first annotation doesn't fit over its base
+   character, so it merges with the second one. The third remains separate.

    +
    Ruby sized at 50%
    +
    -
    +
    +

    “Kyoto City” written in horizontal Japanese, with phonetic annotations over each of the
+   three characters. At 60% of the base font size, the first annotation doesn't fit over the first
+   character, nor do the first and second together fit over the first two characters. All three
+   are merged and aligned together.

    +
    Ruby sized at 60%
    +
    -

    In this more contrived example, the acronym "HTML" has four annotations: one for the whole - acronym, briefly describing what it is, one for the letters "HT" expanding them to "Hypertext", - one for the letter "M" expanding it to "Markup", and one for the letter "L" expanding it to - "Language".

    +

    Since choosing to render as “jukugo ruby” or not is a stylistic choice, the same markup needs + to enable both—and it needs to encode both the pairing information within the word as well as the + grouping of these pairs as a single word:

    -
    <ruby>
    - <rb>HT<rb>M<rb>L</rb>
    - <rt>Hypertext<rt>Markup<rt>Language</rt>
    - <rtc>An abstract language for describing documents and applications</rtc>
    -</ruby>
    -   
    +
    <ruby><rb>京<rb>都<rb>市<rt>きょう<rt>と<rt>し<ruby>
    +

    Correct “jukugo ruby” is not be possible if all the base characters are part of a single + rb element and all the annotation text in a single rt element, as + their individual pairings would be lost.

    -

    The rb element

    +

    For more details on Japanese and Chinese ruby usage and rendering, see + Requirements for Japanese Text Layout (particularly Ruby and Emphasis Dots and Appendix F), Rules for + Simple Placement of Japanese Ruby, and the section on Interlinear annotations of + Requirements for Chinese Text Layout.

    + +

    The rb element

    Categories:
    @@ -21652,17 +21358,31 @@ this specification: the <abbr>WHATWG</abbr> and the
    Uses HTMLElement.
    -

    The rb element marks the base text component of a ruby annotation.

    - -

    An rb element that is the child of a ruby - element doesn't represent anything itself, but the ruby element - uses it as part of determining what it represents.

    +

    An rb (“ruby base”) element that is the child of a ruby + element represents a ruby base unit: a unitary component of + base-level text annotated by any ruby annotation(s) to which it is paired.

    An rb element that is not a child of a ruby element represents the same thing as its children.

    +
    +

    When no rb element is used, the base is implied:

    + +
    <ruby>base<rt>annotation</ruby>
    + +

    The element can also be made explicit:

    + +
    <ruby><rb>base<rt>annotation</ruby>
    + +

    Both markup patterns have identical semantics. Explicit rb elements can be useful + for styling, and are necessary when marking up consecutive bases to pair with consecutive + annotations (for example, when representing a compound word; see 京都市 inlining and jukugo + ruby examples above).

    +
    +

    The rt element

    @@ -21682,20 +21402,18 @@ this specification: the <abbr>WHATWG</abbr> and the
    Uses HTMLElement.
    -

    The rt element marks the ruby text component of a ruby annotation.

    - -

    An rt element that is the child of a ruby element or of - an rtc element that is itself the child of a ruby element - doesn't represent anything itself, but the ruby - element uses it as part of determining what it represents.

    +

    An rt (“ruby text”) element that is the child of a ruby element or of + an rtc element that is itself the child of a ruby element + represents a ruby annotation unit: a unitary annotation of the ruby + base unit to which it is paired.

    -

    An rt element that is not a child of a ruby element - nor of an rtc element that is itself the child of a ruby element +

    An rt element that is not a child of a ruby element nor of an + rtc element that is itself the child of a ruby element represents the same thing as its children.

    -

    The rtc element

    +

    The rtc element

    Categories:
    @@ -21703,92 +21421,64 @@ this specification: the <abbr>WHATWG</abbr> and the
    Contexts in which this element can be used:
    As a child of a ruby element.
    Content model:
    -
    Phrasing content, rt or rp elements.
    +
    Either phrasing content or a sequence of rt elements, + optionally preceded and optionally followed by a single rp element.
    Content attributes:
    Global attributes
    DOM interface:
    Uses HTMLElement.
    -

    The rtc element marks a ruby text container for ruby text components - in a ruby annotation.

    - -

    An rtc element that is the child of a ruby - element doesn't represent anything itself, but its parent ruby - element uses it as part of determining what it represents. - When an rtc element is not the child of a ruby element, - it represents the same thing as its children.

    - -
    -

    When an rtc element is processed as part of the segmentation and categorization - of content for a ruby element, the following algorithm defines how to process - an rtc element:

    - -
      -
    1. Let root be the rtc element for which the algorithm is being - run.

    2. - -
    3. Let index be 0.

    4. +

      An rtc (“ruby text container”) element that is the child of a ruby + element represents one level of annotation (a ruby annotation + range) for the preceding sequence of ruby base units + (its ruby base range). -

    5. Let annotations be an empty list of DOM ranges.

    6. +

      Note: In simple cases, rtc elements can be omitted as a ruby + annotation range is implied by consecutive rt elements. However, they are + necessary in order to associate multiple levels of annotation with a single ruby base + range, for example to provide both phonetic and semantic information, phonetic information + in different scripts, or semantic information in different languages.

      -
    7. Let current automatic annotation nodes be an empty list of DOM nodes.

    8. - -
    9. Let current automatic annotation range start be null.

    10. - -
    11. Process an rtc child: If index is equal to or greater than the number - of child nodes in root, then run the steps to commit an automatic - annotation, return annotations, and abort these steps.

    12. - -
    13. Let current child be the indexth node in root.

    14. - -
    15. -

      If current child is an rt element, then run these substeps:

      - -
        -
      1. Run the steps to commit an automatic annotation.

      2. - -
      3. Create a new DOM range whose start is the - boundary point (root, index) and - whose end is the boundary point (root, index plus one), - and append it at the end of annotations.

      4. +
        +

        In this example, the Japanese compound word 上手 ("skillful") has phonetic annotations in + both kana and romaji phonetics while at the same time maintaining the pairing to + bases and annotation grouping information.

        -
      5. Increment index by one and jump to the step labeled process an rtc - child.

      6. +

        上手 (skill) annotated in both kana and romaji

        -
      -
    16. +

      This enabled by the following markup:

      -
    17. If current automatic annotation nodes is empty, set current automatic - annotation range start to the value of index.

    18. +
      <ruby><rb>上<rb>手<rt>じよう<rt>ず<rtc><rt>jou<rt>zu</ruby>
      +
    -
  • Append current child at the end of current automatic annotation - nodes.

  • +

    Note: Text that is a direct child of the rtc element implicitly + represents a ruby annotation unit as if it were contained in an rt element, except + that this annotation spans all the bases in the segment.

    -
  • Increment index by one and jump to the step labeled process an rtc - child.

  • - +
    +

    In this example, the Chinese word for San Francisco (旧金山, i.e. “old gold mountain”) is annotated both using pinyin to give + the pronunciation, and with the original English.

    -

    When the steps above say to commit an automatic annotation, it means to run the - following steps at that point in the algorithm:

    +

    San Francisco in Chinese, with both pinyin and the original English as annotations.

    -
      -
    1. If current automatic annotation nodes is empty, abort these steps.

    2. +

      Which is marked up as follows:

      -
    3. If current automatic annotation nodes contains nodes that are not - Text nodes, or Text nodes that are not inter-element - whitespace, then create a new DOM range whose start is the boundary - point (root, current automatic annotation range start) and whose - end is the boundary - point (root, index), and append it at the end of - annotations.

    4. +
      <ruby><rb>旧<rb>金<rb>山<rt>jiù<rt>jīn<rt>shān<rtc>San Francisco</ruby>
      -
    5. Let current automatic annotation nodes be an empty list of DOM nodes.

    6. +

      Here, a single base run of three base characters is annotated with three pinyin ruby text + segments in a first (implicit) container, and an rtc element is introduced in order + to provide a second single ruby annotation being the city's English name.

      +
    -
  • Let current automatic annotation range start be null.

  • - +
    +

    An rtc element that is not a child of a ruby element + represents the same thing as its children.

    The rp element

    @@ -21798,8 +21488,7 @@ this specification: the <abbr>WHATWG</abbr> and the
    None.
    Contexts in which this element can be used:
    As a child of a ruby or rtc element, either immediately before or - immediately after an rt or rtc element. but not between rt - elements.
    + immediately after an rt or rtc element.
    Content model:
    Text.
    Content attributes:
    @@ -21812,56 +21501,34 @@ this specification: the <abbr>WHATWG</abbr> and the
    Uses HTMLElement.
    -

    The rp element is used to provide fallback text to be shown by user agents that - don't support ruby annotations. One widespread convention is to provide parentheses around the - ruby text component of a ruby annotation.

    - -

    The contents of the rp elements are typically not displayed by user agents - which do support ruby annotations

    - -

    An rp element that is a child of a ruby - element or of an rtc element that is itself the child of a ruby - element represents nothing. Otherwise, - it represents its children.

    +

    The rp (“ruby parenthetical”) element represents nothing. It is used to + provide fallback presentational content (such as parentheses) to be shown by user agents that do + not support ruby layout, and is typically not displayed by user agents that do support ruby + layout.

    -

    The example shown previously, in which each ideograph in the text 漢字 is annotated with its phonetic reading, could be expanded to - use rp so that in legacy user agents the readings are in parentheses (please note - that white space has been introduced into this example in order to make it more readable):

    +

    In this example, each ideograph in the text 漢字 + is annotated with its phonetic reading. Furthermore, it uses rp so that in legacy + user agents the readings are in parentheses:

    
    -...
    -<ruby>
    -  漢
    -  <rb>字</rb>
    -  <rp> (</rp>
    -  <rt>かん</rt>
    -  <rt>じ</rt>
    -  <rp>) </rp>
    -</ruby>
    -...
    -   
    +...<ruby>漢<rb>字<rp>(<rt>かん<rt>じ<rp>)</ruby>... -

    In conforming user agents the rendering would be as above, but in user agents that do not - support ruby, the rendering would be:

    +

    In user agents that support ruby layout, the rendering ommit the parentheses, but in user + agents that do not, the rendering would be:

    -
    ... 漢字 (かんじ) ...
    +
    ...漢字(かんじ)...
    -

    When there are multiple ruby text containers for a segment, rp elements can also be placed - between them.

    -
    -

    Here is another copy of an earlier contrived example showing some symbols with names given in - English and French using double-sided annotations, but this time with rp elements as - well:

    +

    Here a contrived example showing some symbols with names given in English and French using + double-sided annotations, with rp elements as well:

    
     <ruby>
    -  ♥<rp>: </rp><rt>Heart</rt><rp>, </rp><rtc><rt lang=fr>Cœur</rt></rtc><rp>.</rp>
    -  ☘<rp>: </rp><rt>Shamrock</rt><rp>, </rp><rtc><rt lang=fr>Trèfle</rt></rtc><rp>.</rp>
    -  ✶<rp>: </rp><rt>Star</rt><rp>, </rp><rtc><rt lang=fr>Étoile</rt></rtc><rp>.</rp>
    +  <rb>♥<rp>: <rt>Heart<rp>, <rtc lang=fr>Cœur</rtc><rp>.</rp>
    +  <rb>☘<rp>: <rt>Shamrock<rp>, <rtc lang=fr>Trèfle</rtc><rp>.</rp>
    +  <rb>✶<rp>: <rt>Star<rp>, <rtc lang=fr>Étoile</rtc><rp>.</rp>
     </ruby>
        
    @@ -126044,6 +125711,9 @@ INSERT INTERFACES HERE
    [CHARMODNORM]
    (Non-normative) Character Model for the World Wide Web: String Matching, A. Phillips. W3C.
    +
    [CLREQ]
    +
    Requirements for Chinese Text Layout. W3C.
    +
    [COMPOSITE]
    Compositing and Blending, R. Cabanier, N. Andronikos. W3C.
    @@ -126144,7 +125814,7 @@ INSERT INTERFACES HERE
    CSS Pseudo-Elements, D. Glazman, E. Etemad, A. Stearns. W3C.
    [CSSRUBY]
    -
    CSS Ruby Module Level 1, Elika J. Etemad; et al. W3C.
    +
    CSS Ruby Module Level 1, E. Etemad, K. Ishii, X. Quan, F. Rivoal. W3C.
    [CSSSCOPING]
    CSS Scoping Module, T. Atkins. W3C.
    @@ -126390,6 +126060,9 @@ INSERT INTERFACES HERE
    [PRESENTATION]
    Presentation API, M. Foltz, D. Röttsches. W3C.
    +
    [QA-RUBY]
    +
    (Non-normative) What is ruby?, R. Ishida. W3C.
    +
    [REFERRERPOLICY]
    Referrer Policy, J. Eisinger, E. Stark. W3C.
    @@ -126459,9 +126132,6 @@ INSERT INTERFACES HERE
    [SCREENORIENTATION]
    Screen Orientation API, M. Lamouri, M. Cáceres. W3C.
    -
    [RUBY-UC]
    -
    (Non-normative) Use Cases & Exploratory Approaches for Ruby Markup, R. Ishida. W3C.
    -
    [SCSU]
    (Non-normative) UTR #6: A Standard Compression Scheme For Unicode, M. Wolf, K. Whistler, C. Wicksteed, M. Davis, A. Freytag, M. Scherer. Unicode Consortium.
    @@ -126474,6 +126144,9 @@ INSERT INTERFACES HERE
    [SELECTORS]
    Selectors, E. Etemad, T. Çelik, D. Glazman, I. Hickson, P. Linss, J. Williams. W3C.
    +
    [SIMPLE-RUBY]
    +
    (Non-normative) Rules for Simple Placement of Japanese Ruby, T. Kobayashi, F. Rivoal, A. Shimono, R. Ishida. W3C.
    +
    [SMS]
    (Non-normative) URI Scheme for Global System for Mobile Communications (GSM) Short Message Service (SMS), E. Wilde, A. Vaha-Sipila. IETF.
    @@ -126971,6 +126644,7 @@ INSERT INTERFACES HERE Félix Sanz, Felix Sasaki, Fernando Altomare Serboncini, + Florian Rivoal, Forbes Lindesay, Francesco Schwarz, Francis Brosnan Blazquez,

    Ytm5Sh%@?x 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 literal 0 HcmV?d00001 diff --git a/images/sample-ruby-bopomofo.png b/images/sample-ruby-bopomofo.png deleted file mode 100644 index f4d287405d81b771f5127ddca468783eac07c82a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5114 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 Xg)U9lxDVaA00000NkvXXu0mjfqHF>G diff --git a/images/zhuyin-above.png b/images/zhuyin-above.png new file mode 100644 index 0000000000000000000000000000000000000000..edb01c21393d010f85721032b221e95042c0017b GIT binary patch literal 30830 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 literal 0 HcmV?d00001 diff --git a/images/zhuyin-pinyin.png b/images/zhuyin-pinyin.png new file mode 100644 index 0000000000000000000000000000000000000000..a93d30b736086c14eeb1657299f748b3e3210961 GIT binary patch literal 33260 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�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 literal 0 HcmV?d00001 diff --git a/images/zhuyin.png b/images/zhuyin.png new file mode 100644 index 0000000000000000000000000000000000000000..1bfb5b8cc3e46f18caa914ceb3526995d911ed6a GIT binary patch literal 25798 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 literal 0 HcmV?d00001 diff --git a/source b/source index f4883a0d347..da59aabe2f1 100644 --- a/source +++ b/source @@ -21010,634 +21010,340 @@ this specification: the <abbr>WHATWG</abbr> and the

    -
    Mono-ruby for individual base characters in Japanese +
    Mono-ruby for individual base characters
    -

    One or more hiragana or katakana characters (the ruby annotation) are placed with each - ideographic character (the base text). This is used to provide readings of kanji characters. +

    Annotations (the ruby text) are associated individually with each ideographic character (the + base text). In Japanese this is typically hiragana or katakana characters used to provide + readings of kanji characters.

    -
    -
    <ruby>B<rt>annotation</ruby>
    +
    +
    <ruby>base<rt>annotation</ruby>
    +

    When no rb element is used, the base is implied, as above. But you can also + make it explicit. This can be useful notably for styling, or when consecutive bases are to be + treated as a group, as in the jukugo ruby example further down.

    +
    -

    In this example, notice how each annotation corresponds to a single base character. -

    <ruby>君<rt>くん</ruby><ruby>子<rt>し</ruby>は<ruby>和<rt>わ</ruby>して<ruby>同<rt>どう</ruby>ぜず。
    -

    くんしてどうぜず。 -

    This example can also be written as follows, using one ruby element with two - segments of base text and two annotations (one for each) rather than two back-to-back - ruby elements each with one base text segment and annotation (as in the markup - above): -

    <ruby>君<rt>くん</rt>子<rt>し</ruby>は<ruby>和<rt>わ</ruby>して<ruby>同<rt>どう</ruby>ぜず。
    +
    <ruby><rb>base<rt>annotation</ruby>
    -
    +

    In the following example, notice how each annotation corresponds to a single base + character.

    -
    Mono-ruby for compound words (jukugo) +
    +
    <ruby>日<rt>に</rt></ruby><ruby>本<rt>ほん</rt></ruby>
    +<ruby>語<rt>ご</rt></ruby>で<ruby>書<rt>か</rt></ruby>
    +いた<ruby>作<rt>さく</rt></ruby><ruby>文<rt>ぶん</rt></ruby>です。
    +
    -
    -

    This is similar to the previous case: each ideographic character in the compound word (the - base text) has its reading given in hiragana or katakana characters (the ruby annotation). The - difference is that the base text segments form a compound word rather than being separate from - each other. +

    Ruby text interspersed in regular text provides structure akin to the following image:

    -
    -
    <ruby>B<rt>annotation</rt>B<rt>annotation</ruby>
    -
    +

    An example of ruby text mixed up with regular text.

    -
    -

    In this example, notice again how each annotation corresponds to a single base character. In this example, each compound word (jukugo) corresponds to a single ruby element.

    -

    The rendering here is expected to be that each annotation be placed over (or next to, in vertical text) the corresponding base character, with the annotations not overhanging any of the adjacent characters.

    -
    <ruby>鬼<rt>き</rt>門<rt>もん</rt></ruby>の<ruby>方<rt>ほう</rt>角<rt>がく</rt></ruby>を<ruby>凝<rt>ぎょう</rt>視<rt>し</rt></ruby>する
    -

    もんほうがくぎょうする +

    This example can also be written as follows, using one ruby element with two + segments of base text and two annotations (one for each) rather than two back-to-back + ruby elements each with one base text segment and annotation (as in the markup + above):

    +
    +
    <ruby>日<rt>に</rt>本<rt>ほん</rt>語<rt>ご</rt></ruby>
    +で<ruby>書<rt>か</rt></ruby>
    +いた<ruby>作<rt>さく</rt>文<rt>ぶん</rt></ruby>です。
    - -
    Jukugo-ruby +
    Group ruby
    -

    This is semantically identical to the previous case (each individual ideographic character in - the base compound word has its reading given in an annotation in hiragana or katakana - characters), but the rendering is the more complicated Jukugo Ruby rendering. +

    Group ruby is often used where phonetic annotations don't map to discreet base characters, + or for semantic glosses that span the whole base text. For example, the word "today" is written + with the characters 今日, literally "this day". But it's pronounced きょう (kyou), which can't + be broken down into a "this" part and a "day" part. In typical rendering, you can't split text + that is annotated with group ruby; it has to wrap as a single unit onto the next line. When a + ruby text annotation maps to a base that is comprised of more than one character, + then that base is grouped.

    + +

    The following group ruby:

    + +

    Group ruby example with きょう annotating 今日

    + +

    Can be marked up as follows:

    -

    This is the same example as above for mono-ruby for compound words. The different rendering is expected to be achieved using different styling (e.g. in CSS), and is not shown here.

    -
    <ruby>鬼<rt>き</rt>門<rt>もん</rt></ruby>の<ruby>方<rt>ほう</rt>角<rt>がく</rt></ruby>を<ruby>凝<rt>ぎょう</rt>視<rt>し</rt></ruby>する
    - - +
    <ruby>今日<rt>きょう</ruby>
    - -

    For more details on Jukugo Ruby rendering, see - Appendix F in the Requirements for Japanese Text Layout.

    -
    Group ruby for describing meanings

    The annotation describes the meaning of the base text, rather than (or in addition to) the pronunciation. As such, both the base text and the annotation can be multiple characters long. -

    <ruby>BASE<rt>annotation</ruby>
    -

    Here a compound ideographic word has its corresponding katakana given as an annotation.

    <ruby>境界面<rt>インターフェース</ruby>
    @@ -21133,278 +21127,444 @@ this specification: the <abbr>WHATWG</abbr> and the
    - -
    Group ruby for Jukuji readings +
    Jukugo-ruby
    -

    A phonetic reading that corresponds to multiple base characters, because a one-to-one mapping - would be difficult. (In English, the words "Colonel" and "Lieutenant" are examples of words - where a direct mapping of pronunciation to individual letters is, in some dialects, rather - unclear.) +

    Jukugo refers to a Japanese compound noun, i.e. a word made up of more than one + kanji character. Jukugo ruby is a term that is used not to describe ruby annotations + over jukugo text, but rather to describe ruby with a behavior slightly different from mono or + group ruby. Jukugo ruby is similar to mono ruby, in that there is a strong association + between ruby text and individual base characters, but the ruby text is typically rendered as + grouped together over multiple ideographs when they are on the same line.

    + +

    The distinction is captured in this example:

    + +

    Example of jukugo ruby

    + +

    Which can be marked up as follows:

    -

    In this example, the name of a species of flowers has a phonetic reading provided using group ruby: -

    <ruby>紫陽花<rt>あじさい</ruby>
    -

    紫陽花あじさい +

    <ruby>法<rb>華<rb>経<rt>ほ<rt>け<rt>きょう</ruby>
    -
    +

    In this example, each rt element is paired with its respective rb + element, the difference with an interleaved rb/rt approach being + that the sequences of both base text and ruby annotations are implicitly placed in common + containers so that the grouping information is captured.

    -
    Text with both phonetic and semantic annotations (double-sided ruby) +

    For more details on Jukugo Ruby rendering, see + Appendix F in the Requirements for Japanese Text Layout and Use Case C: Jukugo + ruby in the Use Cases & Exploratory Approaches for Ruby Markup. +

    + + +
    Inline ruby
    -

    Sometimes, ruby styles described above are combined. +

    In some contexts, for instance when the font size or line height are too small for ruby + to be readable, it is desirable to inline the ruby annotation such that it appears in + parentheses after the text it annotates. This also provides a convenient fallback strategy + for user agents that do not support rendering ruby annotations.

    -

    If this results in two annotations covering the same single base segment, then the - annotations can just be placed back to back. +

    Inlining takes grouping into account. For example, Tokyo is written with two kanji + characters, 東, which is pronounced とう, and 京, which is pronounced きょう. Each base + character should be annotated individually, but the fallback should be 東京(とうきょう) not + 東(とう)京(きょう). This can be marked up as follows:

    -
    <ruby>BASE<rt>annotation 1<rt>annotation 2</ruby>
    +
    <ruby>東<rb>京<rt>とう<rt>きょう</ruby>
    +

    Note that the above markup will enable the usage of parentheses when inlining for + browsers that support ruby layout, but for those that don't it will fail to provide + parenthetical fallback. This is where the rp element is useful. It can be inserted + into the above example to provide the appropriate fallback when ruby layout is not + supported:

    +
    -
    <ruby>B<rt>a<rt>a</ruby><ruby>A<rt>a<rt>a</ruby><ruby>S<rt>a<rt>a</ruby><ruby>E<rt>a<rt>a</ruby>
    +
    <ruby>東<rb>京<rp>(<rt>とう<rt>きょう<rp>)</ruby>
    +
    -
    +
    Text with both phonetic and semantic annotations (double-sided ruby) -

    In this contrived example, some symbols are given names in English and French. +

    +

    Sometimes, ruby can be used to annotate a base twice.

    -
    <ruby>
    - ♥ <rt> Heart <rt lang=fr> Cœur </rt>
    - ☘ <rt> Shamrock <rt lang=fr> Trèfle </rt>
    - ✶ <rt> Star <rt lang=fr> Étoile </rt>
    -</ruby>
    +

    In the following example, the Chinese word for San Francisco (旧金山, i.e. “old gold + mountain”) is annotated both using pinyin to give the pronunciation, and with the original + English.

    -
    +

    San Francisco in Chinese, with both pinyin and the original English as annotations.

    -

    In more complication situations such as following examples, a nested ruby - element is used to give the inner annotations, and then that whole ruby is then - given an annotation at the "outer" level. +

    Which is marked up as follows:

    -
    <ruby><ruby>B<rt>a</rt>A<rt>n</rt>S<rt>t</rt>E<rt>n</rt></ruby><rt>annotation</ruby>
    +
    <ruby><rb>旧<rb>金<rb>山<rt>jiù<rt>jīn<rt>shān<rtc>San Francisco</ruby>
    +

    In this example, a single base run of three base characters is annotated with three pinyin + ruby text segments in a first (implicit) container, and an rtc element is + introduced in order to provide a second single ruby text annotation being the + city's English name.

    + +

    We can also revisit our jukugo example above with 上手 ("skill") to show how it can be + annotation in both kana and romaji phonetics while at the same time maintaining the pairing to + bases and annotation grouping information.

    + +

    上手 (skill) annotated in both kana and romaji, shown in both jukugo and mono styles.

    + +

    Which is marked up as follows:

    +
    -

    Here both a phonetic reading and the meaning are given in ruby annotations. The annotation on the nested ruby element gives a mono-ruby phonetic annotation for each base character, while the annotation in the rt element that is a child of the outer ruby element gives the meaning using hiragana. -

    <ruby><ruby>東<rt>とう</rt>南<rt>なん</rt></ruby><rt>たつみ</rt></ruby>の方角
    -

    とうなんたつみの方角 +

    <ruby><rb>上<rb>手<rt>じよう<rt>ず<rtc><rt>jou<rt>zu</ruby>
    -
    -

    This is the same example, but the meaning is given in English instead of Japanese: -

    <ruby><ruby>東<rt>とう</rt>南<rt>なん</rt></ruby><rt lang=en>Southeast</rt></ruby>の方角
    -

    とうなんSoutheastの方角 +

    Text that is a direct child of the rtc element implicitly produces a ruby + text segment as if it were contained in an rt element. In this contrived example, + this is shown with some symbols that are given names in English and French with annotations + intended to appear on either side of the base symbol.

    + +
    <ruby>
    +  ♥<rt>Heart<rtc lang=fr>Cœur</rtc>
    +  ☘<rt>Shamrock<rtc lang=fr>Trèfle</rtc>
    +  ✶<rt>Star<rtc lang=fr>Étoile
    +</ruby>
    +
    + +

    Similarly, text directly inside a ruby element implicitly produces a ruby base + as if it were contained in an rb element, and rt children of + ruby are implicitly contained in an rtc container. In effect, the + effect, the above example is equivalent (in meaning, though not in the DOM it produces) to the + following:

    + +
    <ruby>
    +  <rb>♥</rb><rtc><rt>Heart</rt></rtc><rtc lang=fr><rt>Cœur</rt></rtc>
    +  <rb>☘</rb><rtc><rt>Shamrock</rt></rtc><rtc lang=fr><rt>Trèfle</rt></rtc>
    +  <rb>✶</rb><rtc><rt>Star</rt></rtc><rtc lang=fr><rt>Étoile</rt></rtc>
    +</ruby>