Aspose::Words::Fonts::DefaultFontSubstitutionRule class

DefaultFontSubstitutionRule class

Default font substitution rule. To learn more, visit the Working with Fonts documentation article.

class DefaultFontSubstitutionRule : public Aspose::Words::Fonts::FontSubstitutionRule


get_DefaultFontName()Gets or sets the default font name.
virtual get_Enabled()Specifies whether the rule is enabled or not.
GetType() const override
Is(const System::TypeInfo&) const override
set_DefaultFontName(const System::String&)Setter for Aspose::Words::Fonts::DefaultFontSubstitutionRule::get_DefaultFontName.
virtual set_Enabled(bool)Setter for Aspose::Words::Fonts::FontSubstitutionRule::get_Enabled.
static Type()


Shows how to set the default font substitution rule.

auto doc = MakeObject<Document>();
auto fontSettings = MakeObject<FontSettings>();

// Get the default substitution rule within FontSettings.
// This rule will substitute all missing fonts with "Times New Roman".
SharedPtr<DefaultFontSubstitutionRule> defaultFontSubstitutionRule = fontSettings->get_SubstitutionSettings()->get_DefaultFontSubstitution();
ASSERT_EQ(u"Times New Roman", defaultFontSubstitutionRule->get_DefaultFontName());

// Set the default font substitute to "Courier New".
defaultFontSubstitutionRule->set_DefaultFontName(u"Courier New");

// Using a document builder, add some text in a font that we do not have to see the substitution take place,
// and then render the result in a PDF.
auto builder = MakeObject<DocumentBuilder>(doc);

builder->get_Font()->set_Name(u"Missing Font");
builder->Writeln(u"Line written in a missing font, which will be substituted with Courier New.");

doc->Save(ArtifactsDir + u"FontSettings.DefaultFontSubstitutionRule.pdf");

See Also