As I am currently in the process of writing an implementation for ruby, I was wondering about the constraints put on the content of the <rp> element in the spec:<br>
<dl style="color: rgb(0, 102, 0);"><dd>If the <code><a href="http://dev.w3.org/html5/spec/Overview.html#the-rp-element" target="_blank">rp</a></code> element is immediately after an <code><a href="http://dev.w3.org/html5/spec/Overview.html#the-rt-element" target="_blank">rt</a></code> element that is immediately preceded by another <code><a href="http://dev.w3.org/html5/spec/Overview.html#the-rp-element" target="_blank">rp</a></code> element: a single character from Unicode character class Pe.</dd>


<dd>Otherwise: a single character from Unicode character class Ps.</dd></dl>Is there a specific reason that <rp> is constrained in this way? I imagine that someone could want to add additional spaces before/after the parenthesis, non-parenthesis separators, or, e.g., in a text book write:<br>

<br>
<div style="margin-left: 40px;"><b><ruby></b><span lang="ja">漢字<b><rp> </b>(reading:<b></rp><rt></b>Kanji<b></rt></b></span><b><rp></b>) <b></rp><ruby><br><br></b></div>Also note that there isn't such a constraint if one would use CSS rules to achieve a similar result (in the absence of proper ruby rendering):<br>

<br><div style="margin-left: 40px;">rt:before { content: " (reading: "; }<br>rt:after { content: ") "; }<br><br><br></div>Cheers,<br><br>- Roland<br>