user: Give a detailed overview of Font Operators: syntax, arguments, return values, common patterns.

assistant: # Font Operators

bpy.ops.font.case_set(*\**, *case='LOWER'*)
:   Set font case

    Parameters:
    :   **case** (enum in [`'LOWER'`, `'UPPER'`], (optional)) – Case, Lower or upper case

bpy.ops.font.case_toggle()
:   Toggle font case

bpy.ops.font.change_character(*\**, *delta=1*)
:   Change font character code

    Parameters:
    :   **delta** (*int in* *[**-255**,* *255**]**,* *(**optional**)*) – Delta, Number to increase or decrease character code with

bpy.ops.font.change_spacing(*\**, *delta=1.0*)
:   Change font spacing

    Parameters:
    :   **delta** (*float in* *[**-inf**,* *inf**]**,* *(**optional**)*) – Delta, Amount to decrease or increase character spacing with

bpy.ops.font.delete(*\**, *type='PREVIOUS_CHARACTER'*)
:   Delete text by cursor position

    Parameters:
    :   **type** (enum in [`'NEXT_CHARACTER'`, `'PREVIOUS_CHARACTER'`, `'NEXT_WORD'`, `'PREVIOUS_WORD'`, `'SELECTION'`, `'NEXT_OR_SELECTION'`, `'PREVIOUS_OR_SELECTION'`], (optional)) – Type, Which part of the text to delete

bpy.ops.font.line_break()
:   Insert line break at cursor position

bpy.ops.font.move(*\**, *type='LINE_BEGIN'*)
:   Move cursor to position type

    Parameters:
    :   **type** (enum in [`'LINE_BEGIN'`, `'LINE_END'`, `'TEXT_BEGIN'`, `'TEXT_END'`, `'PREVIOUS_CHARACTER'`, `'NEXT_CHARACTER'`, `'PREVIOUS_WORD'`, `'NEXT_WORD'`, `'PREVIOUS_LINE'`, `'NEXT_LINE'`, `'PREVIOUS_PAGE'`, `'NEXT_PAGE'`], (optional)) – Type, Where to move cursor to

bpy.ops.font.move_select(*\**, *type='LINE_BEGIN'*)
:   Move the cursor while selecting

    Parameters:
    :   **type** (enum in [`'LINE_BEGIN'`, `'LINE_END'`, `'TEXT_BEGIN'`, `'TEXT_END'`, `'PREVIOUS_CHARACTER'`, `'NEXT_CHARACTER'`, `'PREVIOUS_WORD'`, `'NEXT_WORD'`, `'PREVIOUS_LINE'`, `'NEXT_LINE'`, `'PREVIOUS_PAGE'`, `'NEXT_PAGE'`], (optional)) – Type, Where to move cursor to, to make a selection

bpy.ops.font.open(*\**, *filepath=''*, *hide_props_region=True*, *check_existing=False*, *filter_blender=False*, *filter_backup=False*, *filter_image=False*, *filter_movie=False*, *filter_python=False*, *filter_font=True*, *filter_sound=False*, *filter_text=False*, *filter_archive=False*, *filter_btx=False*, *filter_alembic=False*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=False*, *filemode=9*, *relative_path=True*, *display_type='THUMBNAIL'*, *sort_method=''*)
:   Load a new font from a file

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Path to file
        - **hide_props_region** (*boolean**,* *(**optional**)*) – Hide Operator Properties, Collapse the region displaying the operator settings
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_blender** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_backup** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_image** (*boolean**,* *(**optional**)*) – Filter image files
        - **filter_movie** (*boolean**,* *(**optional**)*) – Filter movie files
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python files
        - **filter_font** (*boolean**,* *(**optional**)*) – Filter font files
        - **filter_sound** (*boolean**,* *(**optional**)*) – Filter sound files
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text files
        - **filter_archive** (*boolean**,* *(**optional**)*) – Filter archive files
        - **filter_btx** (*boolean**,* *(**optional**)*) – Filter btx files
        - **filter_alembic** (*boolean**,* *(**optional**)*) – Filter Alembic files
        - **filter_usd** (*boolean**,* *(**optional**)*) – Filter USD files
        - **filter_obj** (*boolean**,* *(**optional**)*) – Filter OBJ files
        - **filter_volume** (*boolean**,* *(**optional**)*) – Filter OpenVDB volume files
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_blenlib** (*boolean**,* *(**optional**)*) – Filter Blender IDs
        - **filemode** (*int in* *[**1**,* *9**]**,* *(**optional**)*) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file
        - **relative_path** (*boolean**,* *(**optional**)*) – Relative Path, Select the file relative to the blend file
        - **display_type** (enum in [`'DEFAULT'`, `'LIST_VERTICAL'`, `'LIST_HORIZONTAL'`, `'THUMBNAIL'`], (optional)) –

          Display Type

          - `DEFAULT`
            Default – Automatically determine display type for files.
          - `LIST_VERTICAL`
            Short List – Display files as short list.
          - `LIST_HORIZONTAL`
            Long List – Display files as a detailed list.
          - `THUMBNAIL`
            Thumbnails – Display files as thumbnails.
        - **sort_method** (*enum in* *[**]**,* *(**optional**)*) – File sorting mode

bpy.ops.font.select_all()
:   Select all text

bpy.ops.font.select_word()
:   Select word under cursor

bpy.ops.font.selection_set()
:   Set cursor selection

bpy.ops.font.style_set(*\**, *style='BOLD'*, *clear=False*)
:   Set font style

    Parameters:
    :   - **style** (enum in [`'BOLD'`, `'ITALIC'`, `'UNDERLINE'`, `'SMALL_CAPS'`], (optional)) – Style, Style to set selection to
        - **clear** (*boolean**,* *(**optional**)*) – Clear, Clear style rather than setting it

bpy.ops.font.style_toggle(*\**, *style='BOLD'*)
:   Toggle font style

    Parameters:
    :   **style** (enum in [`'BOLD'`, `'ITALIC'`, `'UNDERLINE'`, `'SMALL_CAPS'`], (optional)) – Style, Style to set selection to

bpy.ops.font.text_copy()
:   Copy selected text to clipboard

bpy.ops.font.text_cut()
:   Cut selected text to clipboard

bpy.ops.font.text_insert(*\**, *text=''*, *accent=False*)
:   Insert text at cursor position

    Parameters:
    :   - **text** (*string**,* *(**optional**,* *never None**)*) – Text, Text to insert at the cursor position
        - **accent** (*boolean**,* *(**optional**)*) – Accent Mode, Next typed character will strike through previous, for special character input

bpy.ops.font.text_insert_unicode()
:   Insert Unicode Character

bpy.ops.font.text_paste(*\**, *selection=False*)
:   Paste text from clipboard

    Parameters:
    :   **selection** (*boolean**,* *(**optional**)*) – Selection, Paste text selected elsewhere rather than copied (X11/Wayland only)

bpy.ops.font.text_paste_from_file(*\**, *filepath=''*, *hide_props_region=True*, *check_existing=False*, *filter_blender=False*, *filter_backup=False*, *filter_image=False*, *filter_movie=False*, *filter_python=False*, *filter_font=False*, *filter_sound=False*, *filter_text=True*, *filter_archive=False*, *filter_btx=False*, *filter_alembic=False*, *filter_usd=False*, *filter_obj=False*, *filter_volume=False*, *filter_folder=True*, *filter_blenlib=False*, *filemode=9*, *display_type='DEFAULT'*, *sort_method=''*)
:   Paste contents from file

    Parameters:
    :   - **filepath** (*string**,* *(**optional**,* *never None**)*) – File Path, Path to file
        - **hide_props_region** (*boolean**,* *(**optional**)*) – Hide Operator Properties, Collapse the region displaying the operator settings
        - **check_existing** (*boolean**,* *(**optional**)*) – Check Existing, Check and warn on overwriting existing files
        - **filter_blender** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_backup** (*boolean**,* *(**optional**)*) – Filter .blend files
        - **filter_image** (*boolean**,* *(**optional**)*) – Filter image files
        - **filter_movie** (*boolean**,* *(**optional**)*) – Filter movie files
        - **filter_python** (*boolean**,* *(**optional**)*) – Filter Python files
        - **filter_font** (*boolean**,* *(**optional**)*) – Filter font files
        - **filter_sound** (*boolean**,* *(**optional**)*) – Filter sound files
        - **filter_text** (*boolean**,* *(**optional**)*) – Filter text files
        - **filter_archive** (*boolean**,* *(**optional**)*) – Filter archive files
        - **filter_btx** (*boolean**,* *(**optional**)*) – Filter btx files
        - **filter_alembic** (*boolean**,* *(**optional**)*) – Filter Alembic files
        - **filter_usd** (*boolean**,* *(**optional**)*) – Filter USD files
        - **filter_obj** (*boolean**,* *(**optional**)*) – Filter OBJ files
        - **filter_volume** (*boolean**,* *(**optional**)*) – Filter OpenVDB volume files
        - **filter_folder** (*boolean**,* *(**optional**)*) – Filter folders
        - **filter_blenlib** (*boolean**,* *(**optional**)*) – Filter Blender IDs
        - **filemode** (*int in* *[**1**,* *9**]**,* *(**optional**)*) – File Browser Mode, The setting for the file browser mode to load a .blend file, a library or a special file
        - **display_type** (enum in [`'DEFAULT'`, `'LIST_VERTICAL'`, `'LIST_HORIZONTAL'`, `'THUMBNAIL'`], (optional)) –

          Display Type

          - `DEFAULT`
            Default – Automatically determine display type for files.
          - `LIST_VERTICAL`
            Short List – Display files as short list.
          - `LIST_HORIZONTAL`
            Long List – Display files as a detailed list.
          - `THUMBNAIL`
            Thumbnails – Display files as thumbnails.
        - **sort_method** (*enum in* *[**]**,* *(**optional**)*) – File sorting mode

bpy.ops.font.textbox_add()
:   Add a new text box

bpy.ops.font.textbox_remove(*\**, *index=0*)
:   Remove the text box

    Parameters:
    :   **index** (*int in* *[**0**,* *inf**]**,* *(**optional**)*) – Index, The current text box

bpy.ops.font.unlink()
:   Unlink active font data-block