font_settings property
Document.font_settings property
Gets or sets document font settings.
@property
def font_settings(self) -> aspose.words.fonts.FontSettings:
...
@font_settings.setter
def font_settings(self, value: aspose.words.fonts.FontSettings):
...
Remarks
This property allows to specify font settings per document. If set to None
, default static font settings
FontSettings.default_instance will be used.
The default value is None
.
Examples
Shows how set font substitution rules.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.font.name = "Arial"
builder.writeln("Hello world!")
builder.font.name = "Amethysta"
builder.writeln("The quick brown fox jumps over the lazy dog.")
font_sources = aw.fonts.FontSettings.default_instance.get_fonts_sources()
# The default font sources contain the first font that the document uses.
self.assertEqual(1, len(font_sources))
self.assertTrue(any(f for f in font_sources[0].get_available_fonts() if f.full_font_name == "Arial"))
# The second font, "Amethysta", is unavailable.
self.assertFalse(any(f for f in font_sources[0].get_available_fonts() if f.full_font_name == "Amethysta"))
# We can configure a font substitution table which determines
# which fonts Aspose.Words will use as substitutes for unavailable fonts.
# Set two substitution fonts for "Amethysta": "Arvo", and "Courier New".
# If the first substitute is unavailable, Aspose.Words attempts to use the second substitute, and so on.
doc.font_settings = aw.fonts.FontSettings()
doc.font_settings.substitution_settings.table_substitution.set_substitutes(
"Amethysta", ["Arvo", "Courier New"])
# "Amethysta" is unavailable, and the substitution rule states that the first font to use as a substitute is "Arvo".
self.assertFalse(any(f for f in font_sources[0].get_available_fonts() if f.full_font_name == "Arvo"))
# "Arvo" is also unavailable, but "Courier New" is.
self.assertTrue(any(f for f in font_sources[0].get_available_fonts() if f.full_font_name == "Courier New"))
# The output document will display the text that uses the "Amethysta" font formatted with "Courier New".
doc.save(ARTIFACTS_DIR + "FontSettings.table_substitution.pdf")
See Also
- module aspose.words
- class Document