ThemeFont enumeration

ThemeFont enumeration

Specifies the types of theme font names for document themes.

Specifies a theme font type which can be referenced as a theme font within the parent object properties. This theme font is a reference to one of the predefined theme fonts, located in the document’s Theme part, which allows for font information to be set centrally in the document.

Members

NameDescription
NONENo theme font.
MAJORMajor theme font.
MINORMinor theme font.

Examples

Shows how to work with theme fonts and colors.

doc = aw.Document()

# Define fonts for languages uses by default.
doc.theme.minor_fonts.latin = "Algerian"
doc.theme.minor_fonts.east_asian = "Aharoni"
doc.theme.minor_fonts.complex_script = "Andalus"

font = doc.styles.get_by_name("Normal").font
print(f"Originally the Normal style theme color is: {font.theme_color} and RGB color is: {font.color}\n")

# We can use theme font and color instead of default values.
font.theme_font = aw.themes.ThemeFont.MINOR
font.theme_color = aw.themes.ThemeColor.ACCENT2

self.assertEqual(aw.themes.ThemeFont.MINOR, font.theme_font)
self.assertEqual("Algerian", font.name)

self.assertEqual(aw.themes.ThemeFont.MINOR, font.theme_font_ascii)
self.assertEqual("Algerian", font.name_ascii)

self.assertEqual(aw.themes.ThemeFont.MINOR, font.theme_font_bi)
self.assertEqual("Andalus", font.name_bi)

self.assertEqual(aw.themes.ThemeFont.MINOR, font.theme_font_far_east)
self.assertEqual("Aharoni", font.name_far_east)

self.assertEqual(aw.themes.ThemeFont.MINOR, font.theme_font_other)
self.assertEqual("Algerian", font.name_other)

self.assertEqual(aw.themes.ThemeColor.ACCENT2, font.theme_color)
self.assertEqual(drawing.Color.empty(), font.color)

# There are several ways of reset them font and color.
# 1 -  By setting ThemeFont.NONE/ThemeColor.NONE:
font.theme_font = aw.themes.ThemeFont.NONE
font.theme_color = aw.themes.ThemeColor.NONE

self.assertEqual(aw.themes.ThemeFont.NONE, font.theme_font)
self.assertEqual("Algerian", font.name)

self.assertEqual(aw.themes.ThemeFont.NONE, font.theme_font_ascii)
self.assertEqual("Algerian", font.name_ascii)

self.assertEqual(aw.themes.ThemeFont.NONE, font.theme_font_bi)
self.assertEqual("Andalus", font.name_bi)

self.assertEqual(aw.themes.ThemeFont.NONE, font.theme_font_far_east)
self.assertEqual("Aharoni", font.name_far_east)

self.assertEqual(aw.themes.ThemeFont.NONE, font.theme_font_other)
self.assertEqual("Algerian", font.name_other)

self.assertEqual(aw.themes.ThemeColor.NONE, font.theme_color)
self.assertEqual(drawing.Color.empty(), font.color)

# 2 -  By setting non-theme font/color names:
font.name = "Arial"
font.color = drawing.Color.blue

self.assertEqual(aw.themes.ThemeFont.NONE, font.theme_font)
self.assertEqual("Arial", font.name)

self.assertEqual(aw.themes.ThemeFont.NONE, font.theme_font_ascii)
self.assertEqual("Arial", font.name_ascii)

self.assertEqual(aw.themes.ThemeFont.NONE, font.theme_font_bi)
self.assertEqual("Arial", font.name_bi)

self.assertEqual(aw.themes.ThemeFont.NONE, font.theme_font_far_east)
self.assertEqual("Arial", font.name_far_east)

self.assertEqual(aw.themes.ThemeFont.NONE, font.theme_font_other)
self.assertEqual("Arial", font.name_other)

self.assertEqual(aw.themes.ThemeColor.NONE, font.theme_color)
self.assertEqual(drawing.Color.blue.to_argb(), font.color.to_argb())

Shows how to create and use themed style.

doc = aw.Document()
builder = aw.DocumentBuilder(doc)

builder.writeln()

# Create some style with theme font properties.
style = doc.styles.add(aw.StyleType.PARAGRAPH, "ThemedStyle")
style.font.theme_font = aw.themes.ThemeFont.MAJOR
style.font.theme_color = aw.themes.ThemeColor.ACCENT5
style.font.tint_and_shade = 0.3

builder.paragraph_format.style_name = "ThemedStyle"
builder.writeln("Text with themed style")

See Also