Aspose::Words::Fonts::FontConfigSubstitutionRule class
Contents
[
Hide
]FontConfigSubstitutionRule class
Font config substitution rule. To learn more, visit the Working with Fonts documentation article.
class FontConfigSubstitutionRule : public Aspose::Words::Fonts::FontSubstitutionRule
Methods
Method | Description |
---|---|
virtual get_Enabled() | Specifies whether the rule is enabled or not. |
GetType() const override | |
Is(const System::TypeInfo&) const override | |
IsFontConfigAvailable() | Check if fontconfig utility is available or not. |
ResetCache() | Resets the cache of fontconfig calling results. |
set_Enabled(bool) override | Specifies whether the rule is enabled or not. |
static Type() |
Remarks
This rule uses fontconfig utility on Linux (and other Unix-like) platforms to get the substitution if the original font is not available.
If fontconfig utility is not available then this rule will be ignored.
Examples
Shows operating system-dependent font config substitution.
auto fontSettings = MakeObject<FontSettings>();
SharedPtr<FontConfigSubstitutionRule> fontConfigSubstitution = fontSettings->get_SubstitutionSettings()->get_FontConfigSubstitution();
System::PlatformID pid = System::Environment::get_OSVersion().get_Platform();
bool isWindows = (pid == System::PlatformID::Win32NT) || (pid == System::PlatformID::Win32S) || (pid == System::PlatformID::Win32Windows) ||
(pid == System::PlatformID::WinCE);
// The FontConfigSubstitutionRule object works differently on Windows/non-Windows platforms.
// On Windows, it is unavailable.
if (isWindows)
{
ASSERT_FALSE(fontConfigSubstitution->get_Enabled());
ASSERT_FALSE(fontConfigSubstitution->IsFontConfigAvailable());
}
bool isLinuxOrMac = (pid == System::PlatformID::Unix) || (pid == System::PlatformID::MacOSX);
// On Linux/Mac, we will have access to it, and will be able to perform operations.
if (isLinuxOrMac)
{
ASSERT_TRUE(fontConfigSubstitution->get_Enabled());
ASSERT_TRUE(fontConfigSubstitution->IsFontConfigAvailable());
fontConfigSubstitution->ResetCache();
}
See Also
- Class FontSubstitutionRule
- Namespace Aspose::Words::Fonts
- Library Aspose.Words for C++