diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-12-01 08:57:52 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-12-01 08:58:47 +0300 |
commit | 6783c673e6457399ef2cb0c5ee65fcfe8a1d07f0 (patch) | |
tree | 9ad10d786f13c82d8bedad9d90f90238765a0f49 | |
parent | 0b1b7746745a75ca04f698cc1c2a9636c1f65576 (diff) |
UI: mono-space font user preference
-rw-r--r-- | release/scripts/startup/bl_ui/space_userpref.py | 1 | ||||
-rw-r--r-- | source/blender/editors/interface/interface_style.c | 14 | ||||
-rw-r--r-- | source/blender/makesdna/DNA_userdef_types.h | 1 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_userdef.c | 5 |
4 files changed, 18 insertions, 3 deletions
diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index d8b033b94e3..70cfec9c9b3 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -527,6 +527,7 @@ class USERPREF_PT_system(Panel): column.separator() column.prop(system, "font_path_ui") + column.prop(system, "font_path_ui_mono") if bpy.app.build_options.international: column.prop(system, "use_international_fonts") diff --git a/source/blender/editors/interface/interface_style.c b/source/blender/editors/interface/interface_style.c index 25a187c43ad..6ce29242cbb 100644 --- a/source/blender/editors/interface/interface_style.c +++ b/source/blender/editors/interface/interface_style.c @@ -410,6 +410,11 @@ void uiStyleInit(void) BLF_unload_id(font->blf_id); } + if (blf_mono_font != -1) { + BLF_unload_id(blf_mono_font); + blf_mono_font = -1; + } + font = U.uifonts.first; /* default builtin */ @@ -498,14 +503,17 @@ void uiStyleInit(void) } /* reload */ - BLF_unload("monospace"); - blf_mono_font = -1; blf_mono_font_render = -1; #endif /* XXX, this should be moved into a style, but for now best only load the monospaced font once. */ - if (blf_mono_font == -1) + BLI_assert(blf_mono_font == -1); + if (U.font_path_ui_mono[0]) { + blf_mono_font = BLF_load_unique(U.font_path_ui_mono); + } + if (blf_mono_font == -1) { blf_mono_font = BLF_load_mem_unique("monospace", monofont_ttf, monofont_size); + } BLF_size(blf_mono_font, 12 * U.pixelsize, 72); diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 4beeaa8bc3f..f0b8e04821a 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -545,6 +545,7 @@ typedef struct UserDef { char author[80]; /* author name for file formats supporting it */ char font_path_ui[1024]; + char font_path_ui_mono[1024]; int compute_device_type; int compute_device_id; diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 90202a62d8b..34768cfe3d0 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -4000,6 +4000,11 @@ static void rna_def_userdef_system(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Interface Font", "Path to interface font"); RNA_def_property_update(prop, NC_WINDOW, "rna_userdef_language_update"); + prop = RNA_def_property(srna, "font_path_ui_mono", PROP_STRING, PROP_FILEPATH); + RNA_def_property_string_sdna(prop, NULL, "font_path_ui_mono"); + RNA_def_property_ui_text(prop, "Monospace Font", "Path to interface monospace Font"); + RNA_def_property_update(prop, NC_WINDOW, "rna_userdef_language_update"); + prop = RNA_def_property(srna, "scrollback", PROP_INT, PROP_UNSIGNED); RNA_def_property_int_sdna(prop, NULL, "scrollback"); RNA_def_property_range(prop, 32, 32768); |