1

以下のように適用SmallCapsしましたが、ブラウザやデザインウィンドウに影響がないようです。

<TextBlock Text="Text Here !" Typography.Capitals="SmallCaps"/>

Typography.Capitalsパラメータが無視されるのはなぜですか?このために有効にする必要がある設定はありますか?

4

2 に答える 2

2

更新
これらのプロパティが機能するには、使用されるフォントがそれらをサポートしている必要があるようです。Silverlightは、フォントで魔法を実行することはできません。フォント自体に組み込まれている機能でのみ機能します。また、Windowsのバージョンによっていくつかの違いがあり、これがさらに混乱を招いているようです。次のフォントを使用して、Windows 7および8でこれを試しました:Gabriola、Georgia、Verdana、Arial、Comic Sans MS、Calibri、Segoe UI、ポータブルユーザーインターフェイス

Win7と8の両方で、これまで機能したプロパティはSmallCapsとAllSmallCapsだけでした。Win7でもWin8でも、他の設定は何も違いはありませんでした。Windows 8では、これら2つのプロパティは上記のすべてのフォントで機能しました。Windows 7では、それら機能したフォントはCalibriとGabriolaだけでした。次に、2台の異なるマシンにインストールされているフォントのバージョンを調べ始めました。それらは異なっていることがわかります。たとえば、私のWin7マシンでは、VerdanaとSegoeUIの両方がバージョン5.05です。Win8マシンでは、Verdanaはバージョン5.31で、SegoeUIはバージョン5.28です。

ですから、これが私たちが異なるマシンで異なる結果を得る理由だと思います。これはSilverlightとは関係ありませんが、クライアントマシンにインストールされているフォントのバージョンとは関係ありません。Win7にインストールされているバージョンのVerdanaは、SmallCapsとAllSmallCapsをサポートしていませんが、Win8に付属しているバージョンはサポートしています。
更新を終了

私は間違いなくSmallCapsとAllSmallCapsとの違いを見ています。残りの値は何もしないようです。それは私が推測する使用されたFontFamilyに依存する可能性があります。とにかく、次のコードは以下のスクリーンショットのようにレンダリングされます。

<ContentControl FontSize="18"
                FontFamily="Segoe UI">
    <StackPanel>
        <TextBlock Text="Writing Some Text Here in the Text Block. AllPetiteCaps"
                    Typography.Capitals="AllPetiteCaps"></TextBlock>
        <TextBlock Text="Writing Some Text Here in the Text Block. AllSmallCaps"
                    Typography.Capitals="AllSmallCaps"></TextBlock>
        <TextBlock Text="Writing Some Text Here in the Text Block. Normal"
                    Typography.Capitals="Normal"></TextBlock>
        <TextBlock Text="Writing Some Text Here in the Text Block. PetiteCaps"
                    Typography.Capitals="PetiteCaps"></TextBlock>
        <TextBlock Text="Writing Some Text Here in the Text Block. SmallCaps"
                    Typography.Capitals="SmallCaps"></TextBlock>
        <TextBlock Text="Writing Some Text Here in the Text Block. Titling"
                    Typography.Capitals="Titling"></TextBlock>
        <TextBlock Text="Writing Some Text Here in the Text Block. Unicase"
                    Typography.Capitals="Unicase"></TextBlock>
    </StackPanel>
</ContentControl>

タイポグラフィの例

于 2012-12-07T15:35:09.143 に答える