1

I have chosen a font to display in the viewport, and when I type the numbers, the number 9 and 6 have incorrect mesh. Is this Blender causing this fault or is it the font itself?

The font is: Bahnschrift

enter image description here

blender breath
  • 3,737
  • 1
  • 10
  • 40

1 Answers1

2

Variable fonts, even when they come with static TTF files, seem especially prone to this issue because they're intentionally designed with multiple overlapping elements and self intersections.

If you can't find an alternative format, you can fix this yourself with Font Forge.

Steps:

  1. Download Font Forge (free and open source)
  2. Open the font file you want to use in Blender
  3. Select all with Edit > Select > Select All
  4. Remove overlap with Element > Overlap > Remove Overlap
  5. Generate font from File > Generate Fonts…

Screenshot of a TTF font opened Font Forge with the Edit, Select, Select All dropdown menu path highlighted

Second screenshot of Font Forge with the Element, Overlap, Remove Overlap dropdown menu path highlighted

Third screenshot of Font Forge with the File, Generate Fonts… dropdown menu path highlighted

I used the default TTF options when generating fonts. It takes all of 10 seconds to open a font file, process, and generate the patched file. Even easier if you macro the keyboard shortcuts (in MacOS that's Command + A, Command + ⇧ Shift + O, Command + ⇧ Shift + G).

You can also open each glyph individually if you want to confirm or make manual fixes to an especially problematic character, but in my limited experience, it's not necessary. The bulk process above worked well for me on files from Google Fonts.

Example of an uppercase letter K glyph that will not render correctly in Blender due to overlapping shapes and a self intersection

Example of an uppercase letter K glyph that will now render correctly in Blender after processing in Font Forge

Many thanks to user chojnicki and their similar question/answer for pointing me in the right direction.

Duarte Farrajota Ramos
  • 59,425
  • 39
  • 130
  • 187
Iaian7
  • 98
  • 7