빈 rt 태그를 인용하면 태그가 삭제됩니다

다음과 같은 HTML을 고려해 보세요:
<ruby>振<rt>ふ</rt>り<rt></rt>仮<rt>が</rt>名<rt>な</rt></ruby>

振ふり仮が名な

여기서 빈 <rt></rt> 태그는 매우 중요합니다. 이를 통해 각 문자 위에 furigana(가나 음독 표기)가 올바르게 배치됩니다. り 뒤에 있는 빈 <rt></rt> 태그는 해당 문자 위에 furigana를 배치하지 말라는 의미입니다. 위에서 볼 수 있듯이 이는 예상대로 작동합니다.

하지만 해당 텍스트를 인용(전체 인용이 아닌 경우)하면 결과 HTML은 다음과 같습니다:
<ruby>振<rt>ふ</rt>り仮<rt>が</rt>名<rt>な</rt></ruby>

振ふり仮が名な

빈 <rt></rt> 태그가 제거되었기 때문에, が는 원래 텍스트처럼 仮 위에만 표시되는 것이 아니라 り와 仮 모두 위에 표시됩니다. 이는 시스템이 가이(が)가 마지막 rt 태그 이후의 모든 앞선 문자 위에 배치되도록 의도된 것으로 간주하기 때문입니다.

가능하다면, rt HTML 태그가 비어 있더라도 인용 시에 복사되도록 업데이트해 주실 수 있을까요?

이건 어떻게 생각하세요?

HTML5 사양을 보면 다음 두 가지 형태 중 하나로 사용된 예시를 볼 수 있습니다:

<ruby><rb>振<rb>り<rb>仮<rb>名<rt>ふ<rt><rt>が<rt>な</ruby>

振り仮名ふが나

또는

<ruby>振<rt>ふ</rt></ruby>り<ruby>仮<rt>が</rt>名<rt>な</rt></ruby>

振ふり仮が名な

따라서 사양에 나와 있는 두 가지 작동하는 형태 중 하나를 사용하면 된다고 생각합니다. 첫 번째 형태는 오히려 입력이 더 짧습니다!

첫 번째 항목의 올바른 버전은 다음과 같아 보입니다:
<ruby><rb>振<rb><rt>ふ<rt>り<rb>仮<rb><rt>가<rb>名<rt>나</ruby>

振ふり仮が名な

다음과 비교해 보면:
<ruby>振<rt>ふ</rt>り<rt></rt>仮<rt>が</rt>名<rt>な</rt></ruby>

振ふり仮が名な

즉, 길이는 거의 같습니다. 사실 첫 번째 항목에서 rb 방식을 사용한 것은 실제로 본 적이 없습니다. 사람들이 일반적으로 그 버전을 사용하는지 확신할 수 없습니다. 그래도 인용은 올바르게 처리됩니다. 하지만 여전히 궁금한 점이 있습니다. 인용 시 빈 HTML 태그가 복사되는 다른 경우가 있을까요?

저는 기존 markdown-it 플러그인을 감싸는 Discourse 플러그인을 개발하고 있는데, 이 플러그인은 rb + rt 방식 대신 전통적인 rt 방식을 따릅니다. 불행히도 이로 인해 이 특정 경우의 인용이 잘못된 HTML을 생성하게 됩니다. 물론 사람들이 ruby HTML을 수동으로 작성한 경우에도 발생할 수 있습니다. 플러그인에서 우연히 발견하게 된 것입니다.