Translation: always enable Use International Fonts, default to English.
Needs ReviewPublic

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

Details

Summary

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

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

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?

source/blender/blenloader/intern/versioning_userdef.c
321–322

Again a magic value!

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

source/blender/blentranslation/intern/blt_lang.c
252

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

source/blender/blentranslation/intern/blt_translation.c
95

Arg! Magic value, very evil! ;)

source/blender/makesdna/DNA_userdef_types.h
827

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…