BLF: New Font Stack for Better Language Coverage

Replace our existing two fonts with a stack of new fonts to increase
and improve language coverage and to add many new symbols and icons.
Covers glyphs of top 44 languages - 1.5 billion more potential users.

See D10887 for lots of details.

Differential Revision: https://developer.blender.org/D10887

Reviewed by Brecht Van Lommel
This commit is contained in:
Harley Acheson 2022-07-28 20:09:20 -07:00
parent c0845abd89
commit e9bd6abde3
Notes: blender-bot 2024-01-02 12:54:53 +01:00
Referenced by issue #101506, UI: Font: decreased readability because of less spacing
Referenced by issue #96809, Request for Telugu Translation of Blender
Referenced by issue #89713, Add Language Glyphs to Fonts
Referenced by issue #87140, [Windows Store] No preview thumbnail for blend files.
Referenced by issue #85990, Blender doesn't support writing Bangla.
Referenced by issue #51283, Add eastern languages input to Blender
Referenced by issue #96809, Request for Telugu Translation of Blender
Referenced by issue #96809, Request for Telugu Translation of Blender
Referenced by issue #116706, Unicode character U+0525 not found in loaded fonts.
29 changed files with 6 additions and 2 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -18,10 +18,10 @@ extern "C" {
#define BLF_DATAFILES_FONTS_DIR "fonts"
/* File name of the default variable-width font. */
#define BLF_DEFAULT_PROPORTIONAL_FONT "droidsans.ttf"
#define BLF_DEFAULT_PROPORTIONAL_FONT "DejaVuSans.woff2"
/* File name of the default fixed-pitch font. */
#define BLF_DEFAULT_MONOSPACED_FONT "bmonofont-i18n.ttf"
#define BLF_DEFAULT_MONOSPACED_FONT "DejaVuSansMono.woff2"
/* enable this only if needed (unused circa 2016) */
#define BLF_BLUR_ENABLE 0

View File

@ -594,6 +594,10 @@ static FT_UInt blf_glyph_index_from_charcode(FontBLF **font, const uint charcode
}
}
#ifdef DEBUG
printf("Unicode character U+%04X not found in loaded fonts. \n", charcode);
#endif
/* Not found in the stack, return from Last Resort if there is one. */
if (last_resort && blf_ensure_face(last_resort)) {
glyph_index = FT_Get_Char_Index(last_resort->face, charcode);