FlowDocument.Typography Property

Definition

Gets the currently effective typography variations for the text contents of the FlowDocument.

C#
public System.Windows.Documents.Typography Typography { get; }

Property Value

A Typography object that specifies the currently effective typography variations. For a list of default typography values, see Typography.

Examples

The following example shows how to set various typography variations with the Typography attribute of a FlowDocument element.

XAML
<FlowDocumentReader>
  <FlowDocument
    Typography.Capitals="SmallCaps"
    Typography.CapitalSpacing="True"
    Typography.CaseSensitiveForms="True"
    Typography.ContextualAlternates="False"
    Typography.ContextualLigatures="False"
    Typography.DiscretionaryLigatures="True"
    Typography.EastAsianExpertForms="True"
    Typography.EastAsianLanguage="Traditional"
    Typography.EastAsianWidths="Proportional"
    Typography.Fraction="Stacked"
    Typography.HistoricalForms="True"
    Typography.HistoricalLigatures="True"
    Typography.Kerning="False"
    Typography.MathematicalGreek="True"
    Typography.NumeralAlignment="Proportional"
    Typography.NumeralStyle="OldStyle"
    Typography.SlashedZero="True"
    Typography.StandardLigatures="False"
    Typography.Variants="Ruby"
  >
    <Paragraph Background="GhostWhite">
      This FlowDocument has numerous typography variations applied.
    </Paragraph>
  </FlowDocument>
</FlowDocumentReader>

The following example shows how to set various aspects of the Typography property programmatically.

C#
FlowDocument flowDoc = new FlowDocument(new Paragraph(new Run("A bit of text content...")));

// Change various default typography variations.
flowDoc.Typography.Capitals               = FontCapitals.SmallCaps;
flowDoc.Typography.CapitalSpacing         = true;
flowDoc.Typography.CaseSensitiveForms     = true;
flowDoc.Typography.ContextualAlternates   = false;
flowDoc.Typography.ContextualLigatures    = false;
flowDoc.Typography.DiscretionaryLigatures = true;
flowDoc.Typography.EastAsianExpertForms   = true;
flowDoc.Typography.EastAsianLanguage      = FontEastAsianLanguage.Traditional;
flowDoc.Typography.EastAsianWidths        = FontEastAsianWidths.Proportional;
flowDoc.Typography.Fraction               = FontFraction.Stacked;
flowDoc.Typography.HistoricalForms        = true;
flowDoc.Typography.HistoricalLigatures    = true;
flowDoc.Typography.Kerning                = false;
flowDoc.Typography.MathematicalGreek      = true;
flowDoc.Typography.NumeralAlignment       = FontNumeralAlignment.Proportional;
flowDoc.Typography.NumeralStyle           = FontNumeralStyle.OldStyle;
flowDoc.Typography.SlashedZero            = true;
flowDoc.Typography.StandardLigatures      = false;
flowDoc.Typography.Variants               = FontVariants.Ruby;

Remarks

The Typography property is applicable only to OpenType fonts. A typography variant has no effect on fonts that do not support the variant. For more information on this topic, see Typography in WPF.

Applies to

Product Versions
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10