Aspose::Words::FontSubstitutionReason перечисление

FontSubstitutionReason enum

Указывает причину замены шрифта.

enum class FontSubstitutionReason

Значения

ИмяЗначениеОписание
AlternativeName0Font замена альтернативным именем из документа.
FontNameSubstitutionRule1Font замена по правилу имени шрифта.
FontConfigSubstitutionRule2Font замена по правилу конфигурации шрифта.
TableSubstitutionRule3Font замена по правилу таблицы.
FontInfoSubstitutionRule4Font замена по правилу информации о шрифте.
DefaultFontSubstitutionRule5Font замена по правилу шрифта по умолчанию.
FirstAvailableFont6Font замена первым доступным шрифтом.

Примеры

Показывает, как получить дополнительную информацию о замене шрифта.

auto doc = System::MakeObject<Aspose::Words::Document>(get_MyDir() + u"Rendering.docx");

auto callback = System::MakeObject<Aspose::Words::WarningInfoCollection>();
doc->set_WarningCallback(callback);

auto fontSettings = System::MakeObject<Aspose::Words::Fonts::FontSettings>();
fontSettings->get_SubstitutionSettings()->get_DefaultFontSubstitution()->set_DefaultFontName(u"Arial");
fontSettings->SetFontsFolder(get_FontsDir(), false);
fontSettings->get_SubstitutionSettings()->get_TableSubstitution()->AddSubstitutes(u"Arial", System::MakeArray<System::String>({u"Arvo", u"Slab"}));

doc->set_FontSettings(fontSettings);
doc->Save(get_ArtifactsDir() + u"FontSettings.SubstitutionWarnings.pdf");

auto warningInfo = System::ExplicitCast<Aspose::Words::FontSubstitutionWarningInfo>(callback->idx_get(0));
ASSERT_EQ(Aspose::Words::WarningSource::Layout, warningInfo->get_Source());
ASSERT_EQ(Aspose::Words::WarningType::FontSubstitution, warningInfo->get_WarningType());
ASSERT_EQ(Aspose::Words::FontSubstitutionReason::TableSubstitutionRule, warningInfo->get_Reason());
ASSERT_EQ(u"Font \'Arial\' has not been found. Using \'Arvo\' font instead. Reason: table substitution.", warningInfo->get_Description());
ASSERT_TRUE(warningInfo->get_RequestedBold());
ASSERT_FALSE(warningInfo->get_RequestedItalic());
ASSERT_EQ(u"Arial", warningInfo->get_RequestedFamilyName());

См. также