WPF は多くのOpenType フォント機能をサポートしていますが、Ruby はTypography.Variants属性を介して利用できるにもかかわらず、適切にレンダリングされません。
<TextBlock>
<Span>
学校<Run Typography.Variants="Ruby">がっこう</Run>
</Span>
これでは、ルビ文字が正しく表示されません。「Ruby」の使用方法を示す (動作する) 例は見つかりませんでした。
1 つの回避策 (実際にはハック) は、試みたように改行を使用することです。これは、次の<LineBreak/>
タグを使用して行われます。
<TextBlock >
<Span FontFamily="Meiryo">
<Run FontSize="8">えみこ</Run><LineBreak/>恵美子
</Span>
</TextBlock>
この TextBlock を StackPanel に入れて段落に含めることができます。
<TextBlock>
<Span FontFamily="Meiryo" > This is my normal text
<StackPanel >
<TextBlock >
<Span>
<Run FontSize="8">えみこ</Run><LineBreak/>恵美子
</Span>
</TextBlock>
</StackPanel>
and this is the rest of the text
</Span>
</TextBlock>
結果は次のスニペットのようになります。
This is my normal text
<ruby>
<rb>恵美子</rb><rp>(</rp>
<rt>えみこ</rt><rp>)</rp>
</ruby>
and this is the rest of the text
マークアップは見栄えが悪く、スタック パネルの下部を正しく配置するには、オフセットをいじる必要があります。