Page MenuHome

Translation: always enable Use International Fonts, default to English.
Changes PlannedPublic

Authored by Brecht Van Lommel (brecht) on Sep 18 2018, 4:39 PM.



This is not a finished patch, more of a request for feedback. The reason
behind this is that for the splash screen we want to be able to select the
language the first time a user starts Blender.

At the moment you would have to enable international fonts which is an
extra step. It's also not great that we can't properly display special
characters by default, also for users who want the interface in English.

The main downside I can think of is performance, as it adds about 5% to
the startup time. However if I gunzip the font file and load it directly,
I see no performance impact. Freetype doesn't need to load the entire file,
just the characters we need.

So is there any reason not to do this?

Diff Detail

rB Blender
use_international (branched from blender2.8)
Build Status
Buildable 2078
Build 2078: arc lint + arc unit

Event Timeline

All in all, am rather positive about that change.

Afair, the decision to keep full unicode font optional was indeed a performance reason… Wouldn’t mind enabling it if we can fix that.

Another related point is that it would be nice to have a way to use system fonts, instead of embedding our own. Just like we can skip own python 'installation'… Especially for linux (distro packages), probably as a build option or so?


Again a magic value!

Also, why enable translations of tooltips/UI/dataname then? I’d rather clear those flags…


This should be moved to header file, to be usable by other code


Arg! Magic value, very evil! ;)


Why completely removing name here, why not instead something like USER_TR_DOTRANSLATE_DEPRECATED or so?

That way we would not have that weird, meaningless usage of USER_TR_DEPRECATED_5 in versioning code…

Brecht Van Lommel (brecht) planned changes to this revision.Jul 26 2019, 3:20 PM

Nice improvement, see nothing against this change.


Reasonable point, however once cleared, this will be reused, so we loose this identifier sooner or later.

This would be awesome. So I'll add some (probably nonsensical) comments:

I'm hoping that when we do this we will still literally ship with four font files as we do now. So make the international versions default, as in this patch, but still have the smaller versions as fallbacks. That way a user can replace the international font with something else, but if that new font does not include some glyphs we need we can then pull them from the fallbacks. There are some nice international fonts at that do not include any latin characters at all so the entire interface would break unless we have a fallback. We could probably pare down the existing bfont and bmonofont to half their current sizes by just leaving in lower latin plus some symbols we need.

Regarding the transopts flags (USER_TR_TOOLTIPS,. USER_TR_IFACE, USER_TR_NEWDATANAME), ideally we could disable those checkboxes if the selected language is English.