user: How do I use Font in Blender? Include parameters, examples, warnings and best practices.

assistant: Blender comes with a *built-in* font by default that is displayed in
each of the four font style data-block menus.
The *built-in* font is always present and shows in this list as “Bfont”.
The data-block menu contains a list displaying the currently loaded fonts.
Select one for each font style.

To load a different *Font*, click one of the *Load* buttons
in the *Font* panel and navigate to a font file.
The [File Browser](../../editors/file_browser.xhtml) will give all valid fonts a capital “F” icon.

If you select a font that is unsupported by Blender, you will get the error `Not a valid font`.

Remember that the same font will be applied to all chars with same style in a text,
but that a separate font is required for each style.
For example, you will need to load an *Italics* font in order to make characters or words italic.
Once the font is loaded you can apply that font “Style” to the selected characters or the whole object.
In all, you would need to load a minimum of four different types of fonts to represent each style
(Normal, Italics, Bold, Bold & Italics).

It is important to understand, that Blender does not care what font
you load for “normal”, “bold”, etc., styles.
This is how you can have up to four different fonts in use in the same text,
but you have to choose between different styles of a same font, or different fonts.
Blender has a number of typographic controls for changing the style and layout of text,
found in the *Font* panel.

Bold
:   With no text selected, toggles new text to be **bold**.
    With text selected, toggles the selected text to be **bold**.

    Bold can also be toggled in the 3D Viewport using [Toggle Bold](editing.xhtml#bpy-ops-font-style-toggle).

Italic
:   With no text selected, toggles new text to be *italic*.
    With text selected, toggles the selected text to be *italic*.

    Italic can also be toggled in the 3D Viewport using [Toggle Italic](editing.xhtml#bpy-ops-font-style-toggle).

Underline
:   With no text selected, toggles new text to be underline.
    With text selected, toggles the selected text to be underline.

    Underline can also be toggled in the 3D Viewport using [Toggle Underline](editing.xhtml#bpy-ops-font-style-toggle).

    See also [underline settings](#modeling-text-character-underline) below.

Small Caps
:   With no text selected, toggles new text to be small capitals.
    With text selected, toggles the selected text to be small capitals.

    Small Caps can also be toggled in the 3D Viewport using [Toggle Small Caps](editing.xhtml#bpy-ops-font-style-toggle).

    Text can also be set to small caps by selecting it then using [Toggle Small Caps](editing.xhtml#bpy-ops-font-style-toggle).

    The size of the *Small Caps* can be changed with [Small Caps Scale](#modeling-text-character-underline).

### Transform

Size
:   Controls the size of the whole text (no way to control each char size independently).
    Note however, that chars with different fonts (different styles, see below) might have different visible sizes.

Shear
:   Controls the inclination of the whole text.
    As similar as it may seem, this is not the same thing as italics style.

    [image reference removed]

    Shear example.

Object Font
:   Allows individual objects to be used to render fonts, you can create/model your own complex font inside Blender!
    This field is used to select the objects prefix name (object “family”) to be used
    to locate the individual characters used for typing.
    This is quite a complex process, so here are detailed steps to follow:

    1. Create the font characters, each character can be any object type (mesh, curve, etc.).
       They must all have a name following the naming schema:
       “common prefix” followed by the “character name” (e.g. “ft.a”, “ft.b”, etc.).
    2. For the text object, enable
       [Instancing Vertices](../../scene_layout/object/properties/instancing/verts.xhtml).
    3. In the *Font* tab, fill the *Object Font* field with the “common prefix” of your “font” objects.
       Now, each time a character in your text matches the *suffix part* of a “font” object’s name,
       this object is duplicated on this character.

Text on Curve
:   Select a curve object for the text object to follow.

    [image reference removed]

    Text on curve.

Underline Position
:   This allows you to shift vertically the position of the underline.

Underline Thickness
:   This controls the thickness of the underline.

Small Caps Scale
:   The size reduction applied to uppercase letters when using small caps.