Write Modify Character FontOnly Class

The ooodev.format.writer.modify.char.font.FontOnly class is used to modify the font values seen in Fig. 1061 of a character style.

Before Settings

Writer dialog Character font default

Fig. 1061 Writer dialog Character font default

Setting the font name and size

from ooodev.format.writer.modify.char.font import FontOnly, StyleCharKind
from ooodev.office.write import Write
from ooodev.gui import GUI
from ooodev.loader.lo import Lo

def main() -> int:
    with Lo.Loader(Lo.ConnectPipe()):
        doc = Write.create_doc()
        GUI.set_visible(doc=doc)
        Lo.delay(300)
        GUI.zoom(GUI.ZoomEnum.ZOOM_150_PERCENT)

        font_style = FontOnly(name="Consolas", size=14, style_name=StyleCharKind.SOURCE_TEXT)
        font_style.apply(doc)

        style_obj = FontOnly.from_style(doc=doc, style_name=StyleCharKind.SOURCE_TEXT)
        assert style_obj.prop_style_name == str(StyleCharKind.SOURCE_TEXT)

        Lo.delay(1_000)

        Lo.close_doc(doc)

    return 0

if __name__ == "__main__":
    SystemExit(main())

After applying the font name and size

Writer dialog character font style changed

Fig. 1062 Writer dialog character font style changed

Getting the font from a style

We can get the font name and size from the document.

# ... other code

style_obj = FontOnly.from_style(doc=doc, style_name=StyleCharKind.SOURCE_TEXT)
assert style_obj.prop_style_name == str(StyleCharKind.SOURCE_TEXT)