Класс Typography в WinRT

84

Класс Typography в пространстве имен Windows.UI.Xaml.Documents не содержит ничего, кроме набора вложенных свойств для расширенной работы с текстом. Эти свойства можно вставить в корневой элемент страницы, элемент TextBlock или Run для управления различными аспектами отображения текста. К сожалению, нет гарантий, что эти возможности будут работать для всех шрифтов. Более того — возможно, вы далеко не сразу найдете шрифт, который реагирует на некоторые из этих вложенных свойств!

В следующих примерах я активно использовал документацию WPF-версии класса Typography, в которой приведена информация о совместимости некоторых вложенных свойств и конкретных шрифтов. В некоторых примерах задействованы шрифты Lindsey, Miramonte, Pescadero и Pericles:

<Page ...>

    <Page.Resources>
        <Style TargetType="TextBlock">
            <Setter Property="Margin" Value="6 6 6 0" />
            <Setter Property="FontSize" Value="48" />
        </Style>
    </Page.Resources>

    <Grid Background="#FF1D1D1D">
        <StackPanel>
            <TextBlock Text="Шрифт Small Caps отлично подходит для заголовков"
                       Typography.Capitals="SmallCaps" />

            <TextBlock Text="Linds Font"
                       FontFamily="ms-appx:///Fonts/Linds.ttf#Lindsey"
                       Typography.ContextualAlternates="True" />

            <TextBlock Text="Дробные числа в шрифте Palatino Linotype: 1/2 1/4 1/8 1/3 2/3" 
                       FontFamily="Palatino Linotype"
                       Typography.Fraction="Stacked" />

            <TextBlock Text="Текст шрифтом Palatino Linotype"
                       FontFamily="Palatino Linotype"
                       Typography.HistoricalForms="True" />

            <TextBlock Text="Порядок выравнивания для таблиц: 0123456789"
                       FontFamily="ms-appx:///Fonts/Miramo.ttf#Miramonte"
                       Typography.NumeralAlignment="Tabular" />

            <TextBlock Text="Числа в старом стиле: 0123456789"
                       FontFamily="Palatino Linotype"
                       Typography.NumeralStyle="OldStyle" />

            <TextBlock Text="Pescadero Font"
                       FontFamily="ms-appx:///Fonts/Pesca.ttf#Pescadero"
                       Typography.StandardSwashes="1" />

            <TextBlock Text="Перечеркнутый ноль: 0"
                       FontFamily="ms-appx:///Fonts/Miramo.ttf#Miramonte"
                       Typography.SlashedZero="True" />

            <TextBlock Text="PERICLES FONT - STYLISTIC ALTERNATES"
                       FontFamily="ms-appx:///Fonts/Peric.ttf#Pericles"
                       Typography.StylisticAlternates="1" />

            <TextBlock FontFamily="Palatino Linotype">
                Формула сахарозы C<Run Typography.Variants="Inferior">12</Run>
                        H<Run Typography.Variants="Inferior">22</Run>
                        O<Run Typography.Variants="Inferior">11</Run>
            </TextBlock>
        </StackPanel>
    </Grid>
</Page>

Результат выглядит так:

Пример использования класса Typography
Пройди тесты
Лучший чат для C# программистов