Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2018-07-31 09:05:31 +0300
committerCampbell Barton <ideasman42@gmail.com>2018-07-31 09:19:00 +0300
commit18888b7b0c3556d3a2177fe7693fda02bf2a8cb5 (patch)
treef806329f9877330330d485d976b9bea81b758b87 /source
parent1195a4a040ba8ecffd3221f5aa38c7be5272124b (diff)
UI: use text hinting (now user preference)
D3201 by @ambient w/ edits not to impact fonts used for rendering (only change display for UI text).
Diffstat (limited to 'source')
-rw-r--r--source/blender/editors/interface/interface_style.c22
-rw-r--r--source/blender/makesdna/DNA_userdef_types.h3
-rw-r--r--source/blender/makesrna/intern/rna_userdef.c6
3 files changed, 30 insertions, 1 deletions
diff --git a/source/blender/editors/interface/interface_style.c b/source/blender/editors/interface/interface_style.c
index eabc5150424..9a09ae67601 100644
--- a/source/blender/editors/interface/interface_style.c
+++ b/source/blender/editors/interface/interface_style.c
@@ -521,6 +521,28 @@ void uiStyleInit(void)
BLF_size(blf_mono_font, 12 * U.pixelsize, 72);
+ /* Set default flags based on UI preferences (not render fonts) */
+ {
+ int flag_enable = 0, flag_disable = 0;
+ if ((U.text_render & USER_TEXT_DISABLE_HINTING) == 0) {
+ flag_enable |= BLF_HINTING;
+ }
+ else {
+ flag_disable |= BLF_HINTING;
+ }
+
+ for (font = U.uifonts.first; font; font = font->next) {
+ if (font->blf_id != -1) {
+ BLF_enable(font->blf_id, flag_enable);
+ BLF_disable(font->blf_id, flag_disable);
+ }
+ }
+ if (blf_mono_font != -1) {
+ BLF_enable(blf_mono_font, flag_enable);
+ BLF_disable(blf_mono_font, flag_disable);
+ }
+ }
+
/**
* Second for rendering else we get threading problems,
*
diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h
index 2d52c1a67de..6f0f97261ee 100644
--- a/source/blender/makesdna/DNA_userdef_types.h
+++ b/source/blender/makesdna/DNA_userdef_types.h
@@ -804,7 +804,8 @@ typedef enum eWM_DrawMethod {
/* text draw options
* UserDef.text_render */
typedef enum eText_Draw_Options {
- USER_TEXT_DISABLE_AA = (1 << 0),
+ USER_TEXT_DISABLE_AA = (1 << 0),
+ USER_TEXT_DISABLE_HINTING = (1 << 1),
} eText_Draw_Options;
/* tw_flag (transform widget) */
diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c
index 487f62cdfe6..739303e20ea 100644
--- a/source/blender/makesrna/intern/rna_userdef.c
+++ b/source/blender/makesrna/intern/rna_userdef.c
@@ -447,6 +447,7 @@ static void rna_userdef_temp_update(Main *UNUSED(bmain), Scene *UNUSED(scene), P
static void rna_userdef_text_update(Main *UNUSED(bmain), Scene *UNUSED(scene), PointerRNA *UNUSED(ptr))
{
BLF_cache_clear();
+ UI_reinit_font();
WM_main_add_notifier(NC_WINDOW, NULL);
}
@@ -4212,6 +4213,11 @@ static void rna_def_userdef_system(BlenderRNA *brna)
RNA_def_property_ui_text(prop, "Text Anti-aliasing", "Draw user interface text anti-aliased");
RNA_def_property_update(prop, 0, "rna_userdef_text_antialiasing_update");
+ prop = RNA_def_property(srna, "use_text_hinting", PROP_BOOLEAN, PROP_NONE);
+ RNA_def_property_boolean_negative_sdna(prop, NULL, "text_render", USER_TEXT_DISABLE_HINTING);
+ RNA_def_property_ui_text(prop, "Text Hinting", "Draw user interface text with hinting");
+ RNA_def_property_update(prop, 0, "rna_userdef_text_update");
+
prop = RNA_def_property(srna, "select_method", PROP_ENUM, PROP_NONE);
RNA_def_property_enum_sdna(prop, NULL, "gpu_select_method");
RNA_def_property_enum_items(prop, gpu_select_method_items);