3

特定のテキストの上にテキストを表示したいのですが、まさにこのように見えます。
漢字の上のふりがな
ご覧のとおり、学校(漢字と呼ばれる) の下に (がっこうフリガナと呼ばれる) が表示されます。
ふりがなを上に付ける必要がある文字を正確に知っています。

問題は、どうすればよいですか?\n2で使えると思っLabelたのですが、他にこんな表示方法はありませんか?

私が言及する編集テキストは、私が使用するツイートフィードとアナライザーであり、それを解析して形態素ノードにします。これが、特定のテキストの上にテキストを表示する方法を尋ねる理由です。

4

1 に答える 1

3

WPF は多くのOpenType フォント機能をサポートしていますが、Ruby はTypography.Variants属性を介して利用できるにかかわらず、適切にレンダリングされません。

<TextBlock>
<Span>
    学校<Run Typography.Variants="Ruby">がっこう</Run>
</Span>

これでは、ルビ文字が正しく表示されません。「Ruby」の使用方法を示す (動作する) 例は見つかりませんでした。

1 つの回避策 (実際にはハック) は、試みたように改行を使用することです。これは、次の<LineBreak/>タグを使用して行われます。

    <TextBlock >
        <Span FontFamily="Meiryo">  
            <Run FontSize="8">えみこ&lt;/Run><LineBreak/>恵美子
        </Span>
    </TextBlock>

この TextBlock を StackPanel に入れて段落に含めることができます。

    <TextBlock>
        <Span FontFamily="Meiryo" >  This is my normal text
            <StackPanel >
                <TextBlock >
                    <Span>
                        <Run FontSize="8">えみこ&lt;/Run><LineBreak/>恵美子
                    </Span>
                </TextBlock>
            </StackPanel>
            and this is the rest of the text
        </Span>
    </TextBlock>

結果は次のスニペットのようになります。

 This is my normal text
<ruby>
<rb>恵美子&lt;/rb><rp>(</rp>
<rt>えみこ&lt;/rt><rp>)</rp>
</ruby>
and this is the rest of the text

マークアップは見栄えが悪く、スタック パネルの下部を正しく配置するには、オフセットをいじる必要があります。

于 2015-10-08T12:30:08.160 に答える