Source code for tablate.library.formatters.html.style.elements.style_text
from tablate.classes.options.html.style.subclasses.TextStyler import TextStyler
from tablate.library.checkers.set_attr_resolver import set_attr_resolver
from tablate.type.defaults import html_text_size_default
from tablate.type.primitives import HtmlPxMultiplier
from tablate.type.type_style import HtmlTextStyles
[docs]
def style_text(text_store: HtmlTextStyles, text_styler: TextStyler, html_px_multiplier: HtmlPxMultiplier) -> None:
text_align = text_store.html_text_align
text_size = set_attr_resolver(instance=text_store, attr="html_text_size", default=html_text_size_default)
text_style = text_store.html_text_style
text_color = text_store.html_text_color
text_styler.add_style_attribute("font-size", f"{text_size * html_px_multiplier}px")
if text_align is not None:
text_styler.add_style_attribute("text-align", text_align)
if text_style is not None:
if text_style == "bold" or text_style == "bold_underlined":
text_styler.add_style_attribute("font-weight", "bold")
if text_style == "underlined" or text_style == "bold_underlined":
text_styler.add_style_attribute("text-decoration", "underline")
if text_color is not None:
text_styler.add_style_attribute("color", text_color)