Page MenuHome

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

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

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?

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…

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

Nice improvement, see nothing against this change.

source/blender/makesdna/DNA_userdef_types.h
827

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 https://www.google.com/get/noto/ 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.

Abandoning this one. International fonts are now always used, but the translation changes need a better implementation.

There is also D7210.

Leroy (Leroy) added a subscriber: Leroy (Leroy).EditedApr 11 2020, 5:00 AM

@Harley Acheson (harley) @Brecht Van Lommel (brecht) Now, enabled IME by default ( blender2.83 build ), is it normal? I do not know whether this is beneficial, Perhaps this is a good development, in earlier versions, conflict between IME and shortcuts by sometimes.

@Leroy (Leroy): ...enabled IME by default ( blender2.83 build ), is it normal? I do not know whether this is beneficial, Perhaps this is a good development, in earlier versions, conflict between IME and shortcuts by sometimes.

There really is no change on how IME is enabled. Before these change occurred, and after, IME is enabled if you select a language that supports IME. That really has not changed.

What has changed lately is just what font characters are available. It used to be that users with "English" selected as the language could not see any Chinese characters, for example. Now all international characters that we support are visible to all users regardless of the language they have selected. This means, for example, that an English user can get a script from another user that has comments in Japanese and it will be shown correctly. Any user can add text objects in the Devanagari alphabet.

Of course there might still be reasons why you might want to select Chinese but not enable IME, but that is not related to this patch. In that case though we would prefer to address the actual problems you are having with IME. Only if that is not possible then consider adding a separate selection for IME.

@Harley Acheson (harley) Trust me, I can't used IME like this in 2.82 release. Perhaps that's fine, need time to test.

@Harley Acheson (harley) Trust me, I can't used IME like this in 2.82 release. Perhaps that's fine, need time to test.

If IME is enabled while English is selected then submit a bug report. Although I thought there was a previous issue where IMEs are not turned off when changing from an IME language to a non-IME language? So starting blender with English worked fine, but changing to Chinese and then back to English left them on. Is this the case here?

@Harley Acheson (harley) Trust me, I can't used IME like this in 2.82 release. Perhaps that's fine, need time to test.

If IME is enabled while English is selected then submit a bug report. Although I thought there was a previous issue where IMEs are not turned off when changing from an IME language to a non-IME language? So starting blender with English worked fine, but changing to Chinese and then back to English left them on. Is this the case here?

Thanks for your reply. yeah,IME does not automatically turn off when you switch back to English. so I am meaning IME enabled by default(English), or starting blender with English. I just want to explain the new build edition( 2.73 ) is enabled IME by default. If it will make trouble, I will consider the report bug, Now I do not know it's good or bad, others may hope so. need time to prove. maybe all good if like this https://developer.blender.org/D6861