How do you bring fonts into godot 3.0?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By stubbsy345
:warning: Old Version Published before Godot 3 was released.

I have tried to find an explanation on how to do this but can’t find one anywhere and have not managed to figure it out myself. Previously, I imported the fonts at a particular size for a TTF font. However, that doesn’t seem to be an option in Godot 3.0.

Thanks in advance for the explanation.

:bust_in_silhouette: Reply From: gtsiam

I don’t know how you would do this with a BitmapFont, but for a dynamic font:

  1. Add a .ttf file to your project, and godot will classify it as DynamicFontData
  2. Create a new DynamicFont (from the inspector), and edit it
  3. Under the “Font” subcategory, assign the ttf file you previously copied
:bust_in_silhouette: Reply From: Zylann
  1. Copy your TTF into your project folder
  2. You will see Godot import it as a DynamicFontData in the file browser
  3. In the inspector click on the “new resource” icon and create a new DynamicFont.
  4. In the Font category, click on Font data and choose your TTF
  5. Save the DynamicFont under the name you want (optional)
  6. You can now use this dynamic font where you want, change its size, spacing etc (without altering the original font).

Note that the default size when you create a DynamicFont is 0, so your text is just a few dots if you don’t set the size!

ravenblack | 2018-02-07 05:27

wow, thanks for that extra comment about the default size - that was driving me bonkers!

jasonlapier | 2019-02-24 21:05

Note that since Godot 3.1, the default font size is now 16 so you no longer have to set it manually.

Calinou | 2021-03-28 20:59

:bust_in_silhouette: Reply From: peterlavey
var dynamic_font = DynamicFont.new()
dynamic_font.font_data = load(font_path)

var label = RichTextLabel.new()
label.bbcode_enabled = true
label.set("custom_fonts/normal_font", font)