Thumbnails: Add translations to font preview.
Not much to say, this is pretty straightforward. We just have to add current locale to thumbnails 'signature', so that previews get re-generated when we change locale... Tested with Japanese and French. Btw, I do not really understand why using BLF in ImBuf is badlevel... :/
This commit is contained in:
parent
8a99dc2324
commit
f75bbe27e2
|
@ -45,6 +45,7 @@
|
|||
#include "blf_internal_types.h"
|
||||
|
||||
#include "BLF_api.h"
|
||||
#include "BLF_translation.h"
|
||||
|
||||
#include "BLI_strict_flags.h"
|
||||
|
||||
|
@ -97,7 +98,7 @@ void BLF_thumb_preview(
|
|||
|
||||
font->pos[1] -= font->glyph_cache->ascender * 1.1f;
|
||||
|
||||
blf_font_buffer(font, draw_str[i]);
|
||||
blf_font_buffer(font, BLF_translate_do(BLF_I18NCONTEXT_DEFAULT, draw_str[i]));
|
||||
}
|
||||
|
||||
blf_font_free(font);
|
||||
|
|
|
@ -82,6 +82,7 @@ void IMB_thumb_overlay_blend(unsigned int *thumb, int width, int height, float
|
|||
|
||||
/* special function for previewing fonts */
|
||||
ImBuf *IMB_thumb_load_font(const char *filename, unsigned int x, unsigned int y);
|
||||
const char *IMB_thumb_load_font_get_language(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -483,18 +483,22 @@ void IMB_thumb_delete(const char *path, ThumbSize size)
|
|||
|
||||
|
||||
/* create the thumb if necessary and manage failed and old thumbs */
|
||||
ImBuf *IMB_thumb_manage(const char *path, ThumbSize size, ThumbSource source)
|
||||
ImBuf *IMB_thumb_manage(const char *org_path, ThumbSize size, ThumbSource source)
|
||||
{
|
||||
char thumb_path[FILE_MAX];
|
||||
char thumb_name[40];
|
||||
char uri[URI_MAX];
|
||||
const char *file_path;
|
||||
const char *path;
|
||||
char path_buff[FILE_MAX];
|
||||
BLI_stat_t st;
|
||||
ImBuf *img = NULL;
|
||||
|
||||
file_path = path;
|
||||
UNUSED_VARS(path_buff);
|
||||
path = file_path = org_path;
|
||||
if (source == THB_SOURCE_FONT) {
|
||||
BLI_snprintf(path_buff, sizeof(path_buff), "%s.%s", org_path, IMB_thumb_load_font_get_language());
|
||||
path = path_buff;
|
||||
}
|
||||
|
||||
if (BLI_stat(file_path, &st) == -1) {
|
||||
return NULL;
|
||||
|
|
|
@ -34,18 +34,19 @@
|
|||
|
||||
/* XXX, bad level call */
|
||||
#include "../../blenfont/BLF_api.h"
|
||||
#include "../../blenfont/BLF_translation.h" /* 'N_' macro and BLF_lang_get()... */
|
||||
|
||||
|
||||
struct ImBuf *IMB_thumb_load_font(const char *filename, unsigned int x, unsigned int y)
|
||||
{
|
||||
const int font_size = y / 4;
|
||||
const char *thumb_str[] = {
|
||||
"AaBbCc",
|
||||
N_("AaBbCc"),
|
||||
|
||||
"The quick",
|
||||
"brown fox",
|
||||
"jumps over",
|
||||
"the lazy dog",
|
||||
N_("The quick"),
|
||||
N_("brown fox"),
|
||||
N_("jumps over"),
|
||||
N_("the lazy dog"),
|
||||
};
|
||||
|
||||
struct ImBuf *ibuf;
|
||||
|
@ -71,3 +72,7 @@ struct ImBuf *IMB_thumb_load_font(const char *filename, unsigned int x, unsigned
|
|||
return ibuf;
|
||||
}
|
||||
|
||||
const char *IMB_thumb_load_font_get_language(void)
|
||||
{
|
||||
return BLF_lang_get();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue